ffi-gdal 1.0.0.beta7 → 1.0.0.beta12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +21 -20
  3. data/.rubocop.yml +54 -19
  4. data/.rubocop_todo.yml +65 -0
  5. data/.ruby-version +1 -1
  6. data/Gemfile +2 -0
  7. data/History.md +45 -0
  8. data/README.md +5 -0
  9. data/Rakefile +11 -1
  10. data/examples/extract_and_colorize.rb +7 -10
  11. data/examples/geometries.rb +68 -1
  12. data/examples/gridding.rb +2 -0
  13. data/examples/ogr_layer_to_layer.rb +2 -0
  14. data/examples/raster_erasing.rb +15 -8
  15. data/examples/remove_small_polygons.rb +2 -0
  16. data/examples/testing_gdal.rb +9 -2
  17. data/examples/warping.rb +23 -5
  18. data/ffi-gdal.gemspec +7 -4
  19. data/lib/ext/error_symbols.rb +2 -0
  20. data/lib/ext/ffi_library_function_checks.rb +2 -0
  21. data/lib/ext/float_ext.rb +2 -0
  22. data/lib/ext/narray_ext.rb +2 -0
  23. data/lib/ext/numeric_as_data_type.rb +2 -0
  24. data/lib/ext/to_bool.rb +5 -3
  25. data/lib/ffi-gdal.rb +2 -0
  26. data/lib/ffi/cpl.rb +2 -0
  27. data/lib/ffi/cpl/conv.rb +4 -2
  28. data/lib/ffi/cpl/error.rb +2 -0
  29. data/lib/ffi/cpl/hash_set.rb +2 -0
  30. data/lib/ffi/cpl/http.rb +2 -0
  31. data/lib/ffi/cpl/http_result.rb +2 -0
  32. data/lib/ffi/cpl/list.rb +2 -0
  33. data/lib/ffi/cpl/mime_part.rb +2 -0
  34. data/lib/ffi/cpl/minixml.rb +2 -0
  35. data/lib/ffi/cpl/port.rb +2 -0
  36. data/lib/ffi/cpl/progress.rb +2 -0
  37. data/lib/ffi/cpl/quad_tree.rb +2 -0
  38. data/lib/ffi/cpl/rect_obj.rb +2 -0
  39. data/lib/ffi/cpl/string.rb +2 -0
  40. data/lib/ffi/cpl/vsi.rb +2 -0
  41. data/lib/ffi/cpl/xml_node.rb +2 -0
  42. data/lib/ffi/gdal.rb +3 -3
  43. data/lib/ffi/gdal/alg.rb +2 -0
  44. data/lib/ffi/gdal/color_entry.rb +2 -0
  45. data/lib/ffi/gdal/exceptions.rb +2 -0
  46. data/lib/ffi/gdal/gcp.rb +2 -0
  47. data/lib/ffi/gdal/gdal.rb +2 -0
  48. data/lib/ffi/gdal/grid.rb +2 -0
  49. data/lib/ffi/gdal/grid_data_metrics_options.rb +2 -0
  50. data/lib/ffi/gdal/grid_inverse_distance_to_a_power_options.rb +2 -0
  51. data/lib/ffi/gdal/grid_moving_average_options.rb +2 -0
  52. data/lib/ffi/gdal/grid_nearest_neighbor_options.rb +2 -0
  53. data/lib/ffi/gdal/matching.rb +2 -0
  54. data/lib/ffi/gdal/rpc_info.rb +2 -0
  55. data/lib/ffi/gdal/transformer_info.rb +2 -0
  56. data/lib/ffi/gdal/version.rb +3 -1
  57. data/lib/ffi/gdal/vrt.rb +2 -0
  58. data/lib/ffi/gdal/warp_options.rb +2 -11
  59. data/lib/ffi/gdal/warper.rb +2 -0
  60. data/lib/ffi/ogr.rb +2 -0
  61. data/lib/ffi/ogr/api.rb +4 -0
  62. data/lib/ffi/ogr/contour_writer_info.rb +2 -0
  63. data/lib/ffi/ogr/core.rb +3 -0
  64. data/lib/ffi/ogr/envelope.rb +2 -0
  65. data/lib/ffi/ogr/envelope_3d.rb +2 -0
  66. data/lib/ffi/ogr/featurestyle.rb +2 -0
  67. data/lib/ffi/ogr/field.rb +2 -0
  68. data/lib/ffi/ogr/geocoding.rb +2 -0
  69. data/lib/ffi/ogr/srs_api.rb +6 -1
  70. data/lib/ffi/ogr/style_param.rb +2 -0
  71. data/lib/ffi/ogr/style_value.rb +2 -0
  72. data/lib/gdal.rb +3 -0
  73. data/lib/gdal/color_entry.rb +2 -0
  74. data/lib/gdal/color_entry_mixins/extensions.rb +2 -0
  75. data/lib/gdal/color_interpretation.rb +2 -0
  76. data/lib/gdal/color_table.rb +2 -0
  77. data/lib/gdal/color_table_mixins/extensions.rb +3 -3
  78. data/lib/gdal/color_table_types/cmyk.rb +2 -0
  79. data/lib/gdal/color_table_types/gray.rb +2 -0
  80. data/lib/gdal/color_table_types/hls.rb +2 -0
  81. data/lib/gdal/color_table_types/rgb.rb +2 -0
  82. data/lib/gdal/cpl_error_handler.rb +2 -0
  83. data/lib/gdal/data_type.rb +2 -0
  84. data/lib/gdal/dataset.rb +11 -7
  85. data/lib/gdal/dataset_mixins/algorithm_methods.rb +5 -2
  86. data/lib/gdal/dataset_mixins/extensions.rb +5 -5
  87. data/lib/gdal/dataset_mixins/matching.rb +4 -1
  88. data/lib/gdal/dataset_mixins/warp_methods.rb +3 -1
  89. data/lib/gdal/driver.rb +6 -8
  90. data/lib/gdal/driver_mixins/extensions.rb +2 -0
  91. data/lib/gdal/environment_methods.rb +2 -0
  92. data/lib/gdal/exceptions.rb +2 -0
  93. data/lib/gdal/geo_transform.rb +3 -3
  94. data/lib/gdal/geo_transform_mixins/extensions.rb +2 -0
  95. data/lib/gdal/grid.rb +2 -0
  96. data/lib/gdal/grid_algorithms.rb +2 -0
  97. data/lib/gdal/grid_algorithms/data_metrics_base.rb +2 -0
  98. data/lib/gdal/grid_algorithms/inverse_distance_to_a_power.rb +2 -0
  99. data/lib/gdal/grid_algorithms/metric_average_distance.rb +2 -0
  100. data/lib/gdal/grid_algorithms/metric_average_distance_pts.rb +2 -0
  101. data/lib/gdal/grid_algorithms/metric_count.rb +2 -0
  102. data/lib/gdal/grid_algorithms/metric_maximum.rb +2 -0
  103. data/lib/gdal/grid_algorithms/metric_minimum.rb +2 -0
  104. data/lib/gdal/grid_algorithms/metric_range.rb +2 -0
  105. data/lib/gdal/grid_algorithms/moving_average.rb +2 -0
  106. data/lib/gdal/grid_algorithms/nearest_neighbor.rb +2 -0
  107. data/lib/gdal/gridder.rb +4 -1
  108. data/lib/gdal/gridder/point_extracting.rb +2 -0
  109. data/lib/gdal/gridder_options.rb +2 -0
  110. data/lib/gdal/internal_helpers.rb +3 -4
  111. data/lib/gdal/logger.rb +2 -0
  112. data/lib/gdal/major_object.rb +2 -5
  113. data/lib/gdal/merger.rb +2 -0
  114. data/lib/gdal/options.rb +2 -0
  115. data/lib/gdal/raster_attribute_table.rb +2 -0
  116. data/lib/gdal/raster_attribute_table_mixins/extensions.rb +3 -1
  117. data/lib/gdal/raster_band.rb +6 -3
  118. data/lib/gdal/raster_band_classifier.rb +55 -21
  119. data/lib/gdal/raster_band_mixins/algorithm_extensions.rb +2 -0
  120. data/lib/gdal/raster_band_mixins/algorithm_methods.rb +12 -5
  121. data/lib/gdal/raster_band_mixins/coloring_extensions.rb +3 -1
  122. data/lib/gdal/raster_band_mixins/extensions.rb +6 -0
  123. data/lib/gdal/raster_band_mixins/io_extensions.rb +3 -1
  124. data/lib/gdal/rpc_info.rb +2 -0
  125. data/lib/gdal/transformer.rb +2 -0
  126. data/lib/gdal/transformers/approximate_transformer.rb +4 -1
  127. data/lib/gdal/transformers/base_general_image_projection_transformer.rb +4 -1
  128. data/lib/gdal/transformers/gcp_transformer.rb +6 -2
  129. data/lib/gdal/transformers/general_image_projection_transformer.rb +2 -0
  130. data/lib/gdal/transformers/general_image_projection_transformer2.rb +4 -1
  131. data/lib/gdal/transformers/general_image_projection_transformer3.rb +4 -1
  132. data/lib/gdal/transformers/geolocation_transformer.rb +4 -1
  133. data/lib/gdal/transformers/reprojection_transformer.rb +2 -0
  134. data/lib/gdal/transformers/rpc_transformer.rb +4 -1
  135. data/lib/gdal/transformers/tps_transformer.rb +2 -0
  136. data/lib/gdal/version_info.rb +9 -7
  137. data/lib/gdal/virtual_dataset.rb +2 -0
  138. data/lib/gdal/warp_operation.rb +2 -0
  139. data/lib/gdal/warp_options.rb +6 -0
  140. data/lib/ogr.rb +2 -0
  141. data/lib/ogr/coordinate_transformation.rb +2 -0
  142. data/lib/ogr/data_source.rb +5 -9
  143. data/lib/ogr/data_source_extensions.rb +2 -0
  144. data/lib/ogr/data_source_mixins/capability_methods.rb +2 -0
  145. data/lib/ogr/driver.rb +4 -6
  146. data/lib/ogr/driver_mixins/capability_methods.rb +2 -0
  147. data/lib/ogr/envelope.rb +4 -2
  148. data/lib/ogr/envelope_extensions.rb +2 -0
  149. data/lib/ogr/error_handling.rb +3 -1
  150. data/lib/ogr/exceptions.rb +3 -1
  151. data/lib/ogr/feature.rb +17 -9
  152. data/lib/ogr/feature_definition.rb +7 -4
  153. data/lib/ogr/feature_definition_extensions.rb +2 -0
  154. data/lib/ogr/feature_extensions.rb +2 -0
  155. data/lib/ogr/field.rb +5 -1
  156. data/lib/ogr/field_definition.rb +5 -3
  157. data/lib/ogr/geocoder.rb +2 -0
  158. data/lib/ogr/geometries/geometry_collection.rb +2 -0
  159. data/lib/ogr/geometries/geometry_collection_25d.rb +2 -0
  160. data/lib/ogr/geometries/line_string.rb +2 -1
  161. data/lib/ogr/geometries/line_string_25d.rb +2 -0
  162. data/lib/ogr/geometries/linear_ring.rb +2 -0
  163. data/lib/ogr/geometries/multi_line_string.rb +2 -0
  164. data/lib/ogr/geometries/multi_line_string_25d.rb +2 -0
  165. data/lib/ogr/geometries/multi_point.rb +2 -0
  166. data/lib/ogr/geometries/multi_point_25d.rb +2 -0
  167. data/lib/ogr/geometries/multi_polygon.rb +2 -0
  168. data/lib/ogr/geometries/multi_polygon_25d.rb +2 -0
  169. data/lib/ogr/geometries/none_geometry.rb +2 -0
  170. data/lib/ogr/geometries/point.rb +2 -0
  171. data/lib/ogr/geometries/point_25d.rb +2 -0
  172. data/lib/ogr/geometries/polygon.rb +2 -0
  173. data/lib/ogr/geometries/polygon_25d.rb +2 -0
  174. data/lib/ogr/geometries/unknown_geometry.rb +2 -0
  175. data/lib/ogr/geometry.rb +3 -3
  176. data/lib/ogr/geometry_field_definition.rb +4 -1
  177. data/lib/ogr/geometry_mixins/container_mixins.rb +2 -0
  178. data/lib/ogr/geometry_mixins/extensions.rb +10 -10
  179. data/lib/ogr/geometry_types/container.rb +2 -0
  180. data/lib/ogr/geometry_types/curve.rb +2 -0
  181. data/lib/ogr/geometry_types/surface.rb +2 -0
  182. data/lib/ogr/internal_helpers.rb +2 -0
  183. data/lib/ogr/layer.rb +2 -0
  184. data/lib/ogr/layer_mixins/capability_methods.rb +2 -0
  185. data/lib/ogr/layer_mixins/extensions.rb +8 -2
  186. data/lib/ogr/layer_mixins/ogr_feature_methods.rb +6 -12
  187. data/lib/ogr/layer_mixins/ogr_field_methods.rb +10 -14
  188. data/lib/ogr/layer_mixins/ogr_layer_method_methods.rb +2 -0
  189. data/lib/ogr/layer_mixins/ogr_query_filter_methods.rb +8 -3
  190. data/lib/ogr/layer_mixins/ogr_sql_methods.rb +3 -3
  191. data/lib/ogr/spatial_reference.rb +2 -0
  192. data/lib/ogr/spatial_reference_extensions.rb +2 -0
  193. data/lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb +12 -5
  194. data/lib/ogr/spatial_reference_mixins/exporters.rb +5 -3
  195. data/lib/ogr/spatial_reference_mixins/importers.rb +6 -2
  196. data/lib/ogr/spatial_reference_mixins/morphers.rb +2 -0
  197. data/lib/ogr/spatial_reference_mixins/parameter_getter_setters.rb +2 -0
  198. data/lib/ogr/spatial_reference_mixins/type_checks.rb +2 -0
  199. data/lib/ogr/style_table.rb +2 -0
  200. data/lib/ogr/style_table_extensions.rb +2 -0
  201. data/lib/ogr/style_tool.rb +2 -0
  202. data/spec/ffi-gdal_spec.rb +2 -0
  203. data/spec/integration/gdal/color_table_info_spec.rb +2 -0
  204. data/spec/integration/gdal/dataset_info_spec.rb +15 -13
  205. data/spec/integration/gdal/driver_info_spec.rb +4 -2
  206. data/spec/integration/gdal/geo_transform_info_spec.rb +2 -0
  207. data/spec/integration/gdal/gridder_spec.rb +2 -0
  208. data/spec/integration/gdal/raster_attribute_table_info_spec.rb +2 -0
  209. data/spec/integration/gdal/raster_band_algorithms_spec.rb +2 -0
  210. data/spec/integration/gdal/raster_band_info_spec.rb +10 -10
  211. data/spec/integration/ogr/layer_spec.rb +2 -0
  212. data/spec/spec_helper.rb +3 -1
  213. data/spec/support/integration_help.rb +2 -0
  214. data/spec/support/shared_contexts.rb +2 -0
  215. data/spec/support/shared_examples/gdal/major_object_examples.rb +2 -9
  216. data/spec/support/shared_examples/ogr/{a_25D_geometry.rb → a_25d_geometry.rb} +2 -0
  217. data/spec/support/shared_examples/ogr/a_container_geometry.rb +2 -0
  218. data/spec/support/shared_examples/ogr/a_geometry.rb +3 -1
  219. data/spec/support/shared_examples/ogr/a_line_string.rb +2 -0
  220. data/spec/unit/ext/error_symbols_spec.rb +2 -0
  221. data/spec/unit/ext/numeric_as_data_type_spec.rb +2 -0
  222. data/spec/unit/ffi/gdal_spec.rb +2 -0
  223. data/spec/unit/gdal/color_entry_spec.rb +2 -0
  224. data/spec/unit/gdal/color_interpretation_spec.rb +2 -0
  225. data/spec/unit/gdal/color_table_mixins/extensions_spec.rb +2 -0
  226. data/spec/unit/gdal/color_table_spec.rb +2 -0
  227. data/spec/unit/gdal/data_type_spec.rb +2 -0
  228. data/spec/unit/gdal/dataset_mixins/warp_methods_spec.rb +4 -1
  229. data/spec/unit/gdal/dataset_spec.rb +2 -0
  230. data/spec/unit/gdal/driver_mixins/extensions_spec.rb +2 -0
  231. data/spec/unit/gdal/driver_spec.rb +2 -0
  232. data/spec/unit/gdal/environment_methods_spec.rb +2 -0
  233. data/spec/unit/gdal/geo_transform_mixins/extensions_spec.rb +2 -0
  234. data/spec/unit/gdal/geo_transform_spec.rb +2 -0
  235. data/spec/unit/gdal/grid_spec.rb +2 -0
  236. data/spec/unit/gdal/gridder/point_extracting_spec.rb +2 -0
  237. data/spec/unit/gdal/gridder_options_spec.rb +2 -0
  238. data/spec/unit/gdal/gridder_spec.rb +2 -0
  239. data/spec/unit/gdal/internal_helpers_spec.rb +2 -0
  240. data/spec/unit/gdal/major_object_spec.rb +2 -0
  241. data/spec/unit/gdal/options_spec.rb +2 -0
  242. data/spec/unit/gdal/raster_attribute_table_spec.rb +2 -0
  243. data/spec/unit/gdal/raster_band_classifier_spec.rb +43 -5
  244. data/spec/unit/gdal/raster_band_mixins/extensions_spec.rb +2 -0
  245. data/spec/unit/gdal/raster_band_mixins/io_extensions_spec.rb +2 -0
  246. data/spec/unit/gdal/raster_band_spec.rb +2 -0
  247. data/spec/unit/gdal/rpc_info_spec.rb +2 -0
  248. data/spec/unit/gdal/version_info_spec.rb +2 -0
  249. data/spec/unit/gdal/virtual_dataset_spec.rb +2 -0
  250. data/spec/unit/gdal/warp_operation_spec.rb +2 -0
  251. data/spec/unit/gdal/warp_options_spec.rb +2 -0
  252. data/spec/unit/ogr/coordinate_transformation_spec.rb +2 -0
  253. data/spec/unit/ogr/data_source_mixins/capability_methods_spec.rb +3 -1
  254. data/spec/unit/ogr/data_source_spec.rb +2 -0
  255. data/spec/unit/ogr/driver_mixins/capability_methods_spec.rb +2 -0
  256. data/spec/unit/ogr/driver_spec.rb +3 -1
  257. data/spec/unit/ogr/envelope_spec.rb +2 -0
  258. data/spec/unit/ogr/feature_definition_spec.rb +2 -0
  259. data/spec/unit/ogr/feature_extensions_spec.rb +2 -0
  260. data/spec/unit/ogr/feature_spec.rb +7 -7
  261. data/spec/unit/ogr/field_definition_spec.rb +2 -0
  262. data/spec/unit/ogr/field_spec.rb +3 -1
  263. data/spec/unit/ogr/geometries/geometry_collection_25d_spec.rb +2 -0
  264. data/spec/unit/ogr/geometries/geometry_collection_spec.rb +2 -0
  265. data/spec/unit/ogr/geometries/line_string_25d_spec.rb +2 -0
  266. data/spec/unit/ogr/geometries/line_string_spec.rb +2 -0
  267. data/spec/unit/ogr/geometries/linear_ring_spec.rb +2 -0
  268. data/spec/unit/ogr/geometries/multi_line_string_25d_spec.rb +2 -0
  269. data/spec/unit/ogr/geometries/multi_line_string_spec.rb +2 -0
  270. data/spec/unit/ogr/geometries/multi_point_25d_spec.rb +2 -0
  271. data/spec/unit/ogr/geometries/multi_point_spec.rb +2 -0
  272. data/spec/unit/ogr/geometries/multi_polygon_25d_spec.rb +2 -0
  273. data/spec/unit/ogr/geometries/multi_polygon_spec.rb +2 -0
  274. data/spec/unit/ogr/geometries/none_geometry_spec.rb +2 -0
  275. data/spec/unit/ogr/geometries/point_25d_spec.rb +2 -0
  276. data/spec/unit/ogr/geometries/point_spec.rb +5 -3
  277. data/spec/unit/ogr/geometries/polygon_25d_spec.rb +2 -0
  278. data/spec/unit/ogr/geometries/polygon_spec.rb +2 -0
  279. data/spec/unit/ogr/geometries/unknown_geometry_spec.rb +2 -0
  280. data/spec/unit/ogr/geometry_field_definition_spec.rb +2 -0
  281. data/spec/unit/ogr/geometry_spec.rb +4 -1
  282. data/spec/unit/ogr/internal_helpers_spec.rb +2 -0
  283. data/spec/unit/ogr/layer_mixins/capability_methods_spec.rb +3 -1
  284. data/spec/unit/ogr/layer_mixins/ogr_feature_methods_spec.rb +2 -0
  285. data/spec/unit/ogr/layer_mixins/ogr_field_methods_spec.rb +2 -0
  286. data/spec/unit/ogr/layer_mixins/ogr_layer_method_methods_spec.rb +2 -0
  287. data/spec/unit/ogr/layer_mixins/ogr_query_filter_methods_spec.rb +2 -0
  288. data/spec/unit/ogr/layer_mixins/ogr_sql_methods_spec.rb +2 -0
  289. data/spec/unit/ogr/layer_spec.rb +2 -0
  290. data/spec/unit/ogr/spatial_reference_mixins/coordinate_system_getter_setters_spec.rb +2 -0
  291. data/spec/unit/ogr/spatial_reference_mixins/exporters_spec.rb +19 -15
  292. data/spec/unit/ogr/spatial_reference_mixins/importers_spec.rb +2 -0
  293. data/spec/unit/ogr/spatial_reference_mixins/morphers_spec.rb +9 -7
  294. data/spec/unit/ogr/spatial_reference_mixins/parameter_getter_setters_spec.rb +2 -0
  295. data/spec/unit/ogr/spatial_reference_mixins/type_checks_spec.rb +2 -0
  296. data/spec/unit/ogr/spatial_reference_spec.rb +4 -2
  297. data/spec/unit/ogr/style_table_spec.rb +2 -0
  298. data/spec/unit/ogr/style_tool_spec.rb +2 -0
  299. data/spec/unit/version_info_spec.rb +2 -0
  300. metadata +44 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d67e9f4bf5c35dd5b8fd8bc6661eb1e4d6d3ae26
4
- data.tar.gz: bc17e333a2f17d7da911db39cdbfd7494dc620d2
2
+ SHA256:
3
+ metadata.gz: cc64c019c4788ab096e473970c65eb1b029766810a9383d8790d55ea12aa83b0
4
+ data.tar.gz: 7b20ce76aed3a133996e1c7fcd72dc1b6285ce9dbba37041710ee6f25e63eb8a
5
5
  SHA512:
6
- metadata.gz: d6014e176cca5ba88ba825f4eaa2cc41f0117b70c402a622606e463ab21aa3c2a1d41b207edb0e5d1223ecfb95c7644d3a612d6ae265d680f737bd35a5104102
7
- data.tar.gz: d88dd91735e49e182793c2bee36b78ab79dc761bec8ac89cecd01e453afb1f4ac30e5124025fcf474f9fae27e92043355981d2994c9123993c2de6e3b13421bd
6
+ metadata.gz: 2aa9515c30fe4ce19a8776b8347265bef5d308a705c8bbe944b1a3cc1c9972b895c14ce108d3337f8e874566b12a153d732e41c3994108d5f2429166ce1cc06f
7
+ data.tar.gz: 283356042e8bc70d17caa1a59f2fe5238c9884e1d007a21729f5961111d122ac966c0c6e9f8f08e0df298cf9c43fdf79ece7617ee02dc175a050dd1b9e80d3e0
data/.gitignore CHANGED
@@ -1,38 +1,39 @@
1
+ *.a
2
+ *.bundle
3
+ *.dbf
1
4
  *.gem
5
+ *.o
2
6
  *.rbc
7
+ *.shx
8
+ *.so
9
+ *.sqlite
10
+ *.swp
11
+ *.xml
12
+ *.xsd
13
+
3
14
  .bundle
15
+ .byebug_history
4
16
  .config
17
+ .idea/
18
+ .rake_tasks
19
+ .tags
5
20
  .yardoc
21
+
6
22
  Gemfile.lock
7
23
  InstalledFiles
8
24
  _yardoc
9
25
  coverage
10
26
  doc/
11
27
  lib/bundler/man
28
+ mkmf.log
29
+ open-datasets-dump
12
30
  pkg
13
31
  rdoc
32
+ spec/examples.txt
14
33
  spec/reports
34
+ tags
15
35
  test/tmp
16
36
  test/version_tmp
17
37
  tmp/*
18
- *.bundle
19
- *.so
20
- *.o
21
- *.a
22
- mkmf.log
23
- .idea/
24
- tags
25
- *.sqlite
26
- vendor/bundle
27
- *.xml
28
- *.dbf
29
- *.shx
30
- .rake_tasks
31
38
  valgrind_output.log
32
- *.xsd
33
-
34
- *.swp
35
-
36
- .byebug_history
37
-
38
- .tags
39
+ vendor/bundle
data/.rubocop.yml CHANGED
@@ -1,17 +1,47 @@
1
- Metrics/ClassLength:
2
- Max: 300
1
+ ---
2
+ inherit_from: .rubocop_todo.yml
3
+
4
+ Layout/AlignParameters:
5
+ EnforcedStyle: with_fixed_indentation
6
+
7
+ Layout/DotPosition:
8
+ EnforcedStyle: trailing
9
+
10
+ Lint/UselessAssignment:
11
+ Exclude:
12
+ - examples/geometries.rb
13
+ - examples/testing_gdal.rb
14
+
15
+ Metrics/BlockLength:
16
+ Exclude:
17
+ - spec/**/*_spec.rb
18
+ - spec/support/shared_examples/**/*.rb
19
+
20
+ # Commenting out until .rubocop_todo things are fixed.
21
+ # Metrics/ClassLength:
22
+ # Max: 300
3
23
 
4
24
  Metrics/LineLength:
5
25
  Max: 120
6
26
 
7
- Metrics/MethodLength:
8
- Max: 20
27
+ # Commenting out until .rubocop_todo things are fixed.
28
+ # Metrics/MethodLength:
29
+ # Max: 20
30
+
31
+ Metrics/ModuleLength:
32
+ Exclude:
33
+ - lib/ffi/gdal/alg.rb
34
+ - lib/ffi/gdal/gdal.rb
35
+ - lib/ffi/ogr/api.rb
36
+ - lib/ffi/ogr/srs_api.rb
37
+ Max: 300
9
38
 
10
39
  Metrics/ParameterLists:
11
40
  Exclude:
12
41
  - lib/gdal/dataset.rb
13
42
  - lib/gdal/dataset_mixins/algorithm_methods.rb
14
43
  - lib/gdal/dataset_mixins/extensions.rb
44
+ - lib/gdal/dataset_mixins/warp_methods.rb
15
45
  - lib/gdal/driver.rb
16
46
  - lib/gdal/raster_band.rb
17
47
  - lib/gdal/raster_band_mixins/algorithm_methods.rb
@@ -20,28 +50,37 @@ Metrics/ParameterLists:
20
50
  - lib/gdal/warp_operation.rb
21
51
  - lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb
22
52
 
23
- Style/AccessorMethodName:
53
+ Naming/AccessorMethodName:
24
54
  Exclude:
25
55
  - lib/ogr/layer_mixins/ogr_field_methods.rb
26
56
  - lib/ogr/layer_mixins/ogr_query_filter_methods.rb
27
57
  - lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb
28
58
 
29
- Style/AlignParameters:
30
- EnforcedStyle: with_fixed_indentation
59
+ Naming/FileName:
60
+ Exclude:
61
+ - Rakefile
62
+ - lib/ffi-gdal.rb
63
+ - spec/ffi-gdal_spec.rb
64
+
65
+ Naming/PredicateName:
66
+ Exclude:
67
+ - lib/ogr/geometry_mixins/extensions.rb
68
+
69
+ Naming/UncommunicativeMethodParamName:
70
+ Exclude:
71
+ - lib/gdal/raster_band_mixins/io_extensions.rb
72
+ - lib/ogr/geometries/line_string.rb
73
+ - lib/ogr/geometries/line_string_25d.rb
74
+ - lib/ogr/geometries/point.rb
75
+ - lib/ogr/geometries/point_25d.rb
76
+ - lib/ogr/geometry_types/curve.rb
31
77
 
32
78
  Style/Documentation:
33
79
  Enabled: false
34
80
 
35
- Style/DotPosition:
36
- EnforcedStyle: trailing
37
-
38
81
  Style/DoubleNegation:
39
82
  Enabled: false
40
83
 
41
- Style/FileName:
42
- Exclude:
43
- - lib/ffi-gdal.rb
44
-
45
84
  Style/FormatString:
46
85
  EnforcedStyle: percent
47
86
 
@@ -51,10 +90,6 @@ Style/PercentLiteralDelimiters:
51
90
  '%w': '[]'
52
91
  '%W': '[]'
53
92
 
54
- Style/PredicateName:
55
- Exclude:
56
- - lib/ogr/geometry_mixins/extensions.rb
57
-
58
93
  Style/SymbolArray:
59
94
  Enabled: true
60
95
 
@@ -66,4 +101,4 @@ AllCops:
66
101
  - ffi-gdal.gemspec
67
102
  Exclude:
68
103
  - vendor/bundle/**/*
69
- TargetRubyVersion: 2.2
104
+ TargetRubyVersion: 2.3
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,65 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2018-03-21 17:46:40 -0700 using RuboCop version 0.54.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 43
10
+ Metrics/AbcSize:
11
+ Max: 74
12
+
13
+ # Offense count: 3
14
+ # Configuration parameters: CountComments, ExcludedMethods.
15
+ Metrics/BlockLength:
16
+ Max: 67
17
+
18
+ # Offense count: 11
19
+ # Configuration parameters: CountComments.
20
+ Metrics/ClassLength:
21
+ Max: 345
22
+
23
+ # Offense count: 13
24
+ Metrics/CyclomaticComplexity:
25
+ Max: 21
26
+
27
+ # Offense count: 82
28
+ # Configuration parameters: CountComments.
29
+ Metrics/MethodLength:
30
+ Max: 78
31
+
32
+ # Offense count: 2
33
+ # Configuration parameters: CountKeywordArgs.
34
+ Metrics/ParameterLists:
35
+ Max: 9
36
+
37
+ # Offense count: 6
38
+ Metrics/PerceivedComplexity:
39
+ Max: 11
40
+
41
+ # Offense count: 1
42
+ # Configuration parameters: MinBodyLength.
43
+ Style/GuardClause:
44
+ Exclude:
45
+ - 'lib/gdal/gridder/point_extracting.rb'
46
+
47
+ # Offense count: 1
48
+ Style/MixinUsage:
49
+ Exclude:
50
+ - 'examples/ogr_layer_to_layer.rb'
51
+
52
+ # Offense count: 10
53
+ # Cop supports --auto-correct.
54
+ # Configuration parameters: AutoCorrect, EnforcedStyle.
55
+ # SupportedStyles: predicate, comparison
56
+ Style/NumericPredicate:
57
+ Exclude:
58
+ - 'spec/**/*'
59
+ - 'lib/gdal/merger.rb'
60
+ - 'lib/gdal/raster_attribute_table.rb'
61
+ - 'lib/ogr/feature.rb'
62
+ - 'lib/ogr/feature_definition.rb'
63
+ - 'lib/ogr/field.rb'
64
+ - 'lib/ogr/geometry.rb'
65
+ - 'lib/ogr/layer_mixins/ogr_field_methods.rb'
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.3.0
1
+ 2.6.3
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in ffi-gdal.gemspec
data/History.md CHANGED
@@ -2,6 +2,51 @@
2
2
 
3
3
  Format for this file derived from [http://keepachangelog.com](http://keepachangelog.com).
4
4
 
5
+ ## 1.0.0.beta12 / 2021-06-07
6
+
7
+ ### Removed
8
+
9
+ * Removed `GDAL::MajorObject#description=`, as this shouldn't be called and
10
+ causes problems.
11
+
12
+ ### Bug Fixes
13
+
14
+ * [DEV-15804] Remove data that is outside all ranges when classifying.
15
+
16
+ ## 1.0.0.beta11 / 2020-06-02
17
+
18
+ ### Bug Fixes
19
+
20
+ * Change CPLFileFinder callback return type to pointer.
21
+
22
+ ## 1.0.0.beta10 / 2019-08-28
23
+
24
+ ### Bug Fixes
25
+
26
+ * [DEV-7980] Ensure `OGR::Feature#field_as_string` returns a UTF-8 encoded String.
27
+
28
+ ## 1.0.0.beta9 / 2018-03-26
29
+
30
+ ### Bug Fixes
31
+
32
+ * [AGDEV-30729] Change `OGERR_NONE` to use a lambda.
33
+
34
+ ### Improvements
35
+
36
+ * Fix some new rubocops.
37
+
38
+ ## 1.0.0.beta8 / 2017-04-24
39
+
40
+ ### Improvements
41
+
42
+ * Ruby 2.3 frozen string compatibility.
43
+ * Ruby 2.4 `DateTime` time zone handling in `OGR::Feature#set_field_date_time`.
44
+
45
+ ### Bug Fixes
46
+
47
+ * Ensure `GDAL::RasterBandMixinsIOExtensions#read_blocks_by_block` always yields
48
+ an Array of pixels.
49
+
5
50
  ## 1.0.0.beta7 / 2016-09-21
6
51
 
7
52
  ### Improvements
data/README.md CHANGED
@@ -6,6 +6,11 @@ Ruby wrapper around GDAL, using FFI, along with some helper methods.
6
6
  Installation
7
7
  ------------
8
8
 
9
+ For Ubuntu you need to install libgdal-dev via:
10
+
11
+ sudo apt-get install libgdal-dev
12
+
13
+
9
14
  Add this line to your application's Gemfile:
10
15
 
11
16
  gem 'ffi-gdal'
data/Rakefile CHANGED
@@ -1,5 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
5
+ require 'rubocop/rake_task'
6
+
7
+ RuboCop::RakeTask.new do |t|
8
+ t.fail_on_error = false
9
+ t.formatters = ['RuboCop::Formatter::CheckstyleFormatter']
10
+ t.options = %w[--out tmp/checkstyle.xml]
11
+ t.requires = ['rubocop/formatter/checkstyle_formatter']
12
+ end
3
13
 
4
14
  namespace :spec do
5
15
  RSpec::Core::RakeTask.new(:unit) do |t|
@@ -22,7 +32,7 @@ namespace :spec do
22
32
  --log-file=valgrind_output.log
23
33
  ].join(' ')
24
34
 
25
- cmd = %[valgrind #{valgrind_options} bundle exec rake spec SPEC_OPTS="--format documentation"]
35
+ cmd = %(valgrind #{valgrind_options} bundle exec rake spec SPEC_OPTS="--format documentation")
26
36
  puts cmd
27
37
  system(cmd)
28
38
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/setup'
2
4
  require 'pry'
3
5
  require 'ffi-gdal'
@@ -24,36 +26,31 @@ floyd.extract_natural_color('nc.tif', band_order: %i[nir red green blue]).close
24
26
  # NDVI as Float32
25
27
  floyd.extract_ndvi('ndvi_float.tif', band_order: %i[nir red green blue],
26
28
  data_type: :GDT_Float32,
27
- remove_negatives: true
28
- ).close
29
+ remove_negatives: true).close
29
30
 
30
31
  # NDVI as Byte
31
32
  floyd.extract_ndvi('ndvi_byte.tif', band_order: %i[nir red green blue],
32
33
  data_type: :GDT_Byte,
33
34
  remove_negatives: true,
34
- photometric: 'PALETTE'
35
- ).close
35
+ photometric: 'PALETTE').close
36
36
 
37
37
  # NDVI as UInt16
38
38
  floyd.extract_ndvi('ndvi_uint16.tif', band_order: %i[nir red green blue],
39
39
  data_type: :GDT_UInt16,
40
40
  remove_negatives: true,
41
- photometric: 'PALETTE'
42
- ).close
41
+ photometric: 'PALETTE').close
43
42
 
44
43
  # GNDVI as Byte
45
44
  floyd.extract_gndvi('gndvi_byte.tif', band_order: %i[nir red green blue],
46
45
  data_type: :GDT_Byte,
47
46
  remove_negatives: true,
48
- photometric: 'PALETTE'
49
- ).close
47
+ photometric: 'PALETTE').close
50
48
 
51
49
  # GNDVI as UInt16
52
50
  floyd.extract_gndvi('gndvi_uint16.tif', band_order: %i[nir red green blue],
53
51
  data_type: :GDT_UInt16,
54
52
  remove_negatives: true,
55
- photometric: 'PALETTE'
56
- ).close
53
+ photometric: 'PALETTE').close
57
54
 
58
55
  #---
59
56
  # Colorize after extraction...
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/setup'
2
4
  require 'pry'
3
5
  require 'ffi-gdal'
@@ -25,7 +27,72 @@ multi_point = OGR::Geometry.create_from_wkt(multi_point_wkt)
25
27
  multi_line_string_wkt = 'MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10))'
26
28
  multi_line_string = OGR::Geometry.create_from_wkt(multi_line_string_wkt)
27
29
 
28
- multi_polygon_wkt = 'MULTIPOLYGON (((-120.03296317083633 44.226828996384285, -120.03199741570855 44.230616638863914, -120.03305119285443 44.23322276021398, -120.03305439612939 44.23323503554639, -120.03305423080232 44.233247523039175, -120.03305070309673 44.23325975261691, -120.03304394580853 44.233271263913274, -120.03303421330706 44.233281623601044, -120.0330218719597 44.23329044170392, -120.03300738634044 44.23329738627662, -120.03299130174162 44.23330219590042, -120.03297422364709 44.23330468952384, -120.03295679493954 44.23330477327791, -120.0329396717 44.23330244400986, -120.03259652218235 44.23323046886841, -120.03259605091168 44.23323469214073, -120.03259130838445 44.233246748969734, -120.03258339633375 44.23325791928269, -120.03257261443646 44.233267779993575, -120.03255937106756 44.233275957618844, -120.03254416783288 44.23328214242357, -120.03252758057009 44.23328610015274, -120.03251023753826 44.2332876809039, -120.032492795622 44.23328682480475, -120.0324759154512 44.23328356428076, -120.03246023637918 44.23327802282714, -120.03244635226639 44.233270410331386, -120.03229057481504 44.233166296752856, -120.03144275436163 44.23298846700243, -120.03135705202111 44.23542539118272, -120.03135483571377 44.23543806847976, -120.0313491680669 44.2354501823413, -120.0313402724131 44.23546125542315, -120.03132849928409 44.23547085139311, -120.03131431259804 44.235478592124444, -120.03129827137883 44.235484172595754, -120.03128100772805 44.23548737291011, -120.03126320191683 44.23548806696012, -120.03124555558011 44.235486227396926, -120.03122876406881 44.235481926707976, -120.03121348904955 44.23547533436071, -120.03120033243181 44.23546671012462, -120.03118981264993 44.23545639383555, -120.02629194435607 44.229488174527326, -120.0262841759258 44.22947593881562, -120.0262801234077 44.229462813795166, -120.02627996353844 44.22944937186798, -120.0262837032901 44.22943619925734, -120.02629117956641 44.22942387044152, -120.02630206631528 44.22941292309999, -120.02631588874878 44.229403834664076, -120.02650834059244 44.22930162063937, -120.02596466290531 44.22893822933382, -120.02595288197551 44.22892861642798, -120.02594398682248 44.22891752390089, -120.02593832881524 44.2289053899198, -120.02593613145164 44.22889269379079, -120.02593748153026 44.22887993702566, -120.02594232572132 44.2288676235318, -120.02595047267361 44.22885623970722, -120.0259616005729 44.228846235226946, -120.02597526985406 44.22883800528063, -120.0259909405644 44.22883187496161, -120.02600799369236 44.22882808642537, -120.02602575561929 44.228826789324046, -120.02604352472815 44.22882803489487, -120.02606059911827 44.2288317739361, -120.02607630433104 44.22883785875077, -120.02675839864344 44.229168810839475, -120.02688733695234 44.22910032953997, -120.02611125484312 44.228061533840545, -120.02610457348571 44.22805003875662, -120.02610110582951 44.22803783693943, -120.02610098163969 44.228025384999874, -120.02610420556363 44.2280131489091, -120.02611065695699 44.22800158656121, -120.0261200943985 44.22799113063793, -120.02613216472427 44.22798217241707, -120.02614641624366 44.227975047130094, -120.0261623156424 44.22797002141719, -120.02617926794002 44.22796728334896, -120.0261966387548 44.227966935388565, -120.02621377804353 44.22796899055725, -120.02623004442708 44.22797337194719, -120.0262448291917 44.2279799155993, -120.02625757906833 44.22798837663918, -120.02626781693645 44.22799843844071, -120.02754662923428 44.229551257921585, -120.030836241635 44.23114734101261, -120.03136956622194 44.229959117652726, -120.03138391393463 44.22955111324294, -120.03138620312208 44.229538207384174, -120.0313920671636 44.22952589494864, -120.03140126651873 44.229514678887824, -120.03141342540293 44.229505017367465, -120.03142804713777 44.22949730505196, -120.03144453443974 44.229491856982676, -120.03146221381887 44.22948889570851, -120.03148036308987 44.22948854219496, -120.03149824087296 44.229490810882744, -120.03151511687828 44.22949560909792, -120.03153030173767 44.22950274083756, -120.03154317516459 44.22951191477631, -120.0315532112922 44.22952275616695, -120.03156000257852 44.22953482814357, -120.03278854263438 44.22679758476189, -120.03286127379035 44.226512326846944, -120.03286465252121 44.226503048718484, -120.03286991708133 44.22649423317623, -120.03301731535839 44.22629080564284, -120.03302703028369 44.22628013425537, -120.03303948802117 44.22627104306898, -120.03305420051213 44.22626388825138, -120.03307059136289 44.22625895010873, -120.0330880184265 44.22625642210408, -120.03310579896007 44.22625640327766, -120.03312323637284 44.226258894367135, -120.03313964751646 44.22626379777834, -120.03315438944897 44.22627092140904, -120.03316688462326 44.22627998617475, -120.03317664351395 44.22629063694302, -120.03318328379541 44.22630245644617, -120.03318654532022 44.226314981629145, -120.03318630031114 44.22632772179051, -120.0331825583669 44.22634017780693, -120.03296317083633 44.226828996384285)))'
30
+ multi_polygon_wkt = <<-WKT
31
+ MULTIPOLYGON (((-120.03296317083633 44.226828996384285, -120.03199741570855 44.230616638863914,
32
+ -120.03305119285443 44.23322276021398, -120.03305439612939 44.23323503554639,
33
+ -120.03305423080232 44.233247523039175, -120.03305070309673 44.23325975261691,
34
+ -120.03304394580853 44.233271263913274, -120.03303421330706 44.233281623601044,
35
+ -120.0330218719597 44.23329044170392, -120.03300738634044 44.23329738627662,
36
+ -120.03299130174162 44.23330219590042, -120.03297422364709 44.23330468952384,
37
+ -120.03295679493954 44.23330477327791, -120.0329396717 44.23330244400986,
38
+ -120.03259652218235 44.23323046886841, -120.03259605091168 44.23323469214073,
39
+ -120.03259130838445 44.233246748969734, -120.03258339633375 44.23325791928269,
40
+ -120.03257261443646 44.233267779993575, -120.03255937106756 44.233275957618844,
41
+ -120.03254416783288 44.23328214242357, -120.03252758057009 44.23328610015274,
42
+ -120.03251023753826 44.2332876809039, -120.032492795622 44.23328682480475,
43
+ -120.0324759154512 44.23328356428076, -120.03246023637918 44.23327802282714,
44
+ -120.03244635226639 44.233270410331386, -120.03229057481504 44.233166296752856,
45
+ -120.03144275436163 44.23298846700243, -120.03135705202111 44.23542539118272,
46
+ -120.03135483571377 44.23543806847976, -120.0313491680669 44.2354501823413,
47
+ -120.0313402724131 44.23546125542315, -120.03132849928409 44.23547085139311,
48
+ -120.03131431259804 44.235478592124444, -120.03129827137883 44.235484172595754,
49
+ -120.03128100772805 44.23548737291011, -120.03126320191683 44.23548806696012,
50
+ -120.03124555558011 44.235486227396926, -120.03122876406881 44.235481926707976,
51
+ -120.03121348904955 44.23547533436071, -120.03120033243181 44.23546671012462,
52
+ -120.03118981264993 44.23545639383555, -120.02629194435607 44.229488174527326,
53
+ -120.0262841759258 44.22947593881562, -120.0262801234077 44.229462813795166,
54
+ -120.02627996353844 44.22944937186798, -120.0262837032901 44.22943619925734,
55
+ -120.02629117956641 44.22942387044152, -120.02630206631528 44.22941292309999,
56
+ -120.02631588874878 44.229403834664076, -120.02650834059244 44.22930162063937,
57
+ -120.02596466290531 44.22893822933382, -120.02595288197551 44.22892861642798,
58
+ -120.02594398682248 44.22891752390089, -120.02593832881524 44.2289053899198,
59
+ -120.02593613145164 44.22889269379079, -120.02593748153026 44.22887993702566,
60
+ -120.02594232572132 44.2288676235318, -120.02595047267361 44.22885623970722,
61
+ -120.0259616005729 44.228846235226946, -120.02597526985406 44.22883800528063,
62
+ -120.0259909405644 44.22883187496161, -120.02600799369236 44.22882808642537,
63
+ -120.02602575561929 44.228826789324046, -120.02604352472815 44.22882803489487,
64
+ -120.02606059911827 44.2288317739361, -120.02607630433104 44.22883785875077,
65
+ -120.02675839864344 44.229168810839475, -120.02688733695234 44.22910032953997,
66
+ -120.02611125484312 44.228061533840545, -120.02610457348571 44.22805003875662,
67
+ -120.02610110582951 44.22803783693943, -120.02610098163969 44.228025384999874,
68
+ -120.02610420556363 44.2280131489091, -120.02611065695699 44.22800158656121,
69
+ -120.0261200943985 44.22799113063793, -120.02613216472427 44.22798217241707,
70
+ -120.02614641624366 44.227975047130094, -120.0261623156424 44.22797002141719,
71
+ -120.02617926794002 44.22796728334896, -120.0261966387548 44.227966935388565,
72
+ -120.02621377804353 44.22796899055725, -120.02623004442708 44.22797337194719,
73
+ -120.0262448291917 44.2279799155993, -120.02625757906833 44.22798837663918,
74
+ -120.02626781693645 44.22799843844071, -120.02754662923428 44.229551257921585,
75
+ -120.030836241635 44.23114734101261, -120.03136956622194 44.229959117652726,
76
+ -120.03138391393463 44.22955111324294, -120.03138620312208 44.229538207384174,
77
+ -120.0313920671636 44.22952589494864, -120.03140126651873 44.229514678887824,
78
+ -120.03141342540293 44.229505017367465, -120.03142804713777 44.22949730505196,
79
+ -120.03144453443974 44.229491856982676, -120.03146221381887 44.22948889570851,
80
+ -120.03148036308987 44.22948854219496, -120.03149824087296 44.229490810882744,
81
+ -120.03151511687828 44.22949560909792, -120.03153030173767 44.22950274083756,
82
+ -120.03154317516459 44.22951191477631, -120.0315532112922 44.22952275616695,
83
+ -120.03156000257852 44.22953482814357, -120.03278854263438 44.22679758476189,
84
+ -120.03286127379035 44.226512326846944, -120.03286465252121 44.226503048718484,
85
+ -120.03286991708133 44.22649423317623, -120.03301731535839 44.22629080564284,
86
+ -120.03302703028369 44.22628013425537, -120.03303948802117 44.22627104306898,
87
+ -120.03305420051213 44.22626388825138, -120.03307059136289 44.22625895010873,
88
+ -120.0330880184265 44.22625642210408, -120.03310579896007 44.22625640327766,
89
+ -120.03312323637284 44.226258894367135, -120.03313964751646 44.22626379777834,
90
+ -120.03315438944897 44.22627092140904, -120.03316688462326 44.22627998617475,
91
+ -120.03317664351395 44.22629063694302, -120.03318328379541 44.22630245644617,
92
+ -120.03318654532022 44.226314981629145, -120.03318630031114 44.22632772179051,
93
+ -120.0331825583669 44.22634017780693, -120.03296317083633 44.226828996384285)))
94
+ WKT
95
+
29
96
  multi_polygon = OGR::Geometry.create_from_wkt(multi_polygon_wkt)
30
97
 
31
98
  # point_wkt = 'POINT (1 2)'