ffi-gdal 1.0.0.beta7 → 1.0.0.beta8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (298) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +31 -5
  3. data/.rubocop_todo.yml +70 -0
  4. data/.ruby-version +1 -1
  5. data/Gemfile +2 -0
  6. data/History.md +12 -0
  7. data/Rakefile +11 -1
  8. data/examples/extract_and_colorize.rb +7 -10
  9. data/examples/geometries.rb +68 -1
  10. data/examples/gridding.rb +2 -0
  11. data/examples/ogr_layer_to_layer.rb +2 -0
  12. data/examples/raster_erasing.rb +15 -8
  13. data/examples/remove_small_polygons.rb +2 -0
  14. data/examples/testing_gdal.rb +9 -2
  15. data/examples/warping.rb +23 -5
  16. data/ffi-gdal.gemspec +3 -0
  17. data/lib/ext/error_symbols.rb +2 -0
  18. data/lib/ext/ffi_library_function_checks.rb +2 -0
  19. data/lib/ext/float_ext.rb +2 -0
  20. data/lib/ext/narray_ext.rb +2 -0
  21. data/lib/ext/numeric_as_data_type.rb +2 -0
  22. data/lib/ext/to_bool.rb +5 -3
  23. data/lib/ffi/cpl/conv.rb +2 -0
  24. data/lib/ffi/cpl/error.rb +2 -0
  25. data/lib/ffi/cpl/hash_set.rb +2 -0
  26. data/lib/ffi/cpl/http.rb +2 -0
  27. data/lib/ffi/cpl/http_result.rb +2 -0
  28. data/lib/ffi/cpl/list.rb +2 -0
  29. data/lib/ffi/cpl/mime_part.rb +2 -0
  30. data/lib/ffi/cpl/minixml.rb +2 -0
  31. data/lib/ffi/cpl/port.rb +2 -0
  32. data/lib/ffi/cpl/progress.rb +2 -0
  33. data/lib/ffi/cpl/quad_tree.rb +2 -0
  34. data/lib/ffi/cpl/rect_obj.rb +2 -0
  35. data/lib/ffi/cpl/string.rb +2 -0
  36. data/lib/ffi/cpl/vsi.rb +2 -0
  37. data/lib/ffi/cpl/xml_node.rb +2 -0
  38. data/lib/ffi/cpl.rb +2 -0
  39. data/lib/ffi/gdal/alg.rb +2 -0
  40. data/lib/ffi/gdal/color_entry.rb +2 -0
  41. data/lib/ffi/gdal/exceptions.rb +2 -0
  42. data/lib/ffi/gdal/gcp.rb +2 -0
  43. data/lib/ffi/gdal/gdal.rb +2 -0
  44. data/lib/ffi/gdal/grid.rb +2 -0
  45. data/lib/ffi/gdal/grid_data_metrics_options.rb +2 -0
  46. data/lib/ffi/gdal/grid_inverse_distance_to_a_power_options.rb +2 -0
  47. data/lib/ffi/gdal/grid_moving_average_options.rb +2 -0
  48. data/lib/ffi/gdal/grid_nearest_neighbor_options.rb +2 -0
  49. data/lib/ffi/gdal/matching.rb +2 -0
  50. data/lib/ffi/gdal/rpc_info.rb +2 -0
  51. data/lib/ffi/gdal/transformer_info.rb +2 -0
  52. data/lib/ffi/gdal/version.rb +3 -1
  53. data/lib/ffi/gdal/vrt.rb +2 -0
  54. data/lib/ffi/gdal/warp_options.rb +2 -0
  55. data/lib/ffi/gdal/warper.rb +2 -0
  56. data/lib/ffi/gdal.rb +2 -0
  57. data/lib/ffi/ogr/api.rb +2 -0
  58. data/lib/ffi/ogr/contour_writer_info.rb +2 -0
  59. data/lib/ffi/ogr/core.rb +2 -0
  60. data/lib/ffi/ogr/envelope.rb +2 -0
  61. data/lib/ffi/ogr/envelope_3d.rb +2 -0
  62. data/lib/ffi/ogr/featurestyle.rb +2 -0
  63. data/lib/ffi/ogr/field.rb +2 -0
  64. data/lib/ffi/ogr/geocoding.rb +2 -0
  65. data/lib/ffi/ogr/srs_api.rb +5 -0
  66. data/lib/ffi/ogr/style_param.rb +2 -0
  67. data/lib/ffi/ogr/style_value.rb +2 -0
  68. data/lib/ffi/ogr.rb +2 -0
  69. data/lib/ffi-gdal.rb +2 -0
  70. data/lib/gdal/color_entry.rb +2 -0
  71. data/lib/gdal/color_entry_mixins/extensions.rb +2 -0
  72. data/lib/gdal/color_interpretation.rb +2 -0
  73. data/lib/gdal/color_table.rb +2 -0
  74. data/lib/gdal/color_table_mixins/extensions.rb +2 -0
  75. data/lib/gdal/color_table_types/cmyk.rb +2 -0
  76. data/lib/gdal/color_table_types/gray.rb +2 -0
  77. data/lib/gdal/color_table_types/hls.rb +2 -0
  78. data/lib/gdal/color_table_types/rgb.rb +2 -0
  79. data/lib/gdal/cpl_error_handler.rb +2 -0
  80. data/lib/gdal/data_type.rb +2 -0
  81. data/lib/gdal/dataset.rb +11 -7
  82. data/lib/gdal/dataset_mixins/algorithm_methods.rb +5 -2
  83. data/lib/gdal/dataset_mixins/extensions.rb +2 -0
  84. data/lib/gdal/dataset_mixins/matching.rb +4 -1
  85. data/lib/gdal/dataset_mixins/warp_methods.rb +3 -1
  86. data/lib/gdal/driver.rb +3 -1
  87. data/lib/gdal/driver_mixins/extensions.rb +2 -0
  88. data/lib/gdal/environment_methods.rb +2 -0
  89. data/lib/gdal/exceptions.rb +2 -0
  90. data/lib/gdal/geo_transform.rb +2 -0
  91. data/lib/gdal/geo_transform_mixins/extensions.rb +2 -0
  92. data/lib/gdal/grid.rb +4 -0
  93. data/lib/gdal/grid_algorithms/data_metrics_base.rb +2 -0
  94. data/lib/gdal/grid_algorithms/inverse_distance_to_a_power.rb +2 -0
  95. data/lib/gdal/grid_algorithms/metric_average_distance.rb +2 -0
  96. data/lib/gdal/grid_algorithms/metric_average_distance_pts.rb +2 -0
  97. data/lib/gdal/grid_algorithms/metric_count.rb +2 -0
  98. data/lib/gdal/grid_algorithms/metric_maximum.rb +2 -0
  99. data/lib/gdal/grid_algorithms/metric_minimum.rb +2 -0
  100. data/lib/gdal/grid_algorithms/metric_range.rb +2 -0
  101. data/lib/gdal/grid_algorithms/moving_average.rb +2 -0
  102. data/lib/gdal/grid_algorithms/nearest_neighbor.rb +2 -0
  103. data/lib/gdal/grid_algorithms.rb +2 -0
  104. data/lib/gdal/gridder/point_extracting.rb +2 -0
  105. data/lib/gdal/gridder.rb +4 -1
  106. data/lib/gdal/gridder_options.rb +2 -0
  107. data/lib/gdal/internal_helpers.rb +3 -4
  108. data/lib/gdal/logger.rb +2 -0
  109. data/lib/gdal/major_object.rb +2 -0
  110. data/lib/gdal/merger.rb +2 -0
  111. data/lib/gdal/options.rb +2 -0
  112. data/lib/gdal/raster_attribute_table.rb +2 -0
  113. data/lib/gdal/raster_attribute_table_mixins/extensions.rb +3 -1
  114. data/lib/gdal/raster_band.rb +4 -2
  115. data/lib/gdal/raster_band_classifier.rb +4 -6
  116. data/lib/gdal/raster_band_mixins/algorithm_extensions.rb +2 -0
  117. data/lib/gdal/raster_band_mixins/algorithm_methods.rb +12 -5
  118. data/lib/gdal/raster_band_mixins/coloring_extensions.rb +3 -1
  119. data/lib/gdal/raster_band_mixins/extensions.rb +2 -0
  120. data/lib/gdal/raster_band_mixins/io_extensions.rb +3 -1
  121. data/lib/gdal/rpc_info.rb +2 -0
  122. data/lib/gdal/transformer.rb +2 -0
  123. data/lib/gdal/transformers/approximate_transformer.rb +4 -1
  124. data/lib/gdal/transformers/base_general_image_projection_transformer.rb +4 -1
  125. data/lib/gdal/transformers/gcp_transformer.rb +6 -2
  126. data/lib/gdal/transformers/general_image_projection_transformer.rb +2 -0
  127. data/lib/gdal/transformers/general_image_projection_transformer2.rb +4 -1
  128. data/lib/gdal/transformers/general_image_projection_transformer3.rb +4 -1
  129. data/lib/gdal/transformers/geolocation_transformer.rb +4 -1
  130. data/lib/gdal/transformers/reprojection_transformer.rb +2 -0
  131. data/lib/gdal/transformers/rpc_transformer.rb +4 -1
  132. data/lib/gdal/transformers/tps_transformer.rb +2 -0
  133. data/lib/gdal/version_info.rb +9 -7
  134. data/lib/gdal/virtual_dataset.rb +2 -0
  135. data/lib/gdal/warp_operation.rb +2 -0
  136. data/lib/gdal/warp_options.rb +6 -0
  137. data/lib/gdal.rb +2 -0
  138. data/lib/ogr/coordinate_transformation.rb +2 -0
  139. data/lib/ogr/data_source.rb +2 -0
  140. data/lib/ogr/data_source_extensions.rb +2 -0
  141. data/lib/ogr/data_source_mixins/capability_methods.rb +2 -0
  142. data/lib/ogr/driver.rb +2 -0
  143. data/lib/ogr/driver_mixins/capability_methods.rb +2 -0
  144. data/lib/ogr/envelope.rb +2 -0
  145. data/lib/ogr/envelope_extensions.rb +2 -0
  146. data/lib/ogr/error_handling.rb +2 -0
  147. data/lib/ogr/exceptions.rb +3 -1
  148. data/lib/ogr/feature.rb +14 -8
  149. data/lib/ogr/feature_definition.rb +7 -4
  150. data/lib/ogr/feature_definition_extensions.rb +2 -0
  151. data/lib/ogr/feature_extensions.rb +2 -0
  152. data/lib/ogr/field.rb +2 -0
  153. data/lib/ogr/field_definition.rb +5 -3
  154. data/lib/ogr/geocoder.rb +2 -0
  155. data/lib/ogr/geometries/geometry_collection.rb +2 -0
  156. data/lib/ogr/geometries/geometry_collection_25d.rb +2 -0
  157. data/lib/ogr/geometries/line_string.rb +4 -0
  158. data/lib/ogr/geometries/line_string_25d.rb +2 -0
  159. data/lib/ogr/geometries/linear_ring.rb +2 -0
  160. data/lib/ogr/geometries/multi_line_string.rb +2 -0
  161. data/lib/ogr/geometries/multi_line_string_25d.rb +2 -0
  162. data/lib/ogr/geometries/multi_point.rb +2 -0
  163. data/lib/ogr/geometries/multi_point_25d.rb +2 -0
  164. data/lib/ogr/geometries/multi_polygon.rb +2 -0
  165. data/lib/ogr/geometries/multi_polygon_25d.rb +2 -0
  166. data/lib/ogr/geometries/none_geometry.rb +2 -0
  167. data/lib/ogr/geometries/point.rb +2 -0
  168. data/lib/ogr/geometries/point_25d.rb +2 -0
  169. data/lib/ogr/geometries/polygon.rb +2 -0
  170. data/lib/ogr/geometries/polygon_25d.rb +2 -0
  171. data/lib/ogr/geometries/unknown_geometry.rb +2 -0
  172. data/lib/ogr/geometry.rb +2 -0
  173. data/lib/ogr/geometry_field_definition.rb +4 -1
  174. data/lib/ogr/geometry_mixins/container_mixins.rb +2 -0
  175. data/lib/ogr/geometry_mixins/extensions.rb +9 -7
  176. data/lib/ogr/geometry_types/container.rb +2 -0
  177. data/lib/ogr/geometry_types/curve.rb +2 -0
  178. data/lib/ogr/geometry_types/surface.rb +2 -0
  179. data/lib/ogr/internal_helpers.rb +2 -0
  180. data/lib/ogr/layer.rb +2 -0
  181. data/lib/ogr/layer_mixins/capability_methods.rb +2 -0
  182. data/lib/ogr/layer_mixins/extensions.rb +8 -0
  183. data/lib/ogr/layer_mixins/ogr_feature_methods.rb +2 -0
  184. data/lib/ogr/layer_mixins/ogr_field_methods.rb +6 -2
  185. data/lib/ogr/layer_mixins/ogr_layer_method_methods.rb +2 -0
  186. data/lib/ogr/layer_mixins/ogr_query_filter_methods.rb +8 -3
  187. data/lib/ogr/layer_mixins/ogr_sql_methods.rb +2 -0
  188. data/lib/ogr/spatial_reference.rb +2 -0
  189. data/lib/ogr/spatial_reference_extensions.rb +2 -0
  190. data/lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb +12 -5
  191. data/lib/ogr/spatial_reference_mixins/exporters.rb +2 -0
  192. data/lib/ogr/spatial_reference_mixins/importers.rb +6 -2
  193. data/lib/ogr/spatial_reference_mixins/morphers.rb +2 -0
  194. data/lib/ogr/spatial_reference_mixins/parameter_getter_setters.rb +2 -0
  195. data/lib/ogr/spatial_reference_mixins/type_checks.rb +2 -0
  196. data/lib/ogr/style_table.rb +2 -0
  197. data/lib/ogr/style_table_extensions.rb +2 -0
  198. data/lib/ogr/style_tool.rb +2 -0
  199. data/lib/ogr.rb +2 -0
  200. data/spec/ffi-gdal_spec.rb +2 -0
  201. data/spec/integration/gdal/color_table_info_spec.rb +2 -0
  202. data/spec/integration/gdal/dataset_info_spec.rb +3 -1
  203. data/spec/integration/gdal/driver_info_spec.rb +3 -1
  204. data/spec/integration/gdal/geo_transform_info_spec.rb +2 -0
  205. data/spec/integration/gdal/gridder_spec.rb +2 -0
  206. data/spec/integration/gdal/raster_attribute_table_info_spec.rb +2 -0
  207. data/spec/integration/gdal/raster_band_algorithms_spec.rb +2 -0
  208. data/spec/integration/gdal/raster_band_info_spec.rb +9 -7
  209. data/spec/integration/ogr/layer_spec.rb +2 -0
  210. data/spec/spec_helper.rb +2 -0
  211. data/spec/support/integration_help.rb +2 -0
  212. data/spec/support/shared_contexts.rb +2 -0
  213. data/spec/support/shared_examples/gdal/major_object_examples.rb +2 -0
  214. data/spec/support/shared_examples/ogr/{a_25D_geometry.rb → a_25d_geometry.rb} +2 -0
  215. data/spec/support/shared_examples/ogr/a_container_geometry.rb +2 -0
  216. data/spec/support/shared_examples/ogr/a_geometry.rb +3 -1
  217. data/spec/support/shared_examples/ogr/a_line_string.rb +2 -0
  218. data/spec/unit/ext/error_symbols_spec.rb +2 -0
  219. data/spec/unit/ext/numeric_as_data_type_spec.rb +2 -0
  220. data/spec/unit/ffi/gdal_spec.rb +2 -0
  221. data/spec/unit/gdal/color_entry_spec.rb +2 -0
  222. data/spec/unit/gdal/color_interpretation_spec.rb +2 -0
  223. data/spec/unit/gdal/color_table_mixins/extensions_spec.rb +2 -0
  224. data/spec/unit/gdal/color_table_spec.rb +2 -0
  225. data/spec/unit/gdal/data_type_spec.rb +2 -0
  226. data/spec/unit/gdal/dataset_mixins/warp_methods_spec.rb +4 -1
  227. data/spec/unit/gdal/dataset_spec.rb +2 -0
  228. data/spec/unit/gdal/driver_mixins/extensions_spec.rb +2 -0
  229. data/spec/unit/gdal/driver_spec.rb +2 -0
  230. data/spec/unit/gdal/environment_methods_spec.rb +2 -0
  231. data/spec/unit/gdal/geo_transform_mixins/extensions_spec.rb +2 -0
  232. data/spec/unit/gdal/geo_transform_spec.rb +2 -0
  233. data/spec/unit/gdal/grid_spec.rb +2 -0
  234. data/spec/unit/gdal/gridder/point_extracting_spec.rb +2 -0
  235. data/spec/unit/gdal/gridder_options_spec.rb +2 -0
  236. data/spec/unit/gdal/gridder_spec.rb +2 -0
  237. data/spec/unit/gdal/internal_helpers_spec.rb +2 -0
  238. data/spec/unit/gdal/major_object_spec.rb +2 -0
  239. data/spec/unit/gdal/options_spec.rb +2 -0
  240. data/spec/unit/gdal/raster_attribute_table_spec.rb +2 -0
  241. data/spec/unit/gdal/raster_band_classifier_spec.rb +5 -3
  242. data/spec/unit/gdal/raster_band_mixins/extensions_spec.rb +2 -0
  243. data/spec/unit/gdal/raster_band_mixins/io_extensions_spec.rb +2 -0
  244. data/spec/unit/gdal/raster_band_spec.rb +2 -0
  245. data/spec/unit/gdal/rpc_info_spec.rb +2 -0
  246. data/spec/unit/gdal/version_info_spec.rb +2 -0
  247. data/spec/unit/gdal/virtual_dataset_spec.rb +2 -0
  248. data/spec/unit/gdal/warp_operation_spec.rb +2 -0
  249. data/spec/unit/gdal/warp_options_spec.rb +2 -0
  250. data/spec/unit/ogr/coordinate_transformation_spec.rb +2 -0
  251. data/spec/unit/ogr/data_source_mixins/capability_methods_spec.rb +2 -0
  252. data/spec/unit/ogr/data_source_spec.rb +2 -0
  253. data/spec/unit/ogr/driver_mixins/capability_methods_spec.rb +2 -0
  254. data/spec/unit/ogr/driver_spec.rb +3 -1
  255. data/spec/unit/ogr/envelope_spec.rb +2 -0
  256. data/spec/unit/ogr/feature_definition_spec.rb +2 -0
  257. data/spec/unit/ogr/feature_extensions_spec.rb +2 -0
  258. data/spec/unit/ogr/feature_spec.rb +3 -3
  259. data/spec/unit/ogr/field_definition_spec.rb +2 -0
  260. data/spec/unit/ogr/field_spec.rb +2 -0
  261. data/spec/unit/ogr/geometries/geometry_collection_25d_spec.rb +2 -0
  262. data/spec/unit/ogr/geometries/geometry_collection_spec.rb +2 -0
  263. data/spec/unit/ogr/geometries/line_string_25d_spec.rb +2 -0
  264. data/spec/unit/ogr/geometries/line_string_spec.rb +2 -0
  265. data/spec/unit/ogr/geometries/linear_ring_spec.rb +2 -0
  266. data/spec/unit/ogr/geometries/multi_line_string_25d_spec.rb +2 -0
  267. data/spec/unit/ogr/geometries/multi_line_string_spec.rb +2 -0
  268. data/spec/unit/ogr/geometries/multi_point_25d_spec.rb +2 -0
  269. data/spec/unit/ogr/geometries/multi_point_spec.rb +2 -0
  270. data/spec/unit/ogr/geometries/multi_polygon_25d_spec.rb +2 -0
  271. data/spec/unit/ogr/geometries/multi_polygon_spec.rb +2 -0
  272. data/spec/unit/ogr/geometries/none_geometry_spec.rb +2 -0
  273. data/spec/unit/ogr/geometries/point_25d_spec.rb +2 -0
  274. data/spec/unit/ogr/geometries/point_spec.rb +2 -0
  275. data/spec/unit/ogr/geometries/polygon_25d_spec.rb +2 -0
  276. data/spec/unit/ogr/geometries/polygon_spec.rb +2 -0
  277. data/spec/unit/ogr/geometries/unknown_geometry_spec.rb +2 -0
  278. data/spec/unit/ogr/geometry_field_definition_spec.rb +2 -0
  279. data/spec/unit/ogr/geometry_spec.rb +2 -0
  280. data/spec/unit/ogr/internal_helpers_spec.rb +2 -0
  281. data/spec/unit/ogr/layer_mixins/capability_methods_spec.rb +2 -0
  282. data/spec/unit/ogr/layer_mixins/ogr_feature_methods_spec.rb +2 -0
  283. data/spec/unit/ogr/layer_mixins/ogr_field_methods_spec.rb +2 -0
  284. data/spec/unit/ogr/layer_mixins/ogr_layer_method_methods_spec.rb +2 -0
  285. data/spec/unit/ogr/layer_mixins/ogr_query_filter_methods_spec.rb +2 -0
  286. data/spec/unit/ogr/layer_mixins/ogr_sql_methods_spec.rb +2 -0
  287. data/spec/unit/ogr/layer_spec.rb +2 -0
  288. data/spec/unit/ogr/spatial_reference_mixins/coordinate_system_getter_setters_spec.rb +2 -0
  289. data/spec/unit/ogr/spatial_reference_mixins/exporters_spec.rb +7 -3
  290. data/spec/unit/ogr/spatial_reference_mixins/importers_spec.rb +2 -0
  291. data/spec/unit/ogr/spatial_reference_mixins/morphers_spec.rb +9 -7
  292. data/spec/unit/ogr/spatial_reference_mixins/parameter_getter_setters_spec.rb +2 -0
  293. data/spec/unit/ogr/spatial_reference_mixins/type_checks_spec.rb +2 -0
  294. data/spec/unit/ogr/spatial_reference_spec.rb +4 -2
  295. data/spec/unit/ogr/style_table_spec.rb +2 -0
  296. data/spec/unit/ogr/style_tool_spec.rb +2 -0
  297. data/spec/unit/version_info_spec.rb +2 -0
  298. metadata +20 -6
data/lib/ffi/cpl/vsi.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
data/lib/ffi/cpl.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FFI
2
4
  module CPL
3
5
  autoload :Conv, File.expand_path('cpl/conv.rb', __dir__)
data/lib/ffi/gdal/alg.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FFI
2
4
  module GDAL
3
5
  class LibraryNotFound < RuntimeError
data/lib/ffi/gdal/gcp.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
data/lib/ffi/gdal/gdal.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
  require_relative 'color_entry'
data/lib/ffi/gdal/grid.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FFI
2
4
  module GDAL
3
- VERSION = '1.0.0.beta7'.freeze
5
+ VERSION = '1.0.0.beta8'
4
6
  end
5
7
  end
data/lib/ffi/gdal/vrt.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
 
data/lib/ffi/gdal.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require 'ffi/tools/const_generator'
3
5
  require_relative 'gdal/exceptions'
data/lib/ffi/ogr/api.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../../ext/ffi_library_function_checks'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
data/lib/ffi/ogr/core.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
  require_relative 'field'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
data/lib/ffi/ogr/field.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../cpl/conv'
2
4
 
3
5
  module FFI
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../../ext/ffi_library_function_checks'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../../ext/ffi_library_function_checks'
2
4
 
3
5
  module FFI
@@ -37,6 +39,7 @@ module FFI
37
39
  # -----------------------------------------------------------------------
38
40
  # Constants
39
41
  # -----------------------------------------------------------------------
42
+ # rubocop:disable Metrics/BlockLength
40
43
  SRS_UL = FFI::ConstGenerator.new('SRS_UL') do |gen|
41
44
  gen.include FFI::GDAL._file_with_constants('ogr_srs_api.h')
42
45
  gen.const :SRS_UL_METER, '%s', nil, :METER_LABEL, &:inspect
@@ -93,6 +96,8 @@ module FFI
93
96
  gen.const :SRS_UL_INDIAN_CHAIN, '%s', nil, :INDIAN_CHAIN_LABEL, &:inspect
94
97
  gen.const :SRS_UL_INDIAN_CHAIN_CONV, '%s', nil, :METER_TO_INDIAN_CHAIN, &:to_f
95
98
  end
99
+ # rubocop:enable Metrics/BlockLength
100
+
96
101
  SRS_UL.calculate
97
102
 
98
103
  SRS_UA = FFI::ConstGenerator.new('SRS_UL') do |gen|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative '../cpl/port'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
 
3
5
  module FFI
data/lib/ffi/ogr.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FFI
2
4
  module OGR
3
5
  autoload :API, File.expand_path('ogr/api.rb', __dir__)
data/lib/ffi-gdal.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ffi'
2
4
  require_relative 'ext/ffi_library_function_checks'
3
5
  require_relative 'ext/narray_ext'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'color_entry_mixins/extensions'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  class ColorInterpretation
3
5
  # @param gdal_color_interp [FFI::GDAL::ColorInterp]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../gdal'
2
4
  require_relative 'color_table_mixins/extensions'
3
5
  require_relative 'color_entry'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module ColorTableTypes
3
5
  module CMYK
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module ColorTableTypes
3
5
  module Gray
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module ColorTableTypes
3
5
  module HLS
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module ColorTableTypes
3
5
  module RGB
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  # This is used to override GDAL's built-in error handling. By default, GDAL
3
5
  # only logs errors to STDOUT, which doesn't allow a whole lot of flexibility.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  # Info about GDAL data types (GDT symbols).
3
5
  class DataType
data/lib/gdal/dataset.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'uri'
2
4
  require_relative '../gdal'
3
5
  require_relative '../ogr'
@@ -300,6 +302,7 @@ module GDAL
300
302
  # @param band_space [Fixnum] The byte offset from the start of one band's
301
303
  # data to the start of the next. If defaulted (0), the size of
302
304
  # +line_space+ * +buffer_y_size* is used.
305
+ # rubocop:disable: Metrics/MethodLength
303
306
  def raster_io(access_flag, buffer = nil,
304
307
  x_size: nil, y_size: nil, x_offset: 0, y_offset: 0,
305
308
  buffer_x_size: nil, buffer_y_size: nil, buffer_data_type: nil,
@@ -343,6 +346,7 @@ module GDAL
343
346
 
344
347
  buffer
345
348
  end
349
+ # rubocop:enable: Metrics/MethodLength
346
350
 
347
351
  private
348
352
 
@@ -353,13 +357,13 @@ module GDAL
353
357
  # @return [Fixnum]
354
358
  def parse_mask_flag_symbols(*flags)
355
359
  flags.reduce(0) do |result, flag|
356
- result |= case flag
357
- when :GMF_ALL_VALID then 0x01
358
- when :GMF_PER_DATASET then 0x02
359
- when :GMF_PER_ALPHA then 0x04
360
- when :GMF_NODATA then 0x08
361
- else 0
362
- end
360
+ result | case flag
361
+ when :GMF_ALL_VALID then 0x01
362
+ when :GMF_PER_DATASET then 0x02
363
+ when :GMF_PER_ALPHA then 0x04
364
+ when :GMF_NODATA then 0x08
365
+ else 0
366
+ end
363
367
  end
364
368
  end
365
369
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module DatasetMixins
3
5
  # Wrappers for Warp algorithm methods defined in gdal_alg.h.
@@ -16,7 +18,7 @@ module GDAL
16
18
  # polygon or that are selected by Brezenham's line algorithm. Defaults to
17
19
  # +false+.
18
20
  # @option options burn_value_from ["Z"] Use the Z values of the geometries.
19
- # @option @options merge_alg [String] "REPLACE" or "ADD". REPLACE results
21
+ # @option options merge_alg [String] "REPLACE" or "ADD". REPLACE results
20
22
  # in overwriting of value, while ADD adds the new value to the existing
21
23
  # raster, suitable for heatmaps for instance.
22
24
  def rasterize_geometries!(band_numbers, geometries, burn_values,
@@ -185,7 +187,8 @@ module GDAL
185
187
  pixels_ptr,
186
188
  lines_ptr,
187
189
  extents_ptr,
188
- options)
190
+ options
191
+ )
189
192
 
190
193
  extents_array = extents_ptr.read_array_of_double(4)
191
194
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
  require 'narray'
3
5
  require_relative '../../ffi-gdal'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module DatasetMixins
3
5
  module Matching
@@ -15,7 +17,8 @@ module GDAL
15
17
  @c_pointer,
16
18
  other_dataset_ptr,
17
19
  options_ptr,
18
- gcp_count_ptr)
20
+ gcp_count_ptr
21
+ )
19
22
 
20
23
  { count: gcp_count_ptr.read_int, gcp: gcp }
21
24
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module DatasetMixins
3
5
  # Methods used for warping; most taken from gdalwarper.h.
4
6
  module WarpMethods
5
7
  # @param destination_dataset [GDAL::Dataset]
6
8
  # @param resample_algorithm [Symbol] One from FFI::GDAL::Warper::GDALResampleAlg.
7
- # @param destination_spatial_reference [String]
9
+ # @param destination_projection [String]
8
10
  # @param warp_memory_limit [Float] The amount of memory (in bytes) the API
9
11
  # is allowed to use for caching. This is in addition to the amount of
10
12
  # memory already allocated for caching (using GDALSetCacheMax). 0.0 uses
data/lib/gdal/driver.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'multi_xml'
2
4
  require_relative '../gdal'
3
5
  require_relative 'major_object'
@@ -11,7 +13,7 @@ module GDAL
11
13
  include GDAL::Logger
12
14
  include DriverMixins::Extensions
13
15
 
14
- GDAL_DOCS_URL = 'http://gdal.org'.freeze
16
+ GDAL_DOCS_URL = 'http://gdal.org'
15
17
 
16
18
  # @return [Fixnum]
17
19
  def self.count
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module DriverMixins
3
5
  module Extensions
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  # Getters and setters for the GDAL environment.
3
5
  module EnvironmentMethods
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  class BufferTooSmall < StandardError
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative '../gdal'
2
4
  require_relative 'geo_transform_mixins/extensions'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
  require_relative '../exceptions'
3
5
 
data/lib/gdal/grid.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
  require 'narray'
3
5
  require_relative '../gdal'
@@ -31,6 +33,7 @@ module GDAL
31
33
  # @param progress_block [Proc]
32
34
  # @param progress_arg [FFI::Pointer]
33
35
  # @return [FFI::MemoryPointer] Pointer to the grid data.
36
+ # rubocop:disable Metrics/ParameterLists
34
37
  def create(points, extents, data_pointer, output_size = { x: 256, y: 256 },
35
38
  progress_block = nil, progress_arg = nil)
36
39
  points = points.to_a if points.is_a? NArray
@@ -66,6 +69,7 @@ module GDAL
66
69
  progress_arg # pProgressArg
67
70
  )
68
71
  end
72
+ # rubocop:enable Metrics/ParameterLists
69
73
 
70
74
  private
71
75
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module GridAlgorithms
3
5
  class DataMetricsBase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module GridAlgorithms
3
5
  class InverseDistanceToAPower
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'data_metrics_base'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'data_metrics_base'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'data_metrics_base'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'data_metrics_base'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'data_metrics_base'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'data_metrics_base'
2
4
 
3
5
  module GDAL
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module GridAlgorithms
3
5
  class MovingAverage
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module GridAlgorithms
3
5
  class NearestNeighbor
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  module GridAlgorithms
3
5
  autoload :InverseDistanceToAPower,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  class Gridder
3
5
  # Methods used for extracting points from a OGR::Layer. Only used when
data/lib/gdal/gridder.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'narray'
2
4
  require_relative '../gdal'
3
5
  require_relative 'gridder_options'
@@ -249,7 +251,8 @@ module GDAL
249
251
  block_number.to_f / block_count,
250
252
  (block_number + 1).to_f / block_count,
251
253
  @options.progress_formatter,
252
- nil)
254
+ nil
255
+ )
253
256
  end
254
257
 
255
258
  # Determines how large of a chunk of data to grid and rasterize.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'grid'
2
4
  require_relative 'options'
3
5
  require_relative '../ogr'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GDAL
2
4
  # @private
3
5
  module InternalHelpers
@@ -64,10 +66,7 @@ module GDAL
64
66
  # @param strings [Array<String>]
65
67
  # @return [FFI::MemoryPointer]
66
68
  def _string_array_to_pointer(strings)
67
- string_pointers = strings.map do |string|
68
- FFI::MemoryPointer.from_string(string.to_s)
69
- end
70
-
69
+ string_pointers = strings.map { |string| FFI::MemoryPointer.from_string(string.to_s) }
71
70
  string_pointers << nil
72
71
  array_pointer = FFI::MemoryPointer.new(:pointer, strings.size + 1)
73
72
  i = 0