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,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 }
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
4
- require 'gdal/color_entry'
3
+ require "json"
4
+ require "gdal/color_entry"
5
5
 
6
6
  module GDAL
7
7
  module ColorEntryMixins
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
4
- require 'gdal/color_table'
3
+ require "json"
4
+ require "gdal/color_table"
5
5
 
6
6
  module GDAL
7
7
  module ColorTableMixins
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'narray'
4
- require 'ffi-gdal'
5
- require 'gdal/dataset'
6
- require 'gdal/raster_band'
7
- require 'gdal/warp_operation'
8
- require 'ogr/driver'
9
- require 'ogr/layer'
10
- require 'ogr/spatial_reference'
11
- require 'ogr/coordinate_transformation'
3
+ require "narray"
4
+ require "ffi-gdal"
5
+ require "gdal/dataset"
6
+ require "gdal/raster_band"
7
+ require "gdal/warp_operation"
8
+ require "ogr/driver"
9
+ require "ogr/layer"
10
+ require "ogr/spatial_reference"
11
+ require "ogr/coordinate_transformation"
12
12
 
13
13
  module GDAL
14
14
  class Dataset
@@ -97,8 +97,8 @@ module GDAL
97
97
  # of Integers.
98
98
  # @return [OGR::DataSource]
99
99
  def to_vector(file_name, vector_driver_name, geometry_type: :wkbUnknown,
100
- layer_name_prefix: 'band_number', band_numbers: [1],
101
- field_name_prefix: 'field', use_band_masks: true)
100
+ layer_name_prefix: "band_number", band_numbers: [1],
101
+ field_name_prefix: "field", use_band_masks: true)
102
102
  band_numbers = [band_numbers] unless band_numbers.is_a?(Array)
103
103
  ogr_driver = OGR::Driver.by_name(vector_driver_name)
104
104
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gdal/driver'
3
+ require "gdal/driver"
4
4
 
5
5
  module GDAL
6
6
  class Driver
@@ -60,32 +60,32 @@ module GDAL
60
60
 
61
61
  # @return [Boolean]
62
62
  def can_open_datasets?
63
- metadata_item('DCAP_OPEN') == 'YES'
63
+ metadata_item("DCAP_OPEN") == "YES"
64
64
  end
65
65
 
66
66
  # @return [Boolean]
67
67
  def can_create_datasets?
68
- metadata_item('DCAP_CREATE') == 'YES'
68
+ metadata_item("DCAP_CREATE") == "YES"
69
69
  end
70
70
 
71
71
  # @return [Boolean]
72
72
  def can_copy_datasets?
73
- metadata_item('DCAP_CREATECOPY') == 'YES'
73
+ metadata_item("DCAP_CREATECOPY") == "YES"
74
74
  end
75
75
 
76
76
  # @return [Boolean]
77
77
  def can_do_virtual_io?
78
- metadata_item('DCAP_VIRTUALIO') == 'YES'
78
+ metadata_item("DCAP_VIRTUALIO") == "YES"
79
79
  end
80
80
 
81
81
  # @return [Boolean]
82
82
  def can_do_rasters?
83
- metadata_item('DCAP_RASTER') == 'YES'
83
+ metadata_item("DCAP_RASTER") == "YES"
84
84
  end
85
85
 
86
86
  # @return [Boolean]
87
87
  def can_do_vectors?
88
- metadata_item('DCAP_VECTOR') == 'YES'
88
+ metadata_item("DCAP_VECTOR") == "YES"
89
89
  end
90
90
  end
91
91
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gdal/exceptions'
4
- require 'gdal/geo_transform'
3
+ require "gdal/exceptions"
4
+ require "gdal/geo_transform"
5
5
 
6
6
  module GDAL
7
7
  class GeoTransform
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'narray'
4
- require 'gdal'
5
- require 'gdal/options'
6
- require 'ogr'
7
- require_relative 'gridder_options'
8
- require_relative 'gridder/point_extracting'
3
+ require "narray"
4
+ require "gdal"
5
+ require "gdal/options"
6
+ require "ogr"
7
+ require_relative "gridder_options"
8
+ require_relative "gridder/point_extracting"
9
9
 
10
10
  module GDAL
11
11
  # Somewhat analogous to the gdal_grid utility.
@@ -95,7 +95,7 @@ module GDAL
95
95
  spatial_ref = @options.output_projection || @source_layer.spatial_reference
96
96
 
97
97
  unless spatial_ref
98
- log 'No spatial reference specified'
98
+ log "No spatial reference specified"
99
99
  return
100
100
  end
101
101
 
@@ -204,7 +204,7 @@ module GDAL
204
204
  @options.grid.create(points, extents, data_ptr, output_size,
205
205
  progress_arg, scaled_progress_ptr)
206
206
 
207
- raster_band.raster_io('w', data_ptr, x_offset: x_offset, y_offset: y_offset,
207
+ raster_band.raster_io("w", data_ptr, x_offset: x_offset, y_offset: y_offset,
208
208
  x_size: x_request, y_size: y_request,
209
209
  buffer_x_size: x_request, buffer_y_size: y_request)
210
210
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gdal/grid'
4
- require 'gdal/options'
5
- require 'ogr/exceptions'
6
- require 'ogr/geometry'
7
- require 'ogr/spatial_reference'
3
+ require "gdal/grid"
4
+ require "gdal/options"
5
+ require "ogr/exceptions"
6
+ require "ogr/geometry"
7
+ require "ogr/spatial_reference"
8
8
 
9
9
  module GDAL
10
10
  # Object to be used with a {GDAL::Gridder}.
@@ -123,7 +123,7 @@ module GDAL
123
123
  def initialize(algorithm_type)
124
124
  # Options with defaults
125
125
  @output_data_type = :GDT_Float64
126
- @output_format = 'GTiff'
126
+ @output_format = "GTiff"
127
127
  @output_size = { width: 256, height: 256 }
128
128
 
129
129
  # Options without defaults
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gdal/raster_attribute_table'
3
+ require "gdal/raster_attribute_table"
4
4
 
5
5
  module GDAL
6
6
  class RasterAttributeTable
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gdal/raster_band'
3
+ require "gdal/raster_band"
4
4
 
5
5
  module GDAL
6
6
  class RasterBand
@@ -66,11 +66,11 @@ module GDAL
66
66
 
67
67
  unless erase_value
68
68
  raise GDAL::NoRasterEraseValue,
69
- 'Cannot erase values, RasterBand does not have a NODATA value set'
69
+ "Cannot erase values, RasterBand does not have a NODATA value set"
70
70
  end
71
71
 
72
72
  y_size.times do |line_num|
73
- pixel_row = raster_io('r', x_size: x_size, y_size: 1, x_offset: 0, y_offset: line_num)
73
+ pixel_row = raster_io("r", x_size: x_size, y_size: 1, x_offset: 0, y_offset: line_num)
74
74
  pixel_values = GDAL._read_pointer(pixel_row, data_type, x_size)
75
75
  row_changed = false
76
76
  pixel_num = 0
@@ -101,7 +101,7 @@ module GDAL
101
101
  # @param line_number [Integer]
102
102
  def rewrite_pixel_row(write_buffer, pixel_values, line_number)
103
103
  GDAL._write_pointer(write_buffer, data_type, pixel_values)
104
- raster_io('w', write_buffer, x_size: x_size, y_size: 1, y_offset: line_number)
104
+ raster_io("w", write_buffer, x_size: x_size, y_size: 1, y_offset: line_number)
105
105
  write_buffer.clear
106
106
  end
107
107
  end
@@ -76,7 +76,7 @@ module GDAL
76
76
 
77
77
  # @param hex [String]
78
78
  def hex_to_rgb(hex)
79
- hex = hex.sub(/^#/, '')
79
+ hex = hex.sub(/^#/, "")
80
80
  matches = hex.match(/(?<red>[a-zA-Z0-9]{2})(?<green>[a-zA-Z0-9]{2})(?<blue>[a-zA-Z0-9]{2})/)
81
81
 
82
82
  [matches[:red].to_i(16), matches[:green].to_i(16), matches[:blue].to_i(16)]
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gdal/raster_band'
4
- require 'numo/narray'
5
- require_relative 'io_extensions'
3
+ require "gdal/raster_band"
4
+ require "numo/narray"
5
+ require_relative "io_extensions"
6
6
 
7
7
  module GDAL
8
8
  class RasterBand
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gdal/raster_band'
3
+ require "gdal/raster_band"
4
4
 
5
5
  module GDAL
6
6
  class RasterBand
@@ -14,7 +14,7 @@ module GDAL
14
14
  return enum_for(:readlines) unless block_given?
15
15
 
16
16
  y_size.times do |row_number|
17
- scan_line = raster_io('r', x_size: x_size, y_size: 1, y_offset: row_number)
17
+ scan_line = raster_io("r", x_size: x_size, y_size: 1, y_offset: row_number)
18
18
  line_array = GDAL._read_pointer(scan_line, data_type, x_size)
19
19
 
20
20
  yield line_array
@@ -57,7 +57,7 @@ module GDAL
57
57
  data_pointer = GDAL._pointer_from_data_type(data_type)
58
58
  GDAL._write_pointer(data_pointer, data_type, new_value)
59
59
 
60
- raster_io('w', data_pointer, x_size: 1, y_size: 1, x_offset: x, y_offset: y, buffer_x_size: 1, buffer_y_size: 1)
60
+ raster_io("w", data_pointer, x_size: 1, y_size: 1, x_offset: x, y_offset: y, buffer_x_size: 1, buffer_y_size: 1)
61
61
  end
62
62
 
63
63
  # Convenience method for directly getting a single pixel value.
@@ -66,7 +66,7 @@ module GDAL
66
66
  # @param y [Integer] Row number of the pixel to get.
67
67
  # @return [Number]
68
68
  def pixel_value(x, y)
69
- output = raster_io('r', x_size: 1, y_size: 1, x_offset: x, y_offset: y, buffer_x_size: 1, buffer_y_size: 1)
69
+ output = raster_io("r", x_size: 1, y_size: 1, x_offset: x, y_offset: y, buffer_x_size: 1, buffer_y_size: 1)
70
70
 
71
71
  GDAL._read_pointer(output, data_type)
72
72
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gdal'
4
- require 'numo/narray'
3
+ require "gdal"
4
+ require "numo/narray"
5
5
 
6
6
  module GDAL
7
7
  # Takes a list of Ranges of color values and remaps them. Note that these
@@ -35,7 +35,7 @@ module GDAL
35
35
  # @param range [Range] The range of values to map to a new value.
36
36
  # @param map_to_value [Number]
37
37
  def add_range(range, map_to_value)
38
- raise 'range must be a Ruby Range' unless range.is_a? Range
38
+ raise "range must be a Ruby Range" unless range.is_a? Range
39
39
 
40
40
  @ranges << { range: range, map_to: map_to_value }
41
41
  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 GeoTransform
data/lib/gdal/grid.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'forwardable'
4
- require 'narray'
5
- require_relative '../gdal'
6
- require_relative 'grid_algorithms'
3
+ require "forwardable"
4
+ require "narray"
5
+ require_relative "../gdal"
6
+ require_relative "grid_algorithms"
7
7
 
8
8
  module GDAL
9
9
  # Wrapper for GDAL's [Grid API](http://www.gdal.org/grid_tutorial.html).
@@ -38,7 +38,7 @@ module GDAL
38
38
  points = points.to_a if points.is_a? NArray
39
39
  point_count = points.length
40
40
  log "Number of points: #{point_count}"
41
- raise GDAL::NoValuesToGrid, 'No points to grid' if point_count.zero?
41
+ raise GDAL::NoValuesToGrid, "No points to grid" if point_count.zero?
42
42
 
43
43
  points = points.transpose
44
44
  x_input_coordinates_ptr = make_points_pointer(points[0])
@@ -73,7 +73,7 @@ module GDAL
73
73
 
74
74
  # @param points [Array]
75
75
  def make_points_pointer(points)
76
- raise GDAL::Error, 'No points to make pointer for' if points.compact.empty?
76
+ raise GDAL::Error, "No points to make pointer for" if points.compact.empty?
77
77
 
78
78
  input_coordinates_ptr = FFI::MemoryPointer.new(:double, points.length)
79
79
  input_coordinates_ptr.write_array_of_double(points)
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'data_metrics_base'
3
+ require_relative "data_metrics_base"
4
4
 
5
5
  module GDAL
6
6
  module GridAlgorithms
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'data_metrics_base'
3
+ require_relative "data_metrics_base"
4
4
 
5
5
  module GDAL
6
6
  module GridAlgorithms
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'data_metrics_base'
3
+ require_relative "data_metrics_base"
4
4
 
5
5
  module GDAL
6
6
  module GridAlgorithms
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'data_metrics_base'
3
+ require_relative "data_metrics_base"
4
4
 
5
5
  module GDAL
6
6
  module GridAlgorithms
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'data_metrics_base'
3
+ require_relative "data_metrics_base"
4
4
 
5
5
  module GDAL
6
6
  module GridAlgorithms
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'data_metrics_base'
3
+ require_relative "data_metrics_base"
4
4
 
5
5
  module GDAL
6
6
  module GridAlgorithms
@@ -3,22 +3,22 @@
3
3
  module GDAL
4
4
  module GridAlgorithms
5
5
  autoload :InverseDistanceToAPower,
6
- File.expand_path('grid_algorithms/inverse_distance_to_a_power', __dir__)
6
+ File.expand_path("grid_algorithms/inverse_distance_to_a_power", __dir__)
7
7
  autoload :MetricAverageDistance,
8
- File.expand_path('grid_algorithms/metric_average_distance', __dir__)
8
+ File.expand_path("grid_algorithms/metric_average_distance", __dir__)
9
9
  autoload :MetricAverageDistancePts,
10
- File.expand_path('grid_algorithms/metric_average_distance_pts', __dir__)
10
+ File.expand_path("grid_algorithms/metric_average_distance_pts", __dir__)
11
11
  autoload :MetricCount,
12
- File.expand_path('grid_algorithms/metric_count', __dir__)
12
+ File.expand_path("grid_algorithms/metric_count", __dir__)
13
13
  autoload :MetricMaximum,
14
- File.expand_path('grid_algorithms/metric_maximum', __dir__)
14
+ File.expand_path("grid_algorithms/metric_maximum", __dir__)
15
15
  autoload :MetricMinimum,
16
- File.expand_path('grid_algorithms/metric_minimum', __dir__)
16
+ File.expand_path("grid_algorithms/metric_minimum", __dir__)
17
17
  autoload :MetricRange,
18
- File.expand_path('grid_algorithms/metric_range', __dir__)
18
+ File.expand_path("grid_algorithms/metric_range", __dir__)
19
19
  autoload :MovingAverage,
20
- File.expand_path('grid_algorithms/moving_average', __dir__)
20
+ File.expand_path("grid_algorithms/moving_average", __dir__)
21
21
  autoload :NearestNeighbor,
22
- File.expand_path('grid_algorithms/nearest_neighbor', __dir__)
22
+ File.expand_path("grid_algorithms/nearest_neighbor", __dir__)
23
23
  end
24
24
  end
@@ -124,7 +124,7 @@ module GDAL
124
124
  yield result_ptr_ptr
125
125
 
126
126
  result = if result_ptr_ptr.null?
127
- ''
127
+ ""
128
128
  else
129
129
  GDAL._read_pointer_pointer_safely(result_ptr_ptr, :string)
130
130
  end
@@ -241,8 +241,8 @@ module GDAL
241
241
  # @raise [GDAL::InvalidAccessFlag] If +char+ is not 'r' or 'w'.
242
242
  def _gdal_access_flag(char)
243
243
  case char
244
- when 'r' then :GF_Read
245
- when 'w' then :GF_Write
244
+ when "r" then :GF_Read
245
+ when "w" then :GF_Write
246
246
  else raise GDAL::InvalidAccessFlag, "Invalid access flag: #{char}"
247
247
  end
248
248
  end
data/lib/gdal/logger.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'log_switch'
3
+ require "log_switch"
4
4
 
5
5
  module GDAL
6
6
  module Logger
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../gdal'
4
- require 'multi_xml'
3
+ require_relative "../gdal"
4
+ require "multi_xml"
5
5
 
6
6
  module GDAL
7
7
  module MajorObject
@@ -31,7 +31,7 @@ module GDAL
31
31
  data_array = m.get_array_of_string(0)
32
32
 
33
33
  data_array.each_with_object({}) do |key_value_pair, obj|
34
- key, value = key_value_pair.split('=', 2)
34
+ key, value = key_value_pair.split("=", 2)
35
35
 
36
36
  begin
37
37
  obj[key] = MultiXml.parse(value)
@@ -44,15 +44,15 @@ module GDAL
44
44
  # @param name [String]
45
45
  # @param domain [String]
46
46
  # @return [String]
47
- def metadata_item(name, domain = '')
47
+ def metadata_item(name, domain = "")
48
48
  item, ptr = FFI::GDAL::GDAL.GDALGetMetadataItem(@c_pointer, name, domain)
49
49
  ptr.autorelease = false
50
50
 
51
51
  item
52
52
  end
53
53
 
54
- def set_metadata_item(name, value, domain = '')
55
- GDAL::CPLErrorHandler.manually_handle('Unable to set metadata item') do
54
+ def set_metadata_item(name, value, domain = "")
55
+ GDAL::CPLErrorHandler.manually_handle("Unable to set metadata item") do
56
56
  FFI::GDAL::GDAL.GDALSetMetadataItem(@c_pointer, name, value.to_s, domain)
57
57
  end
58
58
  end
data/lib/gdal/options.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffi'
3
+ require "ffi"
4
4
 
5
5
  module GDAL
6
6
  # A wrapper for the way GDAL does key/value pair options for methods.
@@ -39,7 +39,7 @@ module GDAL
39
39
  key_and_value, ptr = FFI::CPL::String.CSLGetField(pointer, i)
40
40
  ptr.autorelease = false
41
41
 
42
- key, value = key_and_value.split('=')
42
+ key, value = key_and_value.split("=")
43
43
  o[key.downcase.to_sym] = value
44
44
  end
45
45
  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 RasterAttributeTable
@@ -13,7 +13,7 @@ module GDAL
13
13
  color_table_ptr = GDAL._pointer(GDAL::ColorTable, color_table, autorelease: false)
14
14
  rat_ptr = FFI::GDAL::GDAL.GDALCreateRasterAttributeTable
15
15
 
16
- GDAL::CPLErrorHandler.manually_handle('Unable to initialize from ColorTable') do
16
+ GDAL::CPLErrorHandler.manually_handle("Unable to initialize from ColorTable") do
17
17
  FFI::GDAL::GDAL.GDALRATInitializeFromColorTable(rat_ptr, color_table_ptr)
18
18
  end
19
19
 
@@ -110,7 +110,7 @@ module GDAL
110
110
  # @param usage [FFI::GDAL::GDALRATFieldUsage]
111
111
  # @raise [GDAL::Error]
112
112
  def create_column(name, type, usage)
113
- GDAL::CPLErrorHandler.manually_handle('Unable to create column') do
113
+ GDAL::CPLErrorHandler.manually_handle("Unable to create column") do
114
114
  FFI::GDAL::GDAL.GDALRATCreateColumn(@c_pointer, name, type, usage)
115
115
  end
116
116
  end
@@ -202,7 +202,7 @@ module GDAL
202
202
  # @param bin_size [Float]
203
203
  # @raise [GDAL::Error]
204
204
  def set_linear_binning(row_0_minimum, bin_size)
205
- GDAL::CPLErrorHandler.manually_handle('Unable to set linear binning') do
205
+ GDAL::CPLErrorHandler.manually_handle("Unable to set linear binning") do
206
206
  FFI::GDAL::GDAL.GDALRATSetLinearBinning(@c_pointer, row_0_minimum, bin_size)
207
207
  end
208
208
  end
@@ -219,7 +219,7 @@ module GDAL
219
219
 
220
220
  # @param file_path [String] Without giving a +file_path+, dumps to STDOUT.
221
221
  def dump_readable(file_path = nil)
222
- file_ptr = file_path ? FFI::CPL::Conv.CPLOpenShared(file_path, 'w', false) : nil
222
+ file_ptr = file_path ? FFI::CPL::Conv.CPLOpenShared(file_path, "w", false) : nil
223
223
  FFI::GDAL::GDAL.GDALRATDumpReadable(@c_pointer, file_ptr)
224
224
  FFI::CPL::Conv.CPLCloseShared(file_ptr) if file_ptr
225
225
  end