ffi-gdal 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/.prettierrc.yml +4 -0
  3. data/.rubocop.yml +9 -5
  4. data/.rubocop_todo.yml +5 -11
  5. data/.solargraph.yml +13 -0
  6. data/Changelog-0.x.md +229 -174
  7. data/Changelog.md +21 -5
  8. data/Dockerfile.gdal2 +1 -1
  9. data/Gemfile +12 -2
  10. data/README.md +13 -10
  11. data/Rakefile +6 -6
  12. data/bin/bundle +12 -12
  13. data/bin/rake +7 -7
  14. data/bin/rspec +7 -7
  15. data/bin/rubocop +7 -7
  16. data/examples/extract_and_colorize.rb +15 -15
  17. data/examples/geometries.rb +12 -12
  18. data/examples/gridding.rb +17 -17
  19. data/examples/ogr_layer_to_layer.rb +3 -3
  20. data/examples/raster_erasing.rb +9 -9
  21. data/examples/remove_small_polygons.rb +11 -11
  22. data/examples/testing_gdal.rb +20 -20
  23. data/examples/warping.rb +13 -13
  24. data/ffi-gdal.gemspec +15 -26
  25. data/lib/ext/ffi_library_function_checks.rb +3 -3
  26. data/lib/ext/narray_ext.rb +1 -1
  27. data/lib/ext/to_bool.rb +2 -2
  28. data/lib/ffi/cpl/conv.rb +2 -2
  29. data/lib/ffi/cpl/error.rb +1 -1
  30. data/lib/ffi/cpl/hash_set.rb +2 -2
  31. data/lib/ffi/cpl/http.rb +3 -3
  32. data/lib/ffi/cpl/http_result.rb +2 -2
  33. data/lib/ffi/cpl/list.rb +1 -1
  34. data/lib/ffi/cpl/mime_part.rb +1 -1
  35. data/lib/ffi/cpl/minixml.rb +2 -2
  36. data/lib/ffi/cpl/port.rb +1 -1
  37. data/lib/ffi/cpl/progress.rb +2 -2
  38. data/lib/ffi/cpl/quad_tree.rb +3 -3
  39. data/lib/ffi/cpl/rect_obj.rb +1 -1
  40. data/lib/ffi/cpl/string.rb +1 -1
  41. data/lib/ffi/cpl/vsi.rb +2 -2
  42. data/lib/ffi/cpl/xml_node.rb +1 -1
  43. data/lib/ffi/cpl.rb +11 -11
  44. data/lib/ffi/extensions/gdal/extensions/all.rb +2 -2
  45. data/lib/ffi/extensions/gdal/extensions.rb +2 -2
  46. data/lib/ffi/extensions/rttopo/gbox.rb +1 -1
  47. data/lib/ffi/extensions/rttopo/geom.rb +2 -2
  48. data/lib/ffi/extensions/rttopo.rb +3 -3
  49. data/lib/ffi/gdal/alg.rb +2 -2
  50. data/lib/ffi/gdal/color_entry.rb +1 -1
  51. data/lib/ffi/gdal/gcp.rb +1 -1
  52. data/lib/ffi/gdal/gdal.rb +3 -3
  53. data/lib/ffi/gdal/grid.rb +2 -2
  54. data/lib/ffi/gdal/grid_data_metrics_options.rb +1 -1
  55. data/lib/ffi/gdal/grid_inverse_distance_to_a_power_options.rb +1 -1
  56. data/lib/ffi/gdal/grid_moving_average_options.rb +1 -1
  57. data/lib/ffi/gdal/grid_nearest_neighbor_options.rb +1 -1
  58. data/lib/ffi/gdal/matching.rb +2 -2
  59. data/lib/ffi/gdal/rpc_info.rb +1 -1
  60. data/lib/ffi/gdal/transformer_info.rb +1 -1
  61. data/lib/ffi/gdal/version.rb +1 -1
  62. data/lib/ffi/gdal/vrt.rb +2 -2
  63. data/lib/ffi/gdal/warp_options.rb +1 -1
  64. data/lib/ffi/gdal/warper.rb +2 -2
  65. data/lib/ffi/gdal.rb +22 -22
  66. data/lib/ffi/ogr/api.rb +3 -3
  67. data/lib/ffi/ogr/contour_writer_info.rb +1 -1
  68. data/lib/ffi/ogr/core.rb +9 -9
  69. data/lib/ffi/ogr/envelope.rb +1 -1
  70. data/lib/ffi/ogr/envelope_3d.rb +1 -1
  71. data/lib/ffi/ogr/featurestyle.rb +1 -1
  72. data/lib/ffi/ogr/field.rb +1 -1
  73. data/lib/ffi/ogr/geocoding.rb +2 -2
  74. data/lib/ffi/ogr/srs_api.rb +63 -63
  75. data/lib/ffi/ogr/style_param.rb +2 -2
  76. data/lib/ffi/ogr/style_value.rb +1 -1
  77. data/lib/ffi/ogr.rb +11 -11
  78. data/lib/ffi-gdal.rb +8 -8
  79. data/lib/gdal/color_table.rb +6 -6
  80. data/lib/gdal/dataset/accessors.rb +101 -0
  81. data/lib/gdal/{dataset_mixins → dataset}/algorithm_methods.rb +1 -1
  82. data/lib/gdal/dataset/class_methods.rb +69 -0
  83. data/lib/gdal/dataset/internal_functions.rb +22 -0
  84. data/lib/gdal/{dataset_mixins → dataset}/matching.rb +1 -1
  85. data/lib/gdal/dataset/raster_band_methods.rb +181 -0
  86. data/lib/gdal/{dataset_mixins → dataset}/warp_methods.rb +1 -1
  87. data/lib/gdal/dataset.rb +21 -359
  88. data/lib/gdal/driver.rb +10 -10
  89. data/lib/gdal/environment_methods.rb +1 -1
  90. data/lib/gdal/extensions/all.rb +1 -1
  91. data/lib/gdal/extensions/color_entry/extensions.rb +2 -2
  92. data/lib/gdal/extensions/color_table/extensions.rb +2 -2
  93. data/lib/gdal/extensions/dataset/extensions.rb +11 -11
  94. data/lib/gdal/extensions/driver/extensions.rb +7 -7
  95. data/lib/gdal/extensions/geo_transform/extensions.rb +2 -2
  96. data/lib/gdal/extensions/gridder.rb +8 -8
  97. data/lib/gdal/extensions/gridder_options.rb +6 -6
  98. data/lib/gdal/extensions/raster_attribute_table/extensions.rb +1 -1
  99. data/lib/gdal/extensions/raster_band/algorithm_extensions.rb +4 -4
  100. data/lib/gdal/extensions/raster_band/coloring_extensions.rb +1 -1
  101. data/lib/gdal/extensions/raster_band/extensions.rb +3 -3
  102. data/lib/gdal/extensions/raster_band/io_extensions.rb +4 -4
  103. data/lib/gdal/extensions/raster_band_classifier.rb +3 -3
  104. data/lib/gdal/geo_transform.rb +1 -1
  105. data/lib/gdal/grid.rb +6 -6
  106. data/lib/gdal/grid_algorithms/metric_average_distance.rb +1 -1
  107. data/lib/gdal/grid_algorithms/metric_average_distance_pts.rb +1 -1
  108. data/lib/gdal/grid_algorithms/metric_count.rb +1 -1
  109. data/lib/gdal/grid_algorithms/metric_maximum.rb +1 -1
  110. data/lib/gdal/grid_algorithms/metric_minimum.rb +1 -1
  111. data/lib/gdal/grid_algorithms/metric_range.rb +1 -1
  112. data/lib/gdal/grid_algorithms.rb +9 -9
  113. data/lib/gdal/internal_helpers.rb +3 -3
  114. data/lib/gdal/logger.rb +1 -1
  115. data/lib/gdal/major_object.rb +6 -6
  116. data/lib/gdal/options.rb +2 -2
  117. data/lib/gdal/raster_attribute_table.rb +5 -5
  118. data/lib/gdal/raster_band.rb +24 -24
  119. data/lib/gdal/rpc_info.rb +2 -2
  120. data/lib/gdal/transformer.rb +1 -1
  121. data/lib/gdal/transformers/general_image_projection_transformer.rb +1 -1
  122. data/lib/gdal/transformers/general_image_projection_transformer2.rb +1 -1
  123. data/lib/gdal/transformers/general_image_projection_transformer3.rb +1 -1
  124. data/lib/gdal/version_info.rb +9 -9
  125. data/lib/gdal/virtual_dataset.rb +4 -4
  126. data/lib/gdal/warp_operation.rb +2 -2
  127. data/lib/gdal/warp_options.rb +2 -2
  128. data/lib/gdal.rb +17 -17
  129. data/lib/ogr/coordinate_transformation.rb +5 -5
  130. data/lib/ogr/data_source.rb +9 -9
  131. data/lib/ogr/driver.rb +9 -9
  132. data/lib/ogr/envelope.rb +1 -1
  133. data/lib/ogr/error_handling.rb +1 -1
  134. data/lib/ogr/extensions/all.rb +1 -1
  135. data/lib/ogr/extensions/data_source/capability_methods.rb +4 -4
  136. data/lib/ogr/extensions/data_source/data_source_extensions.rb +1 -1
  137. data/lib/ogr/extensions/driver/capability_methods.rb +3 -3
  138. data/lib/ogr/extensions/envelope/extensions.rb +1 -1
  139. data/lib/ogr/extensions/feature/extensions.rb +1 -1
  140. data/lib/ogr/extensions/feature_definition/extensions.rb +1 -1
  141. data/lib/ogr/extensions/geometries/point/extensions.rb +1 -1
  142. data/lib/ogr/extensions/geometry/container_mixins.rb +10 -10
  143. data/lib/ogr/extensions/geometry/ewkb_io_extensions.rb +3 -3
  144. data/lib/ogr/extensions/geometry/ewkb_record.rb +4 -4
  145. data/lib/ogr/extensions/geometry/extensions.rb +4 -15
  146. data/lib/ogr/extensions/geometry/rttopo_extensions.rb +2 -2
  147. data/lib/ogr/extensions/geometry/wkb_record.rb +3 -3
  148. data/lib/ogr/extensions/geometry_types/curve/extensions.rb +2 -2
  149. data/lib/ogr/extensions/layer/capability_methods.rb +17 -17
  150. data/lib/ogr/extensions/layer/extensions.rb +1 -1
  151. data/lib/ogr/extensions/spatial_reference/extensions.rb +1 -1
  152. data/lib/ogr/extensions/spatial_reference/initializers.rb +2 -2
  153. data/lib/ogr/extensions/style_table/extensions.rb +1 -1
  154. data/lib/ogr/feature.rb +15 -15
  155. data/lib/ogr/feature_definition.rb +2 -2
  156. data/lib/ogr/field.rb +5 -5
  157. data/lib/ogr/field_definition.rb +1 -1
  158. data/lib/ogr/geocoder.rb +1 -1
  159. data/lib/ogr/geometries/geometry_collection.rb +2 -2
  160. data/lib/ogr/geometries/geometry_collection_25d.rb +1 -1
  161. data/lib/ogr/geometries/line_string.rb +1 -1
  162. data/lib/ogr/geometries/line_string_25d.rb +1 -1
  163. data/lib/ogr/geometries/linear_ring.rb +2 -2
  164. data/lib/ogr/geometries/multi_line_string.rb +2 -2
  165. data/lib/ogr/geometries/multi_line_string_25d.rb +1 -1
  166. data/lib/ogr/geometries/multi_point.rb +1 -1
  167. data/lib/ogr/geometries/multi_point_25d.rb +1 -1
  168. data/lib/ogr/geometries/multi_polygon.rb +2 -2
  169. data/lib/ogr/geometries/multi_polygon_25d.rb +1 -1
  170. data/lib/ogr/geometries/point_25d.rb +1 -1
  171. data/lib/ogr/geometries/polygon.rb +2 -2
  172. data/lib/ogr/geometries/polygon_25d.rb +1 -1
  173. data/lib/ogr/geometry.rb +19 -11
  174. data/lib/ogr/geometry_types/container.rb +1 -1
  175. data/lib/ogr/geometry_types/curve.rb +1 -1
  176. data/lib/ogr/internal_helpers.rb +4 -4
  177. data/lib/ogr/layer.rb +8 -8
  178. data/lib/ogr/layer_mixins/ogr_feature_methods.rb +9 -9
  179. data/lib/ogr/layer_mixins/ogr_field_methods.rb +15 -15
  180. data/lib/ogr/layer_mixins/ogr_sql_methods.rb +2 -2
  181. data/lib/ogr/spatial_reference.rb +19 -19
  182. data/lib/ogr/spatial_reference_mixins/coordinate_system_getter_setters.rb +4 -4
  183. data/lib/ogr/spatial_reference_mixins/exporters.rb +9 -9
  184. data/lib/ogr/spatial_reference_mixins/importers.rb +2 -2
  185. data/lib/ogr/spatial_reference_mixins/morphers.rb +2 -2
  186. data/lib/ogr/spatial_reference_mixins/parameter_getter_setters.rb +1 -1
  187. data/lib/ogr/style_table.rb +3 -3
  188. data/lib/ogr/style_tool.rb +1 -1
  189. data/lib/ogr.rb +33 -33
  190. data/rakelib/docker.rake +2 -2
  191. metadata +11 -145
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bigdecimal'
4
- require 'bigdecimal/util'
5
- require 'narray'
6
- require_relative '../gdal'
7
- require_relative 'raster_band_mixins/algorithm_methods'
8
- require_relative 'major_object'
3
+ require "bigdecimal"
4
+ require "bigdecimal/util"
5
+ require "narray"
6
+ require_relative "../gdal"
7
+ require_relative "raster_band_mixins/algorithm_methods"
8
+ require_relative "major_object"
9
9
 
10
10
  module GDAL
11
11
  class RasterBand # rubocop:disable Metrics/ClassLength
@@ -37,7 +37,7 @@ module GDAL
37
37
 
38
38
  # @raise [GDAL::Error]
39
39
  def flush_cache
40
- GDAL::CPLErrorHandler.manually_handle('Unable to flush cache') do
40
+ GDAL::CPLErrorHandler.manually_handle("Unable to flush cache") do
41
41
  FFI::GDAL::GDAL.GDALFlushRasterCache(@c_pointer)
42
42
  end
43
43
  end
@@ -79,7 +79,7 @@ module GDAL
79
79
  # @param new_color_interp [FFI::GDAL::GDAL::ColorInterp]
80
80
  # @raise [GDAL::Error]
81
81
  def color_interpretation=(new_color_interp)
82
- GDAL::CPLErrorHandler.manually_handle('Unable to set color interpretation') do
82
+ GDAL::CPLErrorHandler.manually_handle("Unable to set color interpretation") do
83
83
  FFI::GDAL::GDAL.GDALSetRasterColorInterpretation(@c_pointer, new_color_interp)
84
84
  end
85
85
  end
@@ -102,7 +102,7 @@ module GDAL
102
102
  def color_table=(new_color_table)
103
103
  color_table_pointer = GDAL::ColorTable.new_pointer(new_color_table)
104
104
 
105
- GDAL::CPLErrorHandler.manually_handle('Unable to set color table') do
105
+ GDAL::CPLErrorHandler.manually_handle("Unable to set color table") do
106
106
  FFI::GDAL::GDAL.GDALSetRasterColorTable(@c_pointer, color_table_pointer)
107
107
  end
108
108
  end
@@ -140,7 +140,7 @@ module GDAL
140
140
  def category_names=(names)
141
141
  names_pointer = GDAL._string_array_to_pointer(names)
142
142
 
143
- GDAL::CPLErrorHandler.manually_handle('Unable to set category names') do
143
+ GDAL::CPLErrorHandler.manually_handle("Unable to set category names") do
144
144
  FFI::GDAL::GDAL.GDALSetRasterCategoryNames(@c_pointer, names_pointer)
145
145
  end
146
146
  end
@@ -153,7 +153,7 @@ module GDAL
153
153
  def no_data_value
154
154
  associated = FFI::MemoryPointer.new(:bool)
155
155
  value = FFI::GDAL::GDAL.GDALGetRasterNoDataValue(@c_pointer, associated)
156
- value = nil if value.to_d == BigDecimal('-10_000_000_000.0')
156
+ value = nil if value.to_d == BigDecimal("-10_000_000_000.0")
157
157
 
158
158
  { value: value, is_associated: associated.read_bytes(1).to_bool }
159
159
  end
@@ -164,7 +164,7 @@ module GDAL
164
164
  # @param value [Float, nil]
165
165
  # @raise [GDAL::Error]
166
166
  def no_data_value=(value)
167
- GDAL::CPLErrorHandler.manually_handle('Unable to set NODATA value') do
167
+ GDAL::CPLErrorHandler.manually_handle("Unable to set NODATA value") do
168
168
  FFI::GDAL::GDAL.GDALSetRasterNoDataValue(@c_pointer, value)
169
169
  end
170
170
  end
@@ -251,7 +251,7 @@ module GDAL
251
251
  end
252
252
  end
253
253
 
254
- GDAL::CPLErrorHandler.manually_handle('Unable to create mask band') do
254
+ GDAL::CPLErrorHandler.manually_handle("Unable to create mask band") do
255
255
  FFI::GDAL::GDAL.GDALCreateMaskBand(@c_pointer, flag_value)
256
256
  end
257
257
  end
@@ -263,7 +263,7 @@ module GDAL
263
263
  # @param imaginary_value [Float]
264
264
  # @raise [GDAL::Error]
265
265
  def fill(real_value, imaginary_value = 0)
266
- GDAL::CPLErrorHandler.manually_handle('Unable to fill raster') do
266
+ GDAL::CPLErrorHandler.manually_handle("Unable to fill raster") do
267
267
  FFI::GDAL::GDAL.GDALFillRaster(@c_pointer, real_value, imaginary_value)
268
268
  end
269
269
  end
@@ -315,7 +315,7 @@ module GDAL
315
315
  mean_ptr = FFI::MemoryPointer.new(:double)
316
316
  standard_deviation_ptr = FFI::MemoryPointer.new(:double)
317
317
 
318
- GDAL::CPLErrorHandler.manually_handle('Unable to compute raster statistics') do
318
+ GDAL::CPLErrorHandler.manually_handle("Unable to compute raster statistics") do
319
319
  FFI::GDAL::GDAL::GDALComputeRasterStatistics(
320
320
  @c_pointer, # hBand
321
321
  approx_ok, # bApproxOK
@@ -352,7 +352,7 @@ module GDAL
352
352
  success = FFI::MemoryPointer.new(:bool)
353
353
  result = FFI::GDAL::GDAL.GDALGetRasterScale(@c_pointer, success)
354
354
 
355
- raise GDAL::Error, 'GDALGetRasterScale failed' unless success.read_bytes(1).to_bool
355
+ raise GDAL::Error, "GDALGetRasterScale failed" unless success.read_bytes(1).to_bool
356
356
 
357
357
  result
358
358
  end
@@ -360,7 +360,7 @@ module GDAL
360
360
  # @param new_scale [Float]
361
361
  # @raise [GDAL::Error]
362
362
  def scale=(new_scale)
363
- GDAL::CPLErrorHandler.manually_handle('Unable to set raster scale') do
363
+ GDAL::CPLErrorHandler.manually_handle("Unable to set raster scale") do
364
364
  FFI::GDAL::GDAL.GDALSetRasterScale(@c_pointer, new_scale.to_f)
365
365
  end
366
366
  end
@@ -381,7 +381,7 @@ module GDAL
381
381
  success = FFI::MemoryPointer.new(:bool)
382
382
  result = FFI::GDAL::GDAL.GDALGetRasterOffset(@c_pointer, success)
383
383
 
384
- raise GDAL::Error, 'GDALGetRasterOffset failed' unless success.read_bytes(1).to_bool
384
+ raise GDAL::Error, "GDALGetRasterOffset failed" unless success.read_bytes(1).to_bool
385
385
 
386
386
  result
387
387
  end
@@ -391,7 +391,7 @@ module GDAL
391
391
  # @param new_offset [Float]
392
392
  # @return [Boolean]
393
393
  def offset=(new_offset)
394
- GDAL::CPLErrorHandler.manually_handle('Unable to set raster offset') do
394
+ GDAL::CPLErrorHandler.manually_handle("Unable to set raster offset") do
395
395
  FFI::GDAL::GDAL.GDALSetRasterOffset(@c_pointer, new_offset)
396
396
  end
397
397
  end
@@ -414,7 +414,7 @@ module GDAL
414
414
  return
415
415
  end
416
416
 
417
- GDAL::CPLErrorHandler.manually_handle('Unable to set unit type') do
417
+ GDAL::CPLErrorHandler.manually_handle("Unable to set unit type") do
418
418
  FFI::GDAL::GDAL.GDALSetRasterUnitType(@c_pointer, new_unit_type)
419
419
  end
420
420
  end
@@ -431,7 +431,7 @@ module GDAL
431
431
  def default_raster_attribute_table=(rat_table)
432
432
  rat_table_ptr = GDAL::RasterAttributeTable.new_pointer(rat_table)
433
433
 
434
- GDAL::CPLErrorHandler.manually_handle('Unable to set default raster attribute table') do
434
+ GDAL::CPLErrorHandler.manually_handle("Unable to set default raster attribute table") do
435
435
  FFI::GDAL::GDAL.GDALSetDefaultRAT(@c_pointer, rat_table_ptr)
436
436
  end
437
437
  end
@@ -592,7 +592,7 @@ module GDAL
592
592
  destination_pointer = GDAL._pointer(GDAL::RasterBand, destination_band)
593
593
  options_ptr = GDAL::Options.pointer(options)
594
594
 
595
- GDAL::CPLErrorHandler.manually_handle('Unable to copy whole raster') do
595
+ GDAL::CPLErrorHandler.manually_handle("Unable to copy whole raster") do
596
596
  FFI::GDAL::GDAL.GDALRasterBandCopyWholeRaster(@c_pointer,
597
597
  destination_pointer,
598
598
  options_ptr,
@@ -691,7 +691,7 @@ module GDAL
691
691
  def read_block(x_block_number, y_block_number, image_buffer = nil)
692
692
  image_buffer ||= FFI::MemoryPointer.new(:buffer_out, block_buffer_size)
693
693
 
694
- GDAL::CPLErrorHandler.manually_handle('Unable to read block') do
694
+ GDAL::CPLErrorHandler.manually_handle("Unable to read block") do
695
695
  FFI::GDAL::GDAL.GDALReadBlock(@c_pointer, x_block_number, y_block_number, image_buffer)
696
696
  end
697
697
 
@@ -707,7 +707,7 @@ module GDAL
707
707
  def write_block(x_block_number, y_block_number, data_pointer = nil)
708
708
  data_pointer ||= FFI::Buffer.alloc_inout(block_buffer_size)
709
709
 
710
- GDAL::CPLErrorHandler.manually_handle('Unable to write block') do
710
+ GDAL::CPLErrorHandler.manually_handle("Unable to write block") do
711
711
  FFI::GDAL::GDAL.GDALWriteBlock(@c_pointer, x_block_number, y_block_number, data_pointer)
712
712
  end
713
713
 
data/lib/gdal/rpc_info.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'forwardable'
4
- require_relative '../gdal'
3
+ require "forwardable"
4
+ require_relative "../gdal"
5
5
 
6
6
  module GDAL
7
7
  # @return [FFI::GDAL::RPCInfo]
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../gdal'
3
+ require_relative "../gdal"
4
4
 
5
5
  module GDAL
6
6
  class Transformer
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'base_general_image_projection_transformer'
3
+ require_relative "base_general_image_projection_transformer"
4
4
 
5
5
  module GDAL
6
6
  module Transformers
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'base_general_image_projection_transformer'
3
+ require_relative "base_general_image_projection_transformer"
4
4
 
5
5
  module GDAL
6
6
  module Transformers
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'base_general_image_projection_transformer'
3
+ require_relative "base_general_image_projection_transformer"
4
4
 
5
5
  module GDAL
6
6
  module Transformers
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'date'
3
+ require "date"
4
4
 
5
5
  module GDAL
6
6
  module VersionInfo
@@ -8,42 +8,42 @@ module GDAL
8
8
  #
9
9
  # @return [String]
10
10
  def version_num
11
- FFI::GDAL.GDALVersionInfo('VERSION_NUM')
11
+ FFI::GDAL.GDALVersionInfo("VERSION_NUM")
12
12
  end
13
13
 
14
14
  # @return [Date]
15
15
  def release_date
16
- Date.parse(FFI::GDAL.GDALVersionInfo('RELEASE_DATE'))
16
+ Date.parse(FFI::GDAL.GDALVersionInfo("RELEASE_DATE"))
17
17
  end
18
18
 
19
19
  # Version in the form "1.1.7".
20
20
  #
21
21
  # @return [String]
22
22
  def release_name
23
- FFI::GDAL.GDALVersionInfo('RELEASE_NAME')
23
+ FFI::GDAL.GDALVersionInfo("RELEASE_NAME")
24
24
  end
25
25
 
26
26
  # The long licensing info.
27
27
  #
28
28
  # @return [String]
29
29
  def license
30
- FFI::GDAL.GDALVersionInfo('LICENSE')
30
+ FFI::GDAL.GDALVersionInfo("LICENSE")
31
31
  end
32
32
 
33
33
  # Options used when building GDAL.
34
34
  #
35
35
  # @return [Hash{String => String}]
36
36
  def build_info
37
- key_value_pairs = FFI::GDAL.GDALVersionInfo('BUILD_INFO')
37
+ key_value_pairs = FFI::GDAL.GDALVersionInfo("BUILD_INFO")
38
38
  key_value_pairs.split.each_with_object({}) do |kv, obj|
39
- key, value = kv.split('=', 2)
39
+ key, value = kv.split("=", 2)
40
40
  obj[key] = value
41
41
  end
42
42
  end
43
43
 
44
44
  # @return [String]
45
45
  def long_version
46
- FFI::GDAL.GDALVersionInfo('--version')
46
+ FFI::GDAL.GDALVersionInfo("--version")
47
47
  end
48
48
 
49
49
  # @param major [Integer]
@@ -51,7 +51,7 @@ module GDAL
51
51
  # @return [Boolean] +true+ if the runtime GDAL library matches the given
52
52
  # version params.
53
53
  def check_version(major, minor)
54
- FFI::GDAL.GDALCheckVersion(major, minor, 'FFI::GDAL')
54
+ FFI::GDAL.GDALCheckVersion(major, minor, "FFI::GDAL")
55
55
  end
56
56
  end
57
57
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../gdal'
4
- require_relative 'major_object'
3
+ require_relative "../gdal"
4
+ require_relative "major_object"
5
5
 
6
6
  module GDAL
7
7
  class VirtualDataset
@@ -19,7 +19,7 @@ module GDAL
19
19
  end
20
20
 
21
21
  # TODO: Build the xml string
22
- def to_xml(path = '')
22
+ def to_xml(path = "")
23
23
  xml_node = FFI::GDAL::VRT.VRTSerializeToXML(@c_pointer, path)
24
24
 
25
25
  FFI::CPL::MiniXML.CPLSerializeXMLTree(xml_node)
@@ -46,7 +46,7 @@ module GDAL
46
46
  def add_simple_source(vrt_band, source_band, no_data_value,
47
47
  src_x_offset: 0, src_y_offset: 0, src_x_size: nil, src_y_size: nil,
48
48
  dst_x_offset: 0, dst_y_offset: 0, dst_x_size: nil, dst_y_size: nil,
49
- resampling: '')
49
+ resampling: "")
50
50
  FFI::GDAL::VRT.VRTAddSimpleSource(
51
51
  vrt_band,
52
52
  source_band, # hSrcBand
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../gdal'
3
+ require_relative "../gdal"
4
4
 
5
5
  module GDAL
6
6
  class WarpOperation
@@ -18,7 +18,7 @@ module GDAL
18
18
  def initialize(warp_options)
19
19
  pointer = FFI::GDAL::Warper.GDALCreateWarpOperation(warp_options.c_struct)
20
20
 
21
- raise GDAL::Error, 'Unable to create warp operation' if pointer.null?
21
+ raise GDAL::Error, "Unable to create warp operation" if pointer.null?
22
22
 
23
23
  @c_pointer = FFI::AutoPointer.new(pointer, WarpOperation.method(:release))
24
24
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../gdal'
3
+ require_relative "../gdal"
4
4
 
5
5
  module GDAL
6
6
  class WarpOptions
@@ -97,7 +97,7 @@ module GDAL
97
97
 
98
98
  # @param geometry [OGR::Geometry]
99
99
  def cutline=(geometry)
100
- raise 'Not a geom' unless geometry.is_a?(OGR::Geometry)
100
+ raise "Not a geom" unless geometry.is_a?(OGR::Geometry)
101
101
 
102
102
  @cutline = geometry
103
103
 
data/lib/gdal.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'ffi-gdal'
4
- require_relative 'ffi/gdal'
3
+ require_relative "ffi-gdal"
4
+ require_relative "ffi/gdal"
5
5
 
6
6
  module GDAL
7
7
  class << self
@@ -27,23 +27,23 @@ module GDAL
27
27
  end
28
28
 
29
29
  # Autoload just the core GDAL object types.
30
- autoload :ColorTable, gdal_require('gdal/color_table')
31
- autoload :Dataset, gdal_require('gdal/dataset')
32
- autoload :DataType, gdal_require('gdal/data_type')
33
- autoload :Driver, gdal_require('gdal/driver')
34
- autoload :GeoTransform, gdal_require('gdal/geo_transform')
35
- autoload :Logger, gdal_require('gdal/logger')
36
- autoload :MajorObject, gdal_require('gdal/major_object')
37
- autoload :Options, gdal_require('gdal/options')
38
- autoload :RasterAttributeTable, gdal_require('gdal/raster_attribute_table')
39
- autoload :RasterBand, gdal_require('gdal/raster_band')
30
+ autoload :ColorTable, gdal_require("gdal/color_table")
31
+ autoload :Dataset, gdal_require("gdal/dataset")
32
+ autoload :DataType, gdal_require("gdal/data_type")
33
+ autoload :Driver, gdal_require("gdal/driver")
34
+ autoload :GeoTransform, gdal_require("gdal/geo_transform")
35
+ autoload :Logger, gdal_require("gdal/logger")
36
+ autoload :MajorObject, gdal_require("gdal/major_object")
37
+ autoload :Options, gdal_require("gdal/options")
38
+ autoload :RasterAttributeTable, gdal_require("gdal/raster_attribute_table")
39
+ autoload :RasterBand, gdal_require("gdal/raster_band")
40
40
  end
41
41
 
42
- require_relative 'gdal/exceptions'
43
- require_relative 'gdal/version_info'
44
- require_relative 'gdal/environment_methods'
45
- require_relative 'gdal/internal_helpers'
46
- require_relative 'gdal/cpl_error_handler'
42
+ require_relative "gdal/exceptions"
43
+ require_relative "gdal/version_info"
44
+ require_relative "gdal/environment_methods"
45
+ require_relative "gdal/internal_helpers"
46
+ require_relative "gdal/cpl_error_handler"
47
47
 
48
48
  module GDAL
49
49
  extend VersionInfo
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'narray'
4
- require_relative '../ogr'
5
- require_relative '../gdal'
3
+ require "narray"
4
+ require_relative "../ogr"
5
+ require_relative "../gdal"
6
6
 
7
7
  module OGR
8
8
  class CoordinateTransformation
@@ -13,7 +13,7 @@ module OGR
13
13
  FFI::GDAL::GDAL.OCTProj4Normalize(proj4_source)
14
14
  else
15
15
  raise OGR::UnsupportedOperation,
16
- 'Your version of GDAL/OGR does not support OCTProj4Normalize'
16
+ "Your version of GDAL/OGR does not support OCTProj4Normalize"
17
17
  end
18
18
  end
19
19
 
@@ -46,7 +46,7 @@ module OGR
46
46
  # by the null-pointer check below.
47
47
  pointer = FFI::OGR::SRSAPI.OCTNewCoordinateTransformation(source_ptr, destination_ptr)
48
48
 
49
- raise GDAL::Error, 'Unable to create coordinate transformation' if pointer.null?
49
+ raise GDAL::Error, "Unable to create coordinate transformation" if pointer.null?
50
50
 
51
51
  @c_pointer = pointer
52
52
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../gdal'
4
- require_relative '../ogr'
5
- require_relative '../gdal/major_object'
3
+ require_relative "../gdal"
4
+ require_relative "../ogr"
5
+ require_relative "../gdal/major_object"
6
6
 
7
7
  module OGR
8
8
  class DataSource
@@ -14,7 +14,7 @@ module OGR
14
14
  # @param path [String]
15
15
  # @param access_flag [String] 'r' for read, 'w', for write.
16
16
  # @return [OGR::DataSource]
17
- def self.open(path, access_flag = 'r')
17
+ def self.open(path, access_flag = "r")
18
18
  ds = new(path, access_flag)
19
19
 
20
20
  if block_given?
@@ -138,9 +138,9 @@ module OGR
138
138
  # @param options [Hash] Driver-specific options.
139
139
  # @return [OGR::Layer]
140
140
  def create_layer(name, geometry_type: :wkbUnknown, spatial_reference: nil, **options)
141
- unless test_capability('CreateLayer')
141
+ unless test_capability("CreateLayer")
142
142
  raise OGR::UnsupportedOperation,
143
- 'This data source does not support creating layers.'
143
+ "This data source does not support creating layers."
144
144
  end
145
145
 
146
146
  spatial_ref_ptr = GDAL._pointer(OGR::SpatialReference, spatial_reference, autorelease: false) if spatial_reference
@@ -174,9 +174,9 @@ module OGR
174
174
  # @param index [Integer]
175
175
  # @raise [OGR::Failure]
176
176
  def delete_layer(index)
177
- unless test_capability('DeleteLayer')
177
+ unless test_capability("DeleteLayer")
178
178
  raise OGR::UnsupportedOperation,
179
- 'This data source does not support deleting layers.'
179
+ "This data source does not support deleting layers."
180
180
  end
181
181
 
182
182
  OGR::ErrorHandling.handle_ogr_err("Unable to delete layer at index #{index}") do
@@ -236,7 +236,7 @@ module OGR
236
236
 
237
237
  # @raise [OGR::Failure]
238
238
  def sync_to_disk
239
- OGR::ErrorHandling.handle_ogr_err('Unable to syn datasource to disk') do
239
+ OGR::ErrorHandling.handle_ogr_err("Unable to syn datasource to disk") do
240
240
  FFI::OGR::API.OGR_DS_SyncToDisk(@c_pointer)
241
241
  end
242
242
  end
data/lib/ogr/driver.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../ogr'
4
- require_relative '../gdal'
5
- require_relative '../gdal/major_object'
3
+ require_relative "../ogr"
4
+ require_relative "../gdal"
5
+ require_relative "../gdal/major_object"
6
6
 
7
7
  module OGR
8
8
  # Wrapper for OGR's Driver class. In this case, to use a driver, find the
@@ -69,7 +69,7 @@ module OGR
69
69
  # @param file_name [String]
70
70
  # @param access_flag [String] 'r' or 'w'.
71
71
  # @return [OGR::DataSource, nil]
72
- def open(file_name, access_flag = 'r')
72
+ def open(file_name, access_flag = "r")
73
73
  update = OGR._boolean_access_flag(access_flag)
74
74
 
75
75
  data_source_ptr = FFI::OGR::API.OGR_Dr_Open(@c_pointer, file_name, update)
@@ -87,8 +87,8 @@ module OGR
87
87
  # @param options [Hash]
88
88
  # @return [OGR::DataSource, nil]
89
89
  def create_data_source(file_name, **options)
90
- unless test_capability('CreateDataSource')
91
- raise OGR::UnsupportedOperation, 'This driver does not support data source creation.'
90
+ unless test_capability("CreateDataSource")
91
+ raise OGR::UnsupportedOperation, "This driver does not support data source creation."
92
92
  end
93
93
 
94
94
  options_ptr = GDAL::Options.pointer(options)
@@ -97,7 +97,7 @@ module OGR
97
97
  file_name, options_ptr)
98
98
  raise OGR::CreateFailure, "Unable to create DataSource '#{file_name}'" if data_source_ptr.null?
99
99
 
100
- ds = OGR::DataSource.new(data_source_ptr, 'w')
100
+ ds = OGR::DataSource.new(data_source_ptr, "w")
101
101
  yield ds if block_given?
102
102
 
103
103
  ds
@@ -106,8 +106,8 @@ module OGR
106
106
  # @param file_name [String]
107
107
  # @raise [OGR::Failure]
108
108
  def delete_data_source(file_name)
109
- unless test_capability('DeleteDataSource')
110
- raise OGR::UnsupportedOperation, 'This driver does not support deleting data sources.'
109
+ unless test_capability("DeleteDataSource")
110
+ raise OGR::UnsupportedOperation, "This driver does not support deleting data sources."
111
111
  end
112
112
 
113
113
  OGR::ErrorHandling.handle_ogr_err("Unable to delete data source '#{file_name}'") do
data/lib/ogr/envelope.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../ogr'
3
+ require_relative "../ogr"
4
4
 
5
5
  module OGR
6
6
  class Envelope
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'exceptions'
3
+ require_relative "exceptions"
4
4
 
5
5
  module OGR
6
6
  # OGR returns errors as Integers--not as part of the GDAL/CPLErr error
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Dir[File.join(__dir__, '**/*.rb')].sort.each { |f| require f }
3
+ Dir[File.join(__dir__, "**/*.rb")].sort.each { |f| require f }
@@ -6,23 +6,23 @@ module OGR
6
6
  module CapabilityMethods
7
7
  # @return [Boolean] +true+ if the DataSource can create existing Layers.
8
8
  def can_create_layer?
9
- test_capability('CreateLayer')
9
+ test_capability("CreateLayer")
10
10
  end
11
11
 
12
12
  # @return [Boolean] +true+ if the DataSource can delete existing Layers.
13
13
  def can_delete_layer?
14
- test_capability('DeleteLayer')
14
+ test_capability("DeleteLayer")
15
15
  end
16
16
 
17
17
  # @return [Boolean] +true+ if the DataSource supports creating a
18
18
  # GeometryField after a Layer has been created.
19
19
  def can_create_geometry_field_after_create_layer?
20
- test_capability('CreateGeomFieldAfterCreateLayer')
20
+ test_capability("CreateGeomFieldAfterCreateLayer")
21
21
  end
22
22
 
23
23
  # @return [Boolean] +true+ if the DataSource supports curve geometries.
24
24
  def supports_curve_geometries?
25
- test_capability('CurveGeometries')
25
+ test_capability("CurveGeometries")
26
26
  end
27
27
  end
28
28
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ogr/data_source'
3
+ require "ogr/data_source"
4
4
 
5
5
  module OGR
6
6
  class DataSource
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ogr/driver'
3
+ require "ogr/driver"
4
4
 
5
5
  module OGR
6
6
  module DriverMixins
@@ -8,12 +8,12 @@ module OGR
8
8
  module CapabilityMethods
9
9
  # @return [Boolean] +true+ if this driver supports creating data sources.
10
10
  def can_create_data_source?
11
- test_capability('CreateDataSource')
11
+ test_capability("CreateDataSource")
12
12
  end
13
13
 
14
14
  # @return [Boolean] +true+ if this driver supports deleting data sources.
15
15
  def can_delete_data_source?
16
- test_capability('DeleteDataSource')
16
+ test_capability("DeleteDataSource")
17
17
  end
18
18
  end
19
19
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ogr/envelope'
3
+ require "ogr/envelope"
4
4
 
5
5
  module OGR
6
6
  class Envelope
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ogr/feature'
3
+ require "ogr/feature"
4
4
 
5
5
  module OGR
6
6
  class Feature
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ogr/feature_definition'
3
+ require "ogr/feature_definition"
4
4
 
5
5
  module OGR
6
6
  class FeatureDefinition
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ogr/geometry'
3
+ require "ogr/geometry"
4
4
 
5
5
  module OGR
6
6
  class Point