ffi-gdal 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
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 +15 -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 +6 -6
  14. data/bin/rspec +6 -6
  15. data/bin/rubocop +6 -6
  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 -7
  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 +11 -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