rgeo 0.3.12 → 0.3.13
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.
- data/History.rdoc +6 -0
- data/Version +1 -1
- data/ext/geos_c_impl/extconf.rb +1 -1
- data/ext/geos_c_impl/preface.h +1 -1
- data/lib/rgeo/cartesian/factory.rb +8 -0
- data/lib/rgeo/cartesian/feature_methods.rb +11 -0
- data/lib/rgeo/geographic/factory.rb +8 -0
- data/lib/rgeo/geographic/interface.rb +20 -0
- data/lib/rgeo/geographic/spherical_feature_classes.rb +20 -0
- data/lib/rgeo/geographic/spherical_math.rb +28 -0
- data/test/common/point_tests.rb +1 -0
- data/test/geos_capi/tc_point.rb +1 -1
- data/test/geos_ffi/tc_point.rb +1 -1
- data/test/projected_geographic/tc_point.rb +1 -1
- data/test/simple_cartesian/tc_point.rb +1 -2
- data/test/simple_mercator/tc_point.rb +1 -1
- data/test/spherical_geographic/tc_point.rb +1 -2
- data/test/tc_oneoff.rb +3 -3
- metadata +3 -3
data/History.rdoc
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
=== 0.3.13 / 2012-05-04
|
2
|
+
|
3
|
+
* The spherical factory and the simple cartesian factory now support buffers around points (but not around other types). Accordingly, those factories now take the :buffer_resolution property argument.
|
4
|
+
* The :uses_lenient_assertions and parser/generator arguments to RGeo::Geographic.spherical_factory did not have their advertised effect. Fixed.
|
5
|
+
* The parser/generator arguments to projected geographic factories did not have their advertised effect. Fixed.
|
6
|
+
|
1
7
|
=== 0.3.12 / 2012-04-24
|
2
8
|
|
3
9
|
* Geos::FFIFactory collection constructors sometimes modified arguments in place, which caused problems for the ZMFactory among other things. Fixed.
|
data/Version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.13
|
data/ext/geos_c_impl/extconf.rb
CHANGED
@@ -71,7 +71,7 @@ else
|
|
71
71
|
header_dirs_, lib_dirs_ = dir_config('geos', header_dirs_, lib_dirs_)
|
72
72
|
if have_header('geos_c.h')
|
73
73
|
$libs << ' -lgeos -lgeos_c'
|
74
|
-
if have_func('
|
74
|
+
if have_func('GEOSSetSRID_r', 'geos_c.h')
|
75
75
|
found_geos_ = true
|
76
76
|
else
|
77
77
|
$libs.gsub!(' -lgeos -lgeos_c', '')
|
data/ext/geos_c_impl/preface.h
CHANGED
@@ -77,6 +77,8 @@ module RGeo
|
|
77
77
|
srid_ ||= @coord_sys.authority_code if @coord_sys
|
78
78
|
@srid = srid_.to_i
|
79
79
|
@lenient_assertions = opts_[:uses_lenient_assertions] ? true : false
|
80
|
+
@buffer_resolution = opts_[:buffer_resolution].to_i
|
81
|
+
@buffer_resolution = 1 if @buffer_resolution < 1
|
80
82
|
|
81
83
|
wkt_generator_ = opts_[:wkt_generator]
|
82
84
|
case wkt_generator_
|
@@ -129,6 +131,7 @@ module RGeo
|
|
129
131
|
'wktp' => @wkt_parser._properties,
|
130
132
|
'wkbp' => @wkb_parser._properties,
|
131
133
|
'lena' => @lenient_assertions,
|
134
|
+
'bufr' => @buffer_resolution,
|
132
135
|
}
|
133
136
|
hash_['proj4'] = @proj4.marshal_dump if @proj4
|
134
137
|
hash_['cs'] = @coord_sys.to_wkt if @coord_sys
|
@@ -156,6 +159,7 @@ module RGeo
|
|
156
159
|
:wkt_parser => ImplHelper::Utils.symbolize_hash(data_['wktp']),
|
157
160
|
:wkb_parser => ImplHelper::Utils.symbolize_hash(data_['wkbp']),
|
158
161
|
:uses_lenient_assertions => data_['lena'],
|
162
|
+
:buffer_resolution => data_['bufr'],
|
159
163
|
:proj4 => proj4_,
|
160
164
|
:coord_sys => coord_sys_
|
161
165
|
)
|
@@ -169,6 +173,7 @@ module RGeo
|
|
169
173
|
coder_['has_m_coordinate'] = @has_m
|
170
174
|
coder_['srid'] = @srid
|
171
175
|
coder_['lenient_assertions'] = @lenient_assertions
|
176
|
+
coder_['buffer_resolution'] = @buffer_resolution
|
172
177
|
coder_['wkt_generator'] = @wkt_generator._properties
|
173
178
|
coder_['wkb_generator'] = @wkb_generator._properties
|
174
179
|
coder_['wkt_parser'] = @wkt_parser._properties
|
@@ -204,6 +209,7 @@ module RGeo
|
|
204
209
|
:wkt_parser => ImplHelper::Utils.symbolize_hash(coder_['wkt_parser']),
|
205
210
|
:wkb_parser => ImplHelper::Utils.symbolize_hash(coder_['wkb_parser']),
|
206
211
|
:uses_lenient_assertions => coder_['lenient_assertions'],
|
212
|
+
:buffer_resolution => coder_['buffer_resolution'],
|
207
213
|
:proj4 => proj4_,
|
208
214
|
:coord_sys => coord_sys_
|
209
215
|
)
|
@@ -227,6 +233,8 @@ module RGeo
|
|
227
233
|
@has_m
|
228
234
|
when :uses_lenient_assertions
|
229
235
|
@lenient_assertions
|
236
|
+
when :buffer_resolution
|
237
|
+
@buffer_resolution
|
230
238
|
when :is_cartesian
|
231
239
|
true
|
232
240
|
else
|
@@ -71,6 +71,17 @@ module RGeo
|
|
71
71
|
end
|
72
72
|
|
73
73
|
|
74
|
+
def buffer(distance_)
|
75
|
+
point_count_ = factory.property(:buffer_resolution) * 4
|
76
|
+
angle_ = -::Math::PI * 2.0 / point_count_
|
77
|
+
points_ = (0...point_count_).map do |i_|
|
78
|
+
r_ = angle_ * i_
|
79
|
+
factory.point(@x + distance_ * ::Math.cos(r_), @y + distance_ * ::Math.sin(r_))
|
80
|
+
end
|
81
|
+
factory.polygon(factory.linear_ring(points_))
|
82
|
+
end
|
83
|
+
|
84
|
+
|
74
85
|
end
|
75
86
|
|
76
87
|
|
@@ -75,6 +75,8 @@ module RGeo
|
|
75
75
|
@coord_sys = CoordSys::CS.create_from_wkt(@coord_sys) rescue nil
|
76
76
|
end
|
77
77
|
@lenient_assertions = opts_[:uses_lenient_assertions] ? true : false
|
78
|
+
@buffer_resolution = opts_[:buffer_resolution].to_i
|
79
|
+
@buffer_resolution = 1 if @buffer_resolution < 1
|
78
80
|
|
79
81
|
wkt_generator_ = opts_[:wkt_generator]
|
80
82
|
case wkt_generator_
|
@@ -138,6 +140,7 @@ module RGeo
|
|
138
140
|
'wktp' => @wkt_parser._properties,
|
139
141
|
'wkbp' => @wkb_parser._properties,
|
140
142
|
'lena' => @lenient_assertions,
|
143
|
+
'bufr' => @buffer_resolution,
|
141
144
|
}
|
142
145
|
hash_['proj4'] = @proj4.marshal_dump if @proj4
|
143
146
|
hash_['cs'] = @coord_sys.to_wkt if @coord_sys
|
@@ -169,6 +172,7 @@ module RGeo
|
|
169
172
|
:wkt_parser => ImplHelper::Utils.symbolize_hash(data_['wktp']),
|
170
173
|
:wkb_parser => ImplHelper::Utils.symbolize_hash(data_['wkbp']),
|
171
174
|
:uses_lenient_assertions => data_['lena'],
|
175
|
+
:buffer_resolution => data_['bufr'],
|
172
176
|
:proj4 => proj4_,
|
173
177
|
:coord_sys => coord_sys_
|
174
178
|
)
|
@@ -195,6 +199,7 @@ module RGeo
|
|
195
199
|
coder_['wkt_parser'] = @wkt_parser._properties
|
196
200
|
coder_['wkb_parser'] = @wkb_parser._properties
|
197
201
|
coder_['lenient_assertions'] = @lenient_assertions
|
202
|
+
coder_['buffer_resolution'] = @buffer_resolution
|
198
203
|
if @proj4
|
199
204
|
str_ = @proj4.original_str || @proj4.canonical_str
|
200
205
|
coder_['proj4'] = @proj4.radians? ? {'proj4' => str_, 'radians' => true} : str_
|
@@ -230,6 +235,7 @@ module RGeo
|
|
230
235
|
:wkt_parser => ImplHelper::Utils.symbolize_hash(coder_['wkt_parser']),
|
231
236
|
:wkb_parser => ImplHelper::Utils.symbolize_hash(coder_['wkb_parser']),
|
232
237
|
:uses_lenient_assertions => coder_['lenient_assertions'],
|
238
|
+
:buffer_resolution => coder_['buffer_resolution'],
|
233
239
|
:proj4 => proj4_,
|
234
240
|
:coord_sys => coord_sys_
|
235
241
|
)
|
@@ -334,6 +340,8 @@ module RGeo
|
|
334
340
|
@support_m
|
335
341
|
when :uses_lenient_assertions
|
336
342
|
@lenient_assertions
|
343
|
+
when :buffer_resolution
|
344
|
+
@buffer_resolution
|
337
345
|
when :is_geographic
|
338
346
|
true
|
339
347
|
else
|
@@ -92,6 +92,16 @@ module RGeo
|
|
92
92
|
# Polygon and MultiPolygon. This may speed up creation of certain
|
93
93
|
# objects, at the expense of not doing the proper checking for
|
94
94
|
# OGC compliance. Default is false.
|
95
|
+
# [<tt>:buffer_resolution</tt>]
|
96
|
+
# The resolution of buffers around geometries created by this
|
97
|
+
# factory. This controls the number of line segments used to
|
98
|
+
# approximate curves. The default is 1, which causes, for
|
99
|
+
# example, the buffer around a point to be approximated by a
|
100
|
+
# 4-sided polygon. A resolution of 2 would cause that buffer
|
101
|
+
# to be approximated by an 8-sided polygon. The exact behavior
|
102
|
+
# for different kinds of buffers is not specified precisely,
|
103
|
+
# but in general the value is taken as the number of segments
|
104
|
+
# per 90-degree curve.
|
95
105
|
# [<tt>:proj4</tt>]
|
96
106
|
# Provide the coordinate system in Proj4 format. You may pass
|
97
107
|
# either an RGeo::CoordSys::Proj4 object, or a string or hash
|
@@ -153,6 +163,12 @@ module RGeo
|
|
153
163
|
:has_m_coordinate => opts_[:has_m_coordinate],
|
154
164
|
:proj4 => proj4_ || _proj4_4055,
|
155
165
|
:coord_sys => coord_sys_ || _coordsys_4055,
|
166
|
+
:uses_lenient_assertions => opts_[:uses_lenient_assertions],
|
167
|
+
:buffer_resolution => opts_[:buffer_resolution],
|
168
|
+
:wkt_parser => opts_[:wkt_parser],
|
169
|
+
:wkb_parser => opts_[:wkb_parser],
|
170
|
+
:wkt_generator => opts_[:wkt_generator],
|
171
|
+
:wkb_generator => opts_[:wkb_generator],
|
156
172
|
:srid => (srid_ || 4055).to_i)
|
157
173
|
end
|
158
174
|
|
@@ -234,6 +250,10 @@ module RGeo
|
|
234
250
|
:proj4 => _proj4_4326,
|
235
251
|
:coord_sys => _coordsys_4326,
|
236
252
|
:srid => 4326,
|
253
|
+
:wkt_parser => opts_[:wkt_parser],
|
254
|
+
:wkb_parser => opts_[:wkb_parser],
|
255
|
+
:wkt_generator => opts_[:wkt_generator],
|
256
|
+
:wkb_generator => opts_[:wkb_generator],
|
237
257
|
:has_z_coordinate => opts_[:has_z_coordinate],
|
238
258
|
:has_m_coordinate => opts_[:has_m_coordinate])
|
239
259
|
projector_ = Geographic::SimpleMercatorProjector.new(factory_,
|
@@ -96,6 +96,26 @@ module RGeo
|
|
96
96
|
end
|
97
97
|
|
98
98
|
|
99
|
+
def buffer(distance_)
|
100
|
+
radius_ = distance_ / SphericalMath::RADIUS
|
101
|
+
radius_ = 1.5 if radius_ > 1.5
|
102
|
+
cos_ = ::Math.cos(radius_)
|
103
|
+
sin_ = ::Math.sin(radius_)
|
104
|
+
point_count_ = factory.property(:buffer_resolution) * 4
|
105
|
+
p0_ = _xyz
|
106
|
+
p1_ = p0_.create_perpendicular
|
107
|
+
p2_ = p1_ % p0_
|
108
|
+
angle_ = ::Math::PI * 2.0 / point_count_
|
109
|
+
points_ = (0...point_count_).map do |i_|
|
110
|
+
r_ = angle_ * i_
|
111
|
+
pi_ = SphericalMath::PointXYZ.weighted_combination(p1_, ::Math.cos(r_), p2_, ::Math.sin(r_))
|
112
|
+
p_ = SphericalMath::PointXYZ.weighted_combination(p0_, cos_, pi_, sin_)
|
113
|
+
factory.point(*p_.lonlat)
|
114
|
+
end
|
115
|
+
factory.polygon(factory.linear_ring(points_))
|
116
|
+
end
|
117
|
+
|
118
|
+
|
99
119
|
alias_method :longitude, :x
|
100
120
|
alias_method :lon, :x
|
101
121
|
alias_method :latitude, :y
|
@@ -90,6 +90,14 @@ module RGeo
|
|
90
90
|
end
|
91
91
|
|
92
92
|
|
93
|
+
def lonlat
|
94
|
+
lat_rad_ = ::Math.asin(@z)
|
95
|
+
lon_rad_ = ::Math.atan2(@y, @x) rescue 0.0
|
96
|
+
rpd_ = ImplHelper::Math::RADIANS_PER_DEGREE
|
97
|
+
[lon_rad_ / rpd_, lat_rad_ / rpd_]
|
98
|
+
end
|
99
|
+
|
100
|
+
|
93
101
|
def *(rhs_)
|
94
102
|
val_ = @x * rhs_.x + @y * rhs_.y + @z * rhs_.z
|
95
103
|
val_ = 1.0 if val_ > 1.0
|
@@ -119,6 +127,17 @@ module RGeo
|
|
119
127
|
end
|
120
128
|
|
121
129
|
|
130
|
+
# Creates some point that is perpendicular to this point
|
131
|
+
|
132
|
+
def create_perpendicular
|
133
|
+
p1dot_ = self * P1
|
134
|
+
p2dot_ = self * P2
|
135
|
+
p1dot_ = -p1dot_ if p1dot_ < 0
|
136
|
+
p2dot_ = -p2dot_ if p2dot_ < 0
|
137
|
+
p1dot_ < p2dot_ ? (self % P1) : (self % P2)
|
138
|
+
end
|
139
|
+
|
140
|
+
|
122
141
|
def self.from_latlon(lat_, lon_)
|
123
142
|
rpd_ = ImplHelper::Math::RADIANS_PER_DEGREE
|
124
143
|
lat_rad_ = rpd_ * lat_
|
@@ -130,6 +149,15 @@ module RGeo
|
|
130
149
|
new(x_, y_, z_)
|
131
150
|
end
|
132
151
|
|
152
|
+
|
153
|
+
def self.weighted_combination(p1_, w1_, p2_, w2_)
|
154
|
+
new(p1_.x * w1_ + p2_.x * w2_, p1_.y * w1_ + p2_.y * w2_, p1_.z * w1_ + p2_.z * w2_)
|
155
|
+
end
|
156
|
+
|
157
|
+
|
158
|
+
P1 = new(1, 0, 0)
|
159
|
+
P2 = new(0, 1, 0)
|
160
|
+
|
133
161
|
end
|
134
162
|
|
135
163
|
|
data/test/common/point_tests.rb
CHANGED
data/test/geos_capi/tc_point.rb
CHANGED
@@ -48,7 +48,7 @@ module RGeo
|
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::Geos.factory
|
51
|
+
@factory = ::RGeo::Geos.factory(:buffer_resolution => 8)
|
52
52
|
@zfactory = ::RGeo::Geos.factory(:has_z_coordinate => true)
|
53
53
|
@mfactory = ::RGeo::Geos.factory(:has_m_coordinate => true)
|
54
54
|
@zmfactory = ::RGeo::Geos.factory(:has_z_coordinate => true, :has_m_coordinate => true)
|
data/test/geos_ffi/tc_point.rb
CHANGED
@@ -48,7 +48,7 @@ module RGeo
|
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::Geos.factory(:native_interface => :ffi)
|
51
|
+
@factory = ::RGeo::Geos.factory(:native_interface => :ffi, :buffer_resolution => 8)
|
52
52
|
@zfactory = ::RGeo::Geos.factory(:has_z_coordinate => true, :native_interface => :ffi)
|
53
53
|
@mfactory = ::RGeo::Geos.factory(:has_m_coordinate => true, :native_interface => :ffi)
|
54
54
|
@zmfactory = ::RGeo::Geos.factory(:has_z_coordinate => true, :has_m_coordinate => true,
|
@@ -48,7 +48,7 @@ module RGeo
|
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::Geographic.projected_factory(:projection_proj4 => '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs', :projection_srid => 3857)
|
51
|
+
@factory = ::RGeo::Geographic.projected_factory(:buffer_resolution => 8, :projection_proj4 => '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs', :projection_srid => 3857)
|
52
52
|
@zfactory = ::RGeo::Geographic.projected_factory(:has_z_coordinate => true, :projection_proj4 => '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs', :projection_srid => 3857)
|
53
53
|
@mfactory = ::RGeo::Geographic.projected_factory(:has_m_coordinate => true, :projection_proj4 => '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs', :projection_srid => 3857)
|
54
54
|
@zmfactory = ::RGeo::Geographic.projected_factory(:has_z_coordinate => true, :has_m_coordinate => true, :projection_proj4 => '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs', :projection_srid => 3857)
|
@@ -48,7 +48,7 @@ module RGeo
|
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::Cartesian.simple_factory(:srid => 1)
|
51
|
+
@factory = ::RGeo::Cartesian.simple_factory(:srid => 1, :buffer_resolution => 8)
|
52
52
|
@zfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :has_z_coordinate => true)
|
53
53
|
@mfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :has_m_coordinate => true)
|
54
54
|
@zmfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :has_z_coordinate => true, :has_m_coordinate => true)
|
@@ -82,7 +82,6 @@ module RGeo
|
|
82
82
|
undef_method :test_union
|
83
83
|
undef_method :test_difference
|
84
84
|
undef_method :test_sym_difference
|
85
|
-
undef_method :test_buffer
|
86
85
|
|
87
86
|
|
88
87
|
end
|
@@ -48,7 +48,7 @@ module RGeo
|
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::Geographic.simple_mercator_factory
|
51
|
+
@factory = ::RGeo::Geographic.simple_mercator_factory(:buffer_resolution => 8)
|
52
52
|
@zfactory = ::RGeo::Geographic.simple_mercator_factory(:has_z_coordinate => true)
|
53
53
|
@mfactory = ::RGeo::Geographic.simple_mercator_factory(:has_m_coordinate => true)
|
54
54
|
@zmfactory = ::RGeo::Geographic.simple_mercator_factory(:has_z_coordinate => true, :has_m_coordinate => true)
|
@@ -48,7 +48,7 @@ module RGeo
|
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::Geographic.spherical_factory
|
51
|
+
@factory = ::RGeo::Geographic.spherical_factory(:buffer_resolution => 8)
|
52
52
|
@zfactory = ::RGeo::Geographic.spherical_factory(:has_z_coordinate => true)
|
53
53
|
@mfactory = ::RGeo::Geographic.spherical_factory(:has_m_coordinate => true)
|
54
54
|
@zmfactory = ::RGeo::Geographic.spherical_factory(:has_z_coordinate => true, :has_m_coordinate => true)
|
@@ -100,7 +100,6 @@ module RGeo
|
|
100
100
|
undef_method :test_union
|
101
101
|
undef_method :test_difference
|
102
102
|
undef_method :test_sym_difference
|
103
|
-
undef_method :test_buffer
|
104
103
|
|
105
104
|
|
106
105
|
end
|
data/test/tc_oneoff.rb
CHANGED
@@ -46,10 +46,10 @@ module RGeo
|
|
46
46
|
|
47
47
|
def setup
|
48
48
|
# @mercator_factory = ::RGeo::Geographic.simple_mercator_factory
|
49
|
-
# @spherical_factory = ::RGeo::Geographic.spherical_factory(:
|
49
|
+
# @spherical_factory = ::RGeo::Geographic.spherical_factory(:buffer_resolution => 2)
|
50
50
|
# @projected_factory = ::RGeo::Geographic.projected_factory(:projection_proj4 => '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs', :projection_srid => 3857, :has_z_coordinate => true)
|
51
|
-
# @geos_factory = ::RGeo::Geos.factory(:buffer_resolution =>
|
52
|
-
# @cartesian_factory = ::RGeo::Cartesian.simple_factory(:
|
51
|
+
# @geos_factory = ::RGeo::Geos.factory(:buffer_resolution => 2)
|
52
|
+
# @cartesian_factory = ::RGeo::Cartesian.simple_factory(:buffer_resolution => 2)
|
53
53
|
end
|
54
54
|
|
55
55
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rgeo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.13
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04
|
12
|
+
date: 2012-05-04 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: RGeo is a geospatial data library for Ruby. It provides an implementation
|
15
15
|
of the Open Geospatial Consortium's Simple Features Specification, used by most
|
@@ -221,7 +221,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
221
221
|
version: 1.3.1
|
222
222
|
requirements: []
|
223
223
|
rubyforge_project: virtuoso
|
224
|
-
rubygems_version: 1.8.
|
224
|
+
rubygems_version: 1.8.24
|
225
225
|
signing_key:
|
226
226
|
specification_version: 3
|
227
227
|
summary: RGeo is a geospatial data library for Ruby.
|