proj4rb 2.0.0 → 3.0.0
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/ChangeLog +34 -8
- data/README.rdoc +24 -25
- data/Rakefile +1 -0
- data/lib/api/api.rb +118 -0
- data/lib/api/api_4_9.rb +31 -0
- data/lib/api/api_5_0.rb +301 -0
- data/lib/api/api_5_1.rb +7 -0
- data/lib/api/api_5_2.rb +5 -0
- data/lib/api/api_6_0.rb +42 -0
- data/lib/api/api_6_1.rb +5 -0
- data/lib/api/api_6_2.rb +7 -0
- data/lib/{area.rb → proj/area.rb} +32 -32
- data/lib/{config.rb → proj/config.rb} +69 -69
- data/lib/{context.rb → proj/context.rb} +102 -102
- data/lib/{coordinate.rb → proj/coordinate.rb} +197 -197
- data/lib/{crs.rb → proj/crs.rb} +204 -206
- data/lib/{ellipsoid.rb → proj/ellipsoid.rb} +41 -41
- data/lib/{error.rb → proj/error.rb} +17 -17
- data/lib/{operation.rb → proj/operation.rb} +42 -42
- data/lib/{pj_object.rb → proj/pj_object.rb} +80 -82
- data/lib/{point.rb → proj/point.rb} +72 -72
- data/lib/{prime_meridian.rb → proj/prime_meridian.rb} +39 -39
- data/lib/{projection.rb → proj/projection.rb} +206 -206
- data/lib/{transformation.rb → proj/transformation.rb} +60 -60
- data/lib/{unit.rb → proj/unit.rb} +53 -53
- data/lib/proj.rb +31 -31
- data/proj4rb.gemspec +5 -3
- data/test/context_test.rb +81 -81
- data/test/crs_test.rb +1 -1
- data/test/proj_test.rb +5 -5
- data/test/projection_test.rb +183 -181
- metadata +58 -22
data/test/projection_test.rb
CHANGED
@@ -2,223 +2,225 @@
|
|
2
2
|
|
3
3
|
require_relative './abstract_test'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
def test_arg_fail
|
19
|
-
assert_raises ArgumentError do
|
20
|
-
Proj::Projection.parse()
|
5
|
+
if Proj::Api::PROJ_VERSION < Gem::Version.new('8.0.0')
|
6
|
+
class ProjectionTest < AbstractTest
|
7
|
+
PRECISION = 0.1 ** 4
|
8
|
+
|
9
|
+
def setup
|
10
|
+
@proj_wgs84 = Proj::Projection.new(["init=epsg:4326"]) # WGS84
|
11
|
+
@proj_gk = Proj::Projection.new(["+init=epsg:31467"]) # Gauss-Kruger Zone 3
|
12
|
+
@proj_merc = Proj::Projection.new(["proj=merc"])
|
13
|
+
@proj_conakry = Proj::Projection.new(["+init=epsg:31528"]) # Conakry 1905 / UTM zone 28N
|
14
|
+
@proj_ortel = Proj::Projection.new(["+proj=ortel", "+lon_0=90w"]) # Ortelius Oval Projection
|
15
|
+
@epsg2029i = ['+init=epsg:2029']
|
16
|
+
@epsg2029_args = ['+proj=utm', '+zone=17', '+ellps=clrk66', '+units=m', '+no_defs']
|
21
17
|
end
|
22
|
-
|
23
|
-
|
18
|
+
|
19
|
+
def test_arg_fail
|
20
|
+
assert_raises ArgumentError do
|
21
|
+
Proj::Projection.parse()
|
22
|
+
end
|
23
|
+
assert_raises ArgumentError do
|
24
|
+
Proj::Projection.parse(nil)
|
25
|
+
end
|
26
|
+
assert_raises ArgumentError do
|
27
|
+
Proj::Projection.parse(1)
|
28
|
+
end
|
24
29
|
end
|
25
|
-
|
26
|
-
|
30
|
+
|
31
|
+
def test_arg_string
|
32
|
+
args = Proj::Projection.parse('+init=epsg:2029')
|
33
|
+
assert_equal(@epsg2029i, args)
|
34
|
+
args = Proj::Projection.parse(' +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs ')
|
35
|
+
assert_equal(@epsg2029_args, args)
|
27
36
|
end
|
28
|
-
end
|
29
37
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
38
|
+
def test_arg_string_with_plus
|
39
|
+
args = Proj::Projection.parse('+init=epsg:2029')
|
40
|
+
assert_equal(@epsg2029i, args)
|
41
|
+
args = Proj::Projection.parse('+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs')
|
42
|
+
assert_equal(@epsg2029_args, args)
|
43
|
+
end
|
36
44
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
45
|
+
def test_arg_array
|
46
|
+
args = Proj::Projection.parse(['+init=epsg:2029'])
|
47
|
+
assert_equal(@epsg2029i, args)
|
48
|
+
args = Proj::Projection.parse(['+proj=utm', '+zone=17', '+ellps=clrk66', '+units=m', '+no_defs'])
|
49
|
+
assert_equal(@epsg2029_args, args)
|
50
|
+
end
|
43
51
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
52
|
+
def test_arg_array_with_plus
|
53
|
+
args = Proj::Projection.parse(['+init=epsg:2029'])
|
54
|
+
assert_equal(@epsg2029i, args)
|
55
|
+
args = Proj::Projection.parse(['+proj=utm', '+zone=17', '+ellps=clrk66', '+units=m', '+no_defs'])
|
56
|
+
assert_equal(@epsg2029_args, args)
|
57
|
+
end
|
50
58
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
59
|
+
def test_arg_hash_with_string
|
60
|
+
args = Proj::Projection.parse('init' => 'epsg:2029')
|
61
|
+
assert_equal(@epsg2029i, args)
|
62
|
+
args = Proj::Projection.parse('proj' => 'utm', 'zone' => '17', 'ellps' => 'clrk66', 'units' => 'm', 'no_defs' => nil)
|
63
|
+
assert_equal(@epsg2029_args, args)
|
64
|
+
end
|
57
65
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
66
|
+
def test_arg_hash_with_symbol
|
67
|
+
args = Proj::Projection.parse(:init => 'epsg:2029')
|
68
|
+
assert_equal(@epsg2029i, args)
|
69
|
+
args = Proj::Projection.parse(:proj => 'utm', :zone => '17', :ellps => 'clrk66', :units => 'm', :no_defs => nil)
|
70
|
+
assert_equal(@epsg2029_args, args)
|
71
|
+
end
|
64
72
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
73
|
+
def test_arg_hash_with_symbol_simple
|
74
|
+
args = Proj::Projection.parse(:init => 'epsg:2029')
|
75
|
+
assert_equal(@epsg2029i, args)
|
76
|
+
args = Proj::Projection.parse(:proj => 'utm', :zone => '17', :ellps => 'clrk66', :units => 'm', :no_defs => nil)
|
77
|
+
assert_equal(@epsg2029_args, args)
|
78
|
+
end
|
71
79
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
end
|
80
|
+
def test_arg_projection
|
81
|
+
proj = Proj::Projection.new(['+init=epsg:2029'])
|
82
|
+
args = Proj::Projection.parse(proj)
|
83
|
+
assert_equal(["+init=epsg:2029", "+proj=utm", "+zone=17", "+ellps=clrk66", "+units=m", "+no_defs"], args)
|
84
|
+
end
|
78
85
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
end
|
86
|
+
def test_init_arg_string
|
87
|
+
proj = Proj::Projection.new('+init=epsg:2029')
|
88
|
+
assert_equal(' +init=epsg:2029 +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs', proj.getDef)
|
89
|
+
end
|
84
90
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
91
|
+
def test_init_arg_array
|
92
|
+
proj = Proj::Projection.new(['+init=epsg:2029'])
|
93
|
+
assert_equal(' +init=epsg:2029 +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs', proj.getDef)
|
94
|
+
end
|
89
95
|
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
96
|
+
def test_init_arg_hash
|
97
|
+
proj = Proj::Projection.new(:proj => 'utm', 'zone' => '17', 'ellps' => 'clrk66', :units => 'm', :no_defs => nil)
|
98
|
+
assert_equal(' +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs', proj.getDef)
|
99
|
+
end
|
94
100
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
101
|
+
def test_init_arg_fail
|
102
|
+
assert_raises Proj::Error do
|
103
|
+
Proj::Projection.new(:proj => 'xxxx')
|
104
|
+
end
|
99
105
|
|
100
|
-
|
101
|
-
|
102
|
-
|
106
|
+
assert_raises Proj::Error do
|
107
|
+
Proj::Projection.new(:foo => 'xxxx')
|
108
|
+
end
|
103
109
|
end
|
104
110
|
|
105
|
-
|
106
|
-
|
111
|
+
def test_is_latlong
|
112
|
+
assert(@proj_wgs84.isLatLong?)
|
113
|
+
refute(@proj_gk.isLatLong?)
|
114
|
+
refute(@proj_conakry.isLatLong?)
|
115
|
+
refute(@proj_ortel.isLatLong?)
|
107
116
|
end
|
108
|
-
end
|
109
117
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
def test_is_geocent
|
118
|
-
assert_equal(@proj_gk.isGeocent?, @proj_gk.isGeocentric?) # two names for same method
|
119
|
-
refute(@proj_wgs84.isGeocent?)
|
120
|
-
refute(@proj_gk.isGeocent?)
|
121
|
-
refute(@proj_conakry.isGeocent?)
|
122
|
-
refute(@proj_ortel.isGeocent?)
|
123
|
-
end
|
118
|
+
def test_is_geocent
|
119
|
+
assert_equal(@proj_gk.isGeocent?, @proj_gk.isGeocentric?) # two names for same method
|
120
|
+
refute(@proj_wgs84.isGeocent?)
|
121
|
+
refute(@proj_gk.isGeocent?)
|
122
|
+
refute(@proj_conakry.isGeocent?)
|
123
|
+
refute(@proj_ortel.isGeocent?)
|
124
|
+
end
|
124
125
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
126
|
+
def test_get_def
|
127
|
+
assert_equal(' +init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0', @proj_wgs84.getDef)
|
128
|
+
assert_equal(' +init=epsg:31467 +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs', @proj_gk.getDef)
|
129
|
+
assert_equal('+proj=ortel +lon_0=90w +ellps=GRS80', @proj_ortel.getDef.strip)
|
130
|
+
end
|
130
131
|
|
131
|
-
|
132
|
-
|
133
|
-
|
132
|
+
def test_to_s
|
133
|
+
assert_equal('#<Proj::Projection +init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0>', @proj_wgs84.to_s)
|
134
|
+
end
|
134
135
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
136
|
+
def test_projection
|
137
|
+
assert_equal('longlat', @proj_wgs84.projection)
|
138
|
+
assert_equal('tmerc', @proj_gk.projection)
|
139
|
+
assert_equal('utm', @proj_conakry.projection)
|
140
|
+
assert_equal('ortel', @proj_ortel.projection)
|
141
|
+
end
|
141
142
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
143
|
+
def test_datum
|
144
|
+
assert_equal('WGS84', @proj_wgs84.datum)
|
145
|
+
assert_nil(@proj_gk.datum)
|
146
|
+
assert_nil(@proj_conakry.datum)
|
147
|
+
end
|
147
148
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
149
|
+
# echo "8.4302123334 48.9906726079" | proj +init=epsg:31467 -
|
150
|
+
def test_forward_gk
|
151
|
+
point = Proj::Point.new(8.4302123334, 48.9906726079)
|
152
|
+
result = @proj_gk.forward(point.to_radians)
|
153
|
+
assert_in_delta(3458305.0, result.x, 0.1)
|
154
|
+
assert_in_delta(5428192.0, result.y, 0.1)
|
155
|
+
end
|
155
156
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
157
|
+
def test_forward_gk_degrees
|
158
|
+
point = Proj::Point.new(8.4302123334, 48.9906726079)
|
159
|
+
result = @proj_gk.forwardDeg(point)
|
160
|
+
assert_in_delta(3458305.0, result.x, 0.1)
|
161
|
+
assert_in_delta(5428192.0, result.y, 0.1)
|
162
|
+
end
|
162
163
|
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
164
|
+
# echo "3458305 5428192" | invproj -f '%.10f' +init=epsg:31467 -
|
165
|
+
def test_inverse_gk
|
166
|
+
point = Proj::Point.new(3458305.0, 5428192.0)
|
167
|
+
result = @proj_gk.inverse(point).to_degrees
|
168
|
+
assert_in_delta(result.x, 8.4302123334, PRECISION)
|
169
|
+
assert_in_delta(result.y, 48.9906726079, PRECISION)
|
170
|
+
end
|
170
171
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
172
|
+
def test_inverse_gk_degrees
|
173
|
+
point = Proj::Point.new(3458305.0, 5428192.0)
|
174
|
+
result = @proj_gk.inverseDeg(point)
|
175
|
+
assert_in_delta(result.x, 8.4302123334, PRECISION)
|
176
|
+
assert_in_delta(result.y, 48.9906726079, PRECISION)
|
177
|
+
end
|
177
178
|
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
179
|
+
# echo "190 92" | proj +init=epsg:31467 -
|
180
|
+
def test_out_of_bounds
|
181
|
+
error = assert_raises(Proj::Error) do
|
182
|
+
point = Proj::Point.new(190, 92).to_radians
|
183
|
+
@proj_gk.forward(point)
|
184
|
+
end
|
185
|
+
assert_equal('latitude or longitude exceeded limits', error.message)
|
183
186
|
end
|
184
|
-
assert_equal('latitude or longitude exceeded limits', error.message)
|
185
|
-
end
|
186
187
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
188
|
+
# echo "3458305 5428192" | cs2cs -f '%.10f' +init=epsg:31467 +to +init=epsg:4326 -
|
189
|
+
def test_gk_to_wgs84
|
190
|
+
from = Proj::Point.new(3458305.0, 5428192.0)
|
191
|
+
to = @proj_gk.transform(@proj_wgs84, from).to_degrees
|
192
|
+
assert_in_delta(8.4302123334, to.x, PRECISION)
|
193
|
+
assert_in_delta(48.9906726079, to.y, PRECISION)
|
194
|
+
end
|
194
195
|
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
196
|
+
# echo "8.4293092923 48.9896114523" | cs2cs -f '%.10f' +init=epsg:4326 +to +init=epsg:31467 -
|
197
|
+
def test_wgs84_to_gk
|
198
|
+
from = Proj::Point.new(8.4302123334, 48.9906726079)
|
199
|
+
to = @proj_wgs84.transform(@proj_gk, from.to_radians)
|
200
|
+
assert_in_delta(3458305.0, to.x, PRECISION)
|
201
|
+
assert_in_delta(5428192.0, to.y, PRECISION)
|
202
|
+
end
|
202
203
|
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
204
|
+
def test_mercator_at_pole_raise
|
205
|
+
from = Proj::Point.new(0, 90)
|
206
|
+
assert_raises(Proj::Error) do
|
207
|
+
@proj_wgs84.transform(@proj_merc, from.to_radians)
|
208
|
+
end
|
207
209
|
end
|
208
|
-
end
|
209
210
|
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
211
|
+
def test_collection
|
212
|
+
from0 = Proj::Point.new(3458305.0, 5428192.0)
|
213
|
+
from1 = Proj::Point.new(0, 0)
|
214
|
+
collection = @proj_gk.transform_all(@proj_wgs84, [from0, from1])
|
214
215
|
|
215
|
-
|
216
|
-
|
216
|
+
to0 = collection[0].to_degrees
|
217
|
+
to1 = collection[1].to_degrees
|
217
218
|
|
218
|
-
|
219
|
-
|
219
|
+
assert_in_delta(8.4302123334, to0.x, PRECISION)
|
220
|
+
assert_in_delta(48.9906726079, to0.y, PRECISION)
|
220
221
|
|
221
|
-
|
222
|
-
|
222
|
+
assert_in_delta(-20.9657785647, to1.x, PRECISION)
|
223
|
+
assert_in_delta(0, to1.y, PRECISION)
|
224
|
+
end
|
223
225
|
end
|
224
226
|
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: proj4rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guilhem Vellut
|
8
8
|
- Jochen Topf
|
9
9
|
- Charlie Savage
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-09-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ffi
|
@@ -26,6 +26,34 @@ dependencies:
|
|
26
26
|
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '0'
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: bundler
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: '0'
|
36
|
+
type: :development
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0'
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: rake
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
type: :development
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
29
57
|
- !ruby/object:Gem::Dependency
|
30
58
|
name: minitest
|
31
59
|
requirement: !ruby/object:Gem::Requirement
|
@@ -57,7 +85,7 @@ dependencies:
|
|
57
85
|
description: " Proj4rb is a ruby binding for the Proj.4 Carthographic Projection
|
58
86
|
library, that supports conversions between a very large number of geographic coordinate
|
59
87
|
systems and datumspec.\n"
|
60
|
-
email:
|
88
|
+
email:
|
61
89
|
executables: []
|
62
90
|
extensions: []
|
63
91
|
extra_rdoc_files: []
|
@@ -67,22 +95,30 @@ files:
|
|
67
95
|
- MIT-LICENSE
|
68
96
|
- README.rdoc
|
69
97
|
- Rakefile
|
70
|
-
- lib/
|
71
|
-
- lib/
|
72
|
-
- lib/
|
73
|
-
- lib/
|
74
|
-
- lib/
|
75
|
-
- lib/
|
76
|
-
- lib/
|
77
|
-
- lib/
|
78
|
-
- lib/pj_object.rb
|
79
|
-
- lib/point.rb
|
80
|
-
- lib/prime_meridian.rb
|
98
|
+
- lib/api/api.rb
|
99
|
+
- lib/api/api_4_9.rb
|
100
|
+
- lib/api/api_5_0.rb
|
101
|
+
- lib/api/api_5_1.rb
|
102
|
+
- lib/api/api_5_2.rb
|
103
|
+
- lib/api/api_6_0.rb
|
104
|
+
- lib/api/api_6_1.rb
|
105
|
+
- lib/api/api_6_2.rb
|
81
106
|
- lib/proj.rb
|
107
|
+
- lib/proj/area.rb
|
108
|
+
- lib/proj/config.rb
|
109
|
+
- lib/proj/context.rb
|
110
|
+
- lib/proj/coordinate.rb
|
111
|
+
- lib/proj/crs.rb
|
112
|
+
- lib/proj/ellipsoid.rb
|
113
|
+
- lib/proj/error.rb
|
114
|
+
- lib/proj/operation.rb
|
115
|
+
- lib/proj/pj_object.rb
|
116
|
+
- lib/proj/point.rb
|
117
|
+
- lib/proj/prime_meridian.rb
|
118
|
+
- lib/proj/projection.rb
|
119
|
+
- lib/proj/transformation.rb
|
120
|
+
- lib/proj/unit.rb
|
82
121
|
- lib/proj4.rb
|
83
|
-
- lib/projection.rb
|
84
|
-
- lib/transformation.rb
|
85
|
-
- lib/unit.rb
|
86
122
|
- proj4rb.gemspec
|
87
123
|
- test/abstract_test.rb
|
88
124
|
- test/context_test.rb
|
@@ -99,7 +135,7 @@ homepage: https://github.com/cfis/proj4rb
|
|
99
135
|
licenses:
|
100
136
|
- MIT
|
101
137
|
metadata: {}
|
102
|
-
post_install_message:
|
138
|
+
post_install_message:
|
103
139
|
rdoc_options: []
|
104
140
|
require_paths:
|
105
141
|
- lib
|
@@ -107,7 +143,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
107
143
|
requirements:
|
108
144
|
- - ">="
|
109
145
|
- !ruby/object:Gem::Version
|
110
|
-
version: 2.4.
|
146
|
+
version: 2.4.1
|
111
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
148
|
requirements:
|
113
149
|
- - ">="
|
@@ -115,8 +151,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
151
|
version: '0'
|
116
152
|
requirements:
|
117
153
|
- Proj (Proj4) Library
|
118
|
-
rubygems_version: 3.
|
119
|
-
signing_key:
|
154
|
+
rubygems_version: 3.2.28
|
155
|
+
signing_key:
|
120
156
|
specification_version: 4
|
121
157
|
summary: Ruby bindings for the Proj.4 Carthographic Projection library
|
122
158
|
test_files: []
|