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