proj4rb 1.0.0 → 2.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.
Files changed (87) hide show
  1. checksums.yaml +5 -5
  2. data/ChangeLog +46 -0
  3. data/Gemfile +4 -0
  4. data/README.rdoc +158 -148
  5. data/Rakefile +26 -41
  6. data/lib/area.rb +32 -0
  7. data/lib/config.rb +70 -0
  8. data/lib/context.rb +103 -0
  9. data/lib/coordinate.rb +197 -0
  10. data/lib/crs.rb +206 -0
  11. data/lib/ellipsoid.rb +42 -0
  12. data/lib/error.rb +18 -0
  13. data/lib/operation.rb +43 -0
  14. data/lib/pj_object.rb +82 -0
  15. data/lib/point.rb +72 -0
  16. data/lib/prime_meridian.rb +40 -0
  17. data/lib/proj.rb +31 -0
  18. data/lib/proj4.rb +3 -469
  19. data/lib/projection.rb +207 -0
  20. data/lib/transformation.rb +61 -0
  21. data/lib/unit.rb +54 -0
  22. data/proj4rb.gemspec +31 -0
  23. data/test/abstract_test.rb +7 -0
  24. data/test/context_test.rb +82 -0
  25. data/test/coordinate_test.rb +35 -0
  26. data/test/crs_test.rb +373 -0
  27. data/test/ellipsoid_test.rb +34 -0
  28. data/test/operation_test.rb +29 -0
  29. data/test/prime_meridians_test.rb +33 -0
  30. data/test/proj_test.rb +17 -0
  31. data/test/projection_test.rb +224 -0
  32. data/test/transformation_test.rb +68 -0
  33. data/test/unit_test.rb +47 -0
  34. metadata +82 -77
  35. data/data/GL27 +0 -22
  36. data/data/MD +0 -0
  37. data/data/TN +0 -0
  38. data/data/WI +0 -0
  39. data/data/WO +0 -0
  40. data/data/conus +0 -0
  41. data/data/epsg +0 -5443
  42. data/data/epsg-deprecated +0 -2
  43. data/data/esri +0 -5937
  44. data/data/esri.extra +0 -948
  45. data/data/hawaii +0 -0
  46. data/data/nad.lst +0 -142
  47. data/data/nad27 +0 -809
  48. data/data/nad83 +0 -744
  49. data/data/ntv1_can.dat +0 -0
  50. data/data/null +0 -0
  51. data/data/other.extra +0 -49
  52. data/data/proj_def.dat +0 -17
  53. data/data/prvi +0 -0
  54. data/data/stgeorge +0 -0
  55. data/data/stlrnc +0 -0
  56. data/data/stpaul +0 -0
  57. data/data/world +0 -212
  58. data/example/basic.rb +0 -18
  59. data/example/list-datums.rb +0 -17
  60. data/example/list-ellipsoids.rb +0 -17
  61. data/example/list-errors.rb +0 -11
  62. data/example/list-prime-meridians.rb +0 -17
  63. data/example/list-projection-types.rb +0 -17
  64. data/example/list-units.rb +0 -17
  65. data/example/version.rb +0 -8
  66. data/ext/Makefile +0 -238
  67. data/ext/extconf.rb +0 -16
  68. data/ext/mkmf.log +0 -103
  69. data/ext/out.log +0 -0
  70. data/ext/proj4_ruby-x64-mingw32.def +0 -2
  71. data/ext/proj4_ruby.so +0 -0
  72. data/ext/projrb.c +0 -566
  73. data/ext/projrb.o +0 -0
  74. data/ext/vc/proj4_ruby.sln +0 -19
  75. data/ext/vc/proj4_ruby.vcproj +0 -208
  76. data/test/test_constants.rb +0 -18
  77. data/test/test_create_projection.rb +0 -63
  78. data/test/test_datums.rb +0 -45
  79. data/test/test_ellipsoids.rb +0 -46
  80. data/test/test_errors.rb +0 -66
  81. data/test/test_init_projection.rb +0 -109
  82. data/test/test_prime_meridians.rb +0 -45
  83. data/test/test_projection_type.rb +0 -44
  84. data/test/test_simple_projection.rb +0 -58
  85. data/test/test_suite.rb +0 -14
  86. data/test/test_transform.rb +0 -115
  87. data/test/test_units.rb +0 -46
@@ -0,0 +1,33 @@
1
+ # encoding: UTF-8
2
+
3
+ require_relative './abstract_test'
4
+
5
+ class PrimeMeridiansTest < AbstractTest
6
+ def test_get_all
7
+ prime_meridians = Proj::PrimeMeridian.list.sort.collect {|prime_meridian| prime_meridian.id}
8
+ assert prime_meridians.index('greenwich')
9
+ assert prime_meridians.index('athens')
10
+ assert prime_meridians.index('lisbon')
11
+ assert prime_meridians.index('rome')
12
+ end
13
+
14
+ def test_one
15
+ prime_meridian = Proj::PrimeMeridian.get('lisbon')
16
+ assert_kind_of(Proj::PrimeMeridian, prime_meridian)
17
+ assert_equal('lisbon', prime_meridian.id)
18
+ assert_equal('9d07\'54.862"W', prime_meridian.defn)
19
+ assert_equal('#<Proj::PrimeMeridian id="lisbon", defn="9d07\'54.862"W">', prime_meridian.inspect)
20
+ end
21
+
22
+ def test_compare
23
+ u1 = Proj::PrimeMeridian.get('lisbon')
24
+ u2 = Proj::PrimeMeridian.get('lisbon')
25
+ assert u1 == u2
26
+ end
27
+
28
+ def test_failed_get
29
+ prime_meridian = Proj::PrimeMeridian.get('foo')
30
+ assert_nil prime_meridian
31
+ end
32
+ end
33
+
@@ -0,0 +1,17 @@
1
+ # encoding: UTF-8
2
+
3
+ require_relative './abstract_test'
4
+
5
+ class ProjTest < AbstractTest
6
+ def test_info
7
+ info = Proj.info
8
+ assert_equal(6, info[:major])
9
+ assert_equal(2, info[:minor])
10
+ assert_equal(1, info[:patch])
11
+ assert_equal('Rel. 6.2.1, November 1st, 2019', info[:release])
12
+ assert_equal('6.2.1', info[:version])
13
+ refute_nil(info[:searchpath])
14
+ refute(info[:paths].null?)
15
+ assert_equal(1, info[:path_count])
16
+ end
17
+ end
@@ -0,0 +1,224 @@
1
+ # encoding: UTF-8
2
+
3
+ require_relative './abstract_test'
4
+
5
+ class ProjectionTest < AbstractTest
6
+ PRECISION = 0.1 ** 4
7
+
8
+ def setup
9
+ @proj_wgs84 = Proj::Projection.new(["init=epsg:4326"]) # WGS84
10
+ @proj_gk = Proj::Projection.new(["+init=epsg:31467"]) # Gauss-Kruger Zone 3
11
+ @proj_merc = Proj::Projection.new(["proj=merc"])
12
+ @proj_conakry = Proj::Projection.new(["+init=epsg:31528"]) # Conakry 1905 / UTM zone 28N
13
+ @proj_ortel = Proj::Projection.new(["+proj=ortel", "+lon_0=90w"]) # Ortelius Oval Projection
14
+ @epsg2029i = ['+init=epsg:2029']
15
+ @epsg2029_args = ['+proj=utm', '+zone=17', '+ellps=clrk66', '+units=m', '+no_defs']
16
+ end
17
+
18
+ def test_arg_fail
19
+ assert_raises ArgumentError do
20
+ Proj::Projection.parse()
21
+ end
22
+ assert_raises ArgumentError do
23
+ Proj::Projection.parse(nil)
24
+ end
25
+ assert_raises ArgumentError do
26
+ Proj::Projection.parse(1)
27
+ end
28
+ end
29
+
30
+ def test_arg_string
31
+ args = Proj::Projection.parse('+init=epsg:2029')
32
+ assert_equal(@epsg2029i, args)
33
+ args = Proj::Projection.parse(' +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs ')
34
+ assert_equal(@epsg2029_args, args)
35
+ end
36
+
37
+ def test_arg_string_with_plus
38
+ args = Proj::Projection.parse('+init=epsg:2029')
39
+ assert_equal(@epsg2029i, args)
40
+ args = Proj::Projection.parse('+proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs')
41
+ assert_equal(@epsg2029_args, args)
42
+ end
43
+
44
+ def test_arg_array
45
+ args = Proj::Projection.parse(['+init=epsg:2029'])
46
+ assert_equal(@epsg2029i, args)
47
+ args = Proj::Projection.parse(['+proj=utm', '+zone=17', '+ellps=clrk66', '+units=m', '+no_defs'])
48
+ assert_equal(@epsg2029_args, args)
49
+ end
50
+
51
+ def test_arg_array_with_plus
52
+ args = Proj::Projection.parse(['+init=epsg:2029'])
53
+ assert_equal(@epsg2029i, args)
54
+ args = Proj::Projection.parse(['+proj=utm', '+zone=17', '+ellps=clrk66', '+units=m', '+no_defs'])
55
+ assert_equal(@epsg2029_args, args)
56
+ end
57
+
58
+ def test_arg_hash_with_string
59
+ args = Proj::Projection.parse('init' => 'epsg:2029')
60
+ assert_equal(@epsg2029i, args)
61
+ args = Proj::Projection.parse('proj' => 'utm', 'zone' => '17', 'ellps' => 'clrk66', 'units' => 'm', 'no_defs' => nil)
62
+ assert_equal(@epsg2029_args, args)
63
+ end
64
+
65
+ def test_arg_hash_with_symbol
66
+ args = Proj::Projection.parse(:init => 'epsg:2029')
67
+ assert_equal(@epsg2029i, args)
68
+ args = Proj::Projection.parse(:proj => 'utm', :zone => '17', :ellps => 'clrk66', :units => 'm', :no_defs => nil)
69
+ assert_equal(@epsg2029_args, args)
70
+ end
71
+
72
+ def test_arg_hash_with_symbol_simple
73
+ args = Proj::Projection.parse(:init => 'epsg:2029')
74
+ assert_equal(@epsg2029i, args)
75
+ args = Proj::Projection.parse(:proj => 'utm', :zone => '17', :ellps => 'clrk66', :units => 'm', :no_defs => nil)
76
+ assert_equal(@epsg2029_args, args)
77
+ end
78
+
79
+ def test_arg_projection
80
+ proj = Proj::Projection.new(['+init=epsg:2029'])
81
+ args = Proj::Projection.parse(proj)
82
+ assert_equal(["+init=epsg:2029", "+proj=utm", "+zone=17", "+ellps=clrk66", "+units=m", "+no_defs"], args)
83
+ end
84
+
85
+ def test_init_arg_string
86
+ proj = Proj::Projection.new('+init=epsg:2029')
87
+ assert_equal(' +init=epsg:2029 +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs', proj.getDef)
88
+ end
89
+
90
+ def test_init_arg_array
91
+ proj = Proj::Projection.new(['+init=epsg:2029'])
92
+ assert_equal(' +init=epsg:2029 +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs', proj.getDef)
93
+ end
94
+
95
+ def test_init_arg_hash
96
+ proj = Proj::Projection.new(:proj => 'utm', 'zone' => '17', 'ellps' => 'clrk66', :units => 'm', :no_defs => nil)
97
+ assert_equal(' +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs', proj.getDef)
98
+ end
99
+
100
+ def test_init_arg_fail
101
+ assert_raises Proj::Error do
102
+ Proj::Projection.new(:proj => 'xxxx')
103
+ end
104
+
105
+ assert_raises Proj::Error do
106
+ Proj::Projection.new(:foo => 'xxxx')
107
+ end
108
+ end
109
+
110
+ def test_is_latlong
111
+ assert(@proj_wgs84.isLatLong?)
112
+ refute(@proj_gk.isLatLong?)
113
+ refute(@proj_conakry.isLatLong?)
114
+ refute(@proj_ortel.isLatLong?)
115
+ end
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
124
+
125
+ def test_get_def
126
+ assert_equal(' +init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0', @proj_wgs84.getDef)
127
+ 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)
128
+ assert_equal('+proj=ortel +lon_0=90w +ellps=GRS80', @proj_ortel.getDef.strip)
129
+ end
130
+
131
+ def test_to_s
132
+ assert_equal('#<Proj::Projection +init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0>', @proj_wgs84.to_s)
133
+ end
134
+
135
+ def test_projection
136
+ assert_equal('longlat', @proj_wgs84.projection)
137
+ assert_equal('tmerc', @proj_gk.projection)
138
+ assert_equal('utm', @proj_conakry.projection)
139
+ assert_equal('ortel', @proj_ortel.projection)
140
+ end
141
+
142
+ def test_datum
143
+ assert_equal('WGS84', @proj_wgs84.datum)
144
+ assert_nil(@proj_gk.datum)
145
+ assert_nil(@proj_conakry.datum)
146
+ end
147
+
148
+ # echo "8.4302123334 48.9906726079" | proj +init=epsg:31467 -
149
+ def test_forward_gk
150
+ point = Proj::Point.new(8.4302123334, 48.9906726079)
151
+ result = @proj_gk.forward(point.to_radians)
152
+ assert_in_delta(3458305.0, result.x, 0.1)
153
+ assert_in_delta(5428192.0, result.y, 0.1)
154
+ end
155
+
156
+ def test_forward_gk_degrees
157
+ point = Proj::Point.new(8.4302123334, 48.9906726079)
158
+ result = @proj_gk.forwardDeg(point)
159
+ assert_in_delta(3458305.0, result.x, 0.1)
160
+ assert_in_delta(5428192.0, result.y, 0.1)
161
+ end
162
+
163
+ # echo "3458305 5428192" | invproj -f '%.10f' +init=epsg:31467 -
164
+ def test_inverse_gk
165
+ point = Proj::Point.new(3458305.0, 5428192.0)
166
+ result = @proj_gk.inverse(point).to_degrees
167
+ assert_in_delta(result.x, 8.4302123334, PRECISION)
168
+ assert_in_delta(result.y, 48.9906726079, PRECISION)
169
+ end
170
+
171
+ def test_inverse_gk_degrees
172
+ point = Proj::Point.new(3458305.0, 5428192.0)
173
+ result = @proj_gk.inverseDeg(point)
174
+ assert_in_delta(result.x, 8.4302123334, PRECISION)
175
+ assert_in_delta(result.y, 48.9906726079, PRECISION)
176
+ end
177
+
178
+ # echo "190 92" | proj +init=epsg:31467 -
179
+ def test_out_of_bounds
180
+ error = assert_raises(Proj::Error) do
181
+ point = Proj::Point.new(190, 92).to_radians
182
+ @proj_gk.forward(point)
183
+ end
184
+ assert_equal('latitude or longitude exceeded limits', error.message)
185
+ end
186
+
187
+ # echo "3458305 5428192" | cs2cs -f '%.10f' +init=epsg:31467 +to +init=epsg:4326 -
188
+ def test_gk_to_wgs84
189
+ from = Proj::Point.new(3458305.0, 5428192.0)
190
+ to = @proj_gk.transform(@proj_wgs84, from).to_degrees
191
+ assert_in_delta(8.4302123334, to.x, PRECISION)
192
+ assert_in_delta(48.9906726079, to.y, PRECISION)
193
+ end
194
+
195
+ # echo "8.4293092923 48.9896114523" | cs2cs -f '%.10f' +init=epsg:4326 +to +init=epsg:31467 -
196
+ def test_wgs84_to_gk
197
+ from = Proj::Point.new(8.4302123334, 48.9906726079)
198
+ to = @proj_wgs84.transform(@proj_gk, from.to_radians)
199
+ assert_in_delta(3458305.0, to.x, PRECISION)
200
+ assert_in_delta(5428192.0, to.y, PRECISION)
201
+ end
202
+
203
+ def test_mercator_at_pole_raise
204
+ from = Proj::Point.new(0, 90)
205
+ assert_raises(Proj::Error) do
206
+ @proj_wgs84.transform(@proj_merc, from.to_radians)
207
+ end
208
+ end
209
+
210
+ def test_collection
211
+ from0 = Proj::Point.new(3458305.0, 5428192.0)
212
+ from1 = Proj::Point.new(0, 0)
213
+ collection = @proj_gk.transform_all(@proj_wgs84, [from0, from1])
214
+
215
+ to0 = collection[0].to_degrees
216
+ to1 = collection[1].to_degrees
217
+
218
+ assert_in_delta(8.4302123334, to0.x, PRECISION)
219
+ assert_in_delta(48.9906726079, to0.y, PRECISION)
220
+
221
+ assert_in_delta(-20.9657785647, to1.x, PRECISION)
222
+ assert_in_delta(0, to1.y, PRECISION)
223
+ end
224
+ end
@@ -0,0 +1,68 @@
1
+ # encoding: UTF-8
2
+
3
+ require_relative './abstract_test'
4
+
5
+ class TransformationTest < AbstractTest
6
+ PRECISION = 0.5
7
+
8
+ def setup
9
+ @crs_wgs84 = Proj::Crs.new('epsg:4326')
10
+ @crs_gk = Proj::Crs.new('epsg:31467')
11
+ end
12
+
13
+ def test_create_from_strings
14
+ transform = Proj::Transformation.new('epsg:31467', 'epsg:4326')
15
+ assert(transform.info)
16
+ end
17
+
18
+ def test_create_crs
19
+ transform = Proj::Transformation.new(@crs_wgs84, @crs_gk)
20
+ assert(transform.info)
21
+ end
22
+
23
+ # echo "3458305 5428192" | cs2cs -f '%.10f' +init=epsg:31467 +to +init=epsg:4326 -
24
+ def test_gk_to_wgs84_forward
25
+ transform = Proj::Transformation.new(@crs_gk, @crs_wgs84)
26
+ from = Proj::Coordinate.new(x: 5428192.0, y: 3458305.0, z: -5.1790915237)
27
+ to = transform.forward(from)
28
+
29
+ assert_in_delta(48.98963932450735, to.x, PRECISION)
30
+ assert_in_delta(8.429263044355544, to.y, PRECISION)
31
+ assert_in_delta(-5.1790915237, to.z, PRECISION)
32
+ assert_in_delta(0, to.t, PRECISION)
33
+ end
34
+
35
+ def test_gk_to_wgs84_inverse
36
+ transform = Proj::Transformation.new(@crs_gk, @crs_wgs84)
37
+ from = Proj::Coordinate.new(lam: 48.9906726079, phi: 8.4302123334)
38
+ to = transform.inverse(from)
39
+
40
+ assert_in_delta(5428307, to.x, PRECISION)
41
+ assert_in_delta(3458375, to.y, PRECISION)
42
+ assert_in_delta(0, to.z, PRECISION)
43
+ assert_in_delta(0, to.t, PRECISION)
44
+ end
45
+
46
+ # echo "8.4293092923 48.9896114523" | cs2cs -f '%.10f' +init=epsg:4326 +to +init=epsg:31467 -
47
+ def test_wgs84_to_gk_forward
48
+ transform = Proj::Transformation.new(@crs_wgs84, @crs_gk)
49
+ from = Proj::Coordinate.new(lam: 48.9906726079, phi: 8.4302123334)
50
+ to = transform.forward(from)
51
+
52
+ assert_in_delta(5428307, to.x, PRECISION)
53
+ assert_in_delta(3458375, to.y, PRECISION)
54
+ assert_in_delta(0, to.z, PRECISION)
55
+ assert_in_delta(0, to.t, PRECISION)
56
+ end
57
+
58
+ def test_wgs84_to_gk_forward_inverse
59
+ transform = Proj::Transformation.new(@crs_wgs84, @crs_gk)
60
+ from = Proj::Coordinate.new(x: 5428192.0, y: 3458305.0, z: -5.1790915237)
61
+ to = transform.inverse(from)
62
+
63
+ assert_in_delta(48.98963932450735, to.x, PRECISION)
64
+ assert_in_delta(8.429263044355544, to.y, PRECISION)
65
+ assert_in_delta(-5.1790915237, to.z, PRECISION)
66
+ assert_in_delta(0, to.t, PRECISION)
67
+ end
68
+ end
@@ -0,0 +1,47 @@
1
+ # encoding: UTF-8
2
+
3
+ require_relative './abstract_test'
4
+
5
+ class UnitsTest < AbstractTest
6
+ def test_get_all
7
+ units = Proj::Unit.list.sort.collect {|unit| unit.id}
8
+ assert(units.include?('deg'))
9
+ assert(units.include?('km'))
10
+ assert(units.include?('m'))
11
+ assert(units.include?('yd'))
12
+ assert(units.include?('us-mi'))
13
+ end
14
+
15
+ def test_linear_unit
16
+ unit = Proj::Unit.get('km')
17
+ assert_kind_of Proj::Unit, unit
18
+ assert_equal('km', unit.id)
19
+ assert_equal('km', unit.to_s)
20
+ assert_equal('1000', unit.to_meter)
21
+ assert_equal(1000.0, unit.factor)
22
+ assert_equal('Kilometer', unit.name)
23
+ assert_equal('#<Proj::Unit id="km", to_meter="1000", factor="1000.0", name="Kilometer">', unit.inspect)
24
+ end
25
+
26
+ def test_angular_unit
27
+ unit = Proj::Unit.get('deg')
28
+ assert_kind_of Proj::Unit, unit
29
+ assert_equal('deg', unit.id)
30
+ assert_equal('deg', unit.to_s)
31
+ assert_equal('0.017453292519943296', unit.to_meter)
32
+ assert_equal(0.017453292519943295, unit.factor)
33
+ assert_equal('Degree', unit.name)
34
+ assert_equal('#<Proj::Unit id="deg", to_meter="0.017453292519943296", factor="0.017453292519943295", name="Degree">', unit.inspect)
35
+ end
36
+
37
+ def test_compare
38
+ u1 = Proj::Unit.get('km')
39
+ u2 = Proj::Unit.get('km')
40
+ assert(u1 == u2)
41
+ end
42
+
43
+ def test_failed_get
44
+ unit = Proj::Unit.get('foo')
45
+ assert_nil unit
46
+ end
47
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: proj4rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilhem Vellut
@@ -10,73 +10,91 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-12-14 00:00:00.000000000 Z
14
- dependencies: []
15
- description: |2
16
- Proj4rb is a ruby binding for the Proj.4 Carthographic Projection library, that supports conversions between a very large number of geographic coordinate systems and datumspec.
13
+ date: 2019-12-31 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: ffi
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: minitest
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: yard
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'
57
+ description: " Proj4rb is a ruby binding for the Proj.4 Carthographic Projection
58
+ library, that supports conversions between a very large number of geographic coordinate
59
+ systems and datumspec.\n"
17
60
  email:
18
61
  executables: []
19
- extensions:
20
- - ext/extconf.rb
62
+ extensions: []
21
63
  extra_rdoc_files: []
22
64
  files:
65
+ - ChangeLog
66
+ - Gemfile
23
67
  - MIT-LICENSE
24
68
  - README.rdoc
25
69
  - Rakefile
26
- - data/GL27
27
- - data/MD
28
- - data/TN
29
- - data/WI
30
- - data/WO
31
- - data/conus
32
- - data/epsg
33
- - data/epsg-deprecated
34
- - data/esri
35
- - data/esri.extra
36
- - data/hawaii
37
- - data/nad.lst
38
- - data/nad27
39
- - data/nad83
40
- - data/ntv1_can.dat
41
- - data/null
42
- - data/other.extra
43
- - data/proj_def.dat
44
- - data/prvi
45
- - data/stgeorge
46
- - data/stlrnc
47
- - data/stpaul
48
- - data/world
49
- - example/basic.rb
50
- - example/list-datums.rb
51
- - example/list-ellipsoids.rb
52
- - example/list-errors.rb
53
- - example/list-prime-meridians.rb
54
- - example/list-projection-types.rb
55
- - example/list-units.rb
56
- - example/version.rb
57
- - ext/Makefile
58
- - ext/extconf.rb
59
- - ext/mkmf.log
60
- - ext/out.log
61
- - ext/proj4_ruby-x64-mingw32.def
62
- - ext/proj4_ruby.so
63
- - ext/projrb.c
64
- - ext/projrb.o
65
- - ext/vc/proj4_ruby.sln
66
- - ext/vc/proj4_ruby.vcproj
70
+ - lib/area.rb
71
+ - lib/config.rb
72
+ - lib/context.rb
73
+ - lib/coordinate.rb
74
+ - lib/crs.rb
75
+ - lib/ellipsoid.rb
76
+ - lib/error.rb
77
+ - lib/operation.rb
78
+ - lib/pj_object.rb
79
+ - lib/point.rb
80
+ - lib/prime_meridian.rb
81
+ - lib/proj.rb
67
82
  - lib/proj4.rb
68
- - test/test_constants.rb
69
- - test/test_create_projection.rb
70
- - test/test_datums.rb
71
- - test/test_ellipsoids.rb
72
- - test/test_errors.rb
73
- - test/test_init_projection.rb
74
- - test/test_prime_meridians.rb
75
- - test/test_projection_type.rb
76
- - test/test_simple_projection.rb
77
- - test/test_suite.rb
78
- - test/test_transform.rb
79
- - test/test_units.rb
83
+ - lib/projection.rb
84
+ - lib/transformation.rb
85
+ - lib/unit.rb
86
+ - proj4rb.gemspec
87
+ - test/abstract_test.rb
88
+ - test/context_test.rb
89
+ - test/coordinate_test.rb
90
+ - test/crs_test.rb
91
+ - test/ellipsoid_test.rb
92
+ - test/operation_test.rb
93
+ - test/prime_meridians_test.rb
94
+ - test/proj_test.rb
95
+ - test/projection_test.rb
96
+ - test/transformation_test.rb
97
+ - test/unit_test.rb
80
98
  homepage: https://github.com/cfis/proj4rb
81
99
  licenses:
82
100
  - MIT
@@ -89,29 +107,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
89
107
  requirements:
90
108
  - - ">="
91
109
  - !ruby/object:Gem::Version
92
- version: 1.8.7
110
+ version: 2.4.9
93
111
  required_rubygems_version: !ruby/object:Gem::Requirement
94
112
  requirements:
95
113
  - - ">="
96
114
  - !ruby/object:Gem::Version
97
115
  version: '0'
98
116
  requirements:
99
- - Proj.4 C library
100
- rubyforge_project:
101
- rubygems_version: 2.4.5
117
+ - Proj (Proj4) Library
118
+ rubygems_version: 3.0.6
102
119
  signing_key:
103
120
  specification_version: 4
104
121
  summary: Ruby bindings for the Proj.4 Carthographic Projection library
105
- test_files:
106
- - test/test_constants.rb
107
- - test/test_create_projection.rb
108
- - test/test_datums.rb
109
- - test/test_ellipsoids.rb
110
- - test/test_errors.rb
111
- - test/test_init_projection.rb
112
- - test/test_prime_meridians.rb
113
- - test/test_projection_type.rb
114
- - test/test_simple_projection.rb
115
- - test/test_suite.rb
116
- - test/test_transform.rb
117
- - test/test_units.rb
122
+ test_files: []