ffi-gdal 1.0.0.beta11 → 1.0.0.beta12
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.
- checksums.yaml +4 -4
- data/.gitignore +21 -20
- data/History.md +11 -0
- data/lib/ffi/gdal/version.rb +1 -1
- data/lib/ffi/ogr/api.rb +2 -0
- data/lib/ffi/ogr/core.rb +1 -0
- data/lib/ffi/ogr/srs_api.rb +3 -1
- data/lib/gdal.rb +1 -0
- data/lib/gdal/dataset_mixins/extensions.rb +1 -1
- data/lib/gdal/major_object.rb +0 -5
- data/lib/gdal/raster_band_classifier.rb +3 -0
- data/lib/ogr/spatial_reference_mixins/exporters.rb +3 -3
- data/spec/integration/gdal/driver_info_spec.rb +1 -1
- data/spec/support/shared_examples/gdal/major_object_examples.rb +0 -9
- data/spec/unit/ogr/data_source_mixins/capability_methods_spec.rb +1 -1
- data/spec/unit/ogr/feature_spec.rb +4 -4
- data/spec/unit/ogr/geometries/point_spec.rb +3 -3
- data/spec/unit/ogr/geometry_spec.rb +2 -1
- data/spec/unit/ogr/layer_mixins/capability_methods_spec.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
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/History.md
CHANGED
@@ -2,6 +2,17 @@
|
|
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
|
+
|
5
16
|
## 1.0.0.beta11 / 2020-06-02
|
6
17
|
|
7
18
|
### Bug Fixes
|
data/lib/ffi/gdal/version.rb
CHANGED
data/lib/ffi/ogr/api.rb
CHANGED
data/lib/ffi/ogr/core.rb
CHANGED
data/lib/ffi/ogr/srs_api.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'ffi'
|
4
|
+
require_relative '../gdal'
|
3
5
|
require_relative '../../ext/ffi_library_function_checks'
|
4
6
|
|
5
7
|
module FFI
|
@@ -166,7 +168,7 @@ module FFI
|
|
166
168
|
attach_function :OSRExportToXML, %i[OGRSpatialReferenceH pointer buffer_out], FFI::OGR::Core::Err
|
167
169
|
attach_function :OSRExportToMICoordSys, %i[OGRSpatialReferenceH pointer], FFI::OGR::Core::Err
|
168
170
|
attach_function :OSRExportToERM,
|
169
|
-
%i[OGRSpatialReferenceH
|
171
|
+
%i[OGRSpatialReferenceH pointer pointer pointer],
|
170
172
|
FFI::OGR::Core::Err
|
171
173
|
attach_function :OSRMorphToESRI, %i[OGRSpatialReferenceH], FFI::OGR::Core::Err
|
172
174
|
attach_function :OSRMorphFromESRI, %i[OGRSpatialReferenceH], FFI::OGR::Core::Err
|
data/lib/gdal.rb
CHANGED
@@ -281,7 +281,7 @@ module GDAL
|
|
281
281
|
pixel_value_field = layer.feature_definition.field_index(field_name)
|
282
282
|
options = { pixel_value_field: pixel_value_field }
|
283
283
|
options[:mask_band] = band.mask_band if use_band_masks
|
284
|
-
band.polygonize(layer, options)
|
284
|
+
band.polygonize(layer, **options)
|
285
285
|
end
|
286
286
|
|
287
287
|
if block_given?
|
data/lib/gdal/major_object.rb
CHANGED
@@ -67,11 +67,6 @@ module GDAL
|
|
67
67
|
FFI::GDAL::GDAL.GDALGetDescription(@c_pointer)
|
68
68
|
end
|
69
69
|
|
70
|
-
# @param new_description [String]
|
71
|
-
def description=(new_description)
|
72
|
-
FFI::GDAL::GDAL.GDALSetDescription(@c_pointer, new_description.to_s)
|
73
|
-
end
|
74
|
-
|
75
70
|
def null?
|
76
71
|
@c_pointer.null?
|
77
72
|
end
|
@@ -99,6 +99,9 @@ module GDAL
|
|
99
99
|
new_band_pixels[data_pixels & band_pixels.le(r[:range].max) & band_pixels.ge(r[:range].min)] = r[:map_to]
|
100
100
|
end
|
101
101
|
|
102
|
+
in_range = @ranges.map { |r| band_pixels.le(r[:range].max) & band_pixels.ge(r[:range].min) }.reduce(:|)
|
103
|
+
new_band_pixels[data_pixels & ~in_range] = 0 if in_range
|
104
|
+
|
102
105
|
mask_nan(new_band_pixels, data_pixels) if nodata_is_nan?
|
103
106
|
@raster_band.write_xy_narray(new_band_pixels)
|
104
107
|
end
|
@@ -6,9 +6,9 @@ module OGR
|
|
6
6
|
# @return [Hash]
|
7
7
|
# @raise [OGR::NotEnoughData] If name, datum name, and units are not set.
|
8
8
|
def to_erm
|
9
|
-
projection_name = FFI::MemoryPointer.new(:string)
|
10
|
-
datum_name = FFI::MemoryPointer.new(:string)
|
11
|
-
units = FFI::MemoryPointer.new(:string)
|
9
|
+
projection_name = FFI::MemoryPointer.new(:string, 32)
|
10
|
+
datum_name = FFI::MemoryPointer.new(:string, 32)
|
11
|
+
units = FFI::MemoryPointer.new(:string, 32)
|
12
12
|
|
13
13
|
ogr_err = FFI::OGR::SRSAPI.OSRExportToERM(@c_pointer, projection_name, datum_name, units)
|
14
14
|
ogr_err.handle_result 'Required parameters (name, datum name, units) are not defined'
|
@@ -49,15 +49,6 @@ RSpec.shared_examples 'a major object' do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
describe '#description=' do
|
53
|
-
context 'new description is a string' do
|
54
|
-
it 'sets the items description' do
|
55
|
-
subject.description = 'a test description'
|
56
|
-
expect(subject.description).to eq 'a test description'
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
52
|
describe '#null?' do
|
62
53
|
it { is_expected.to_not be_null }
|
63
54
|
end
|
@@ -210,10 +210,10 @@ RSpec.describe OGR::Feature do
|
|
210
210
|
end
|
211
211
|
end
|
212
212
|
|
213
|
-
context 'value is
|
214
|
-
it 'returns an
|
215
|
-
subject.
|
216
|
-
expect(subject.field_as_string_list(5)).to eq []
|
213
|
+
context 'value is an Array of Integers' do
|
214
|
+
it 'returns an Array of Strings' do
|
215
|
+
subject.set_field_string_list(5, [1, 2, 3])
|
216
|
+
expect(subject.field_as_string_list(5)).to eq %w[1 2 3]
|
217
217
|
end
|
218
218
|
end
|
219
219
|
end
|
@@ -237,7 +237,7 @@ RSpec.describe OGR::Point do
|
|
237
237
|
let(:wkt) { 'POINT EMPTY' }
|
238
238
|
|
239
239
|
describe '#coordinate_dimension' do
|
240
|
-
specify { expect(subject.coordinate_dimension).to eq
|
240
|
+
specify { expect(subject.coordinate_dimension).to eq 2 }
|
241
241
|
end
|
242
242
|
|
243
243
|
describe '#geometry_count' do
|
@@ -299,8 +299,8 @@ RSpec.describe OGR::Point do
|
|
299
299
|
end
|
300
300
|
|
301
301
|
describe '#envelope' do
|
302
|
-
it 'returns
|
303
|
-
expect(subject.envelope).to
|
302
|
+
it 'returns an OGR::Envelope' do
|
303
|
+
expect(subject.envelope).to be_a OGR::Envelope
|
304
304
|
end
|
305
305
|
end
|
306
306
|
end
|
@@ -673,7 +673,8 @@ RSpec.describe OGR::Geometry do
|
|
673
673
|
|
674
674
|
context 'wkbLinearRing' do
|
675
675
|
subject { described_class.type_to_name(:wkbLinearRing) }
|
676
|
-
|
676
|
+
# Per GDAL docs, LinearRing is only used for geometry creation.
|
677
|
+
it { is_expected.to eq 'Unrecognized: 101' }
|
677
678
|
end
|
678
679
|
end
|
679
680
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-gdal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Loveless
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|
@@ -192,7 +192,7 @@ dependencies:
|
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: '0.9'
|
195
|
-
description:
|
195
|
+
description:
|
196
196
|
email:
|
197
197
|
- steve@agrian.com
|
198
198
|
executables: []
|
@@ -528,7 +528,7 @@ homepage: http://bitbucket.org/agrian/ffi-gdal
|
|
528
528
|
licenses:
|
529
529
|
- MIT
|
530
530
|
metadata: {}
|
531
|
-
post_install_message:
|
531
|
+
post_install_message:
|
532
532
|
rdoc_options: []
|
533
533
|
require_paths:
|
534
534
|
- lib
|
@@ -543,8 +543,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
543
543
|
- !ruby/object:Gem::Version
|
544
544
|
version: 1.3.1
|
545
545
|
requirements: []
|
546
|
-
rubygems_version: 3.1.
|
547
|
-
signing_key:
|
546
|
+
rubygems_version: 3.1.6
|
547
|
+
signing_key:
|
548
548
|
specification_version: 4
|
549
549
|
summary: FFI wrapper for GDAL/OGR.
|
550
550
|
test_files:
|