rgeo 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +4 -0
- data/README.rdoc +3 -19
- data/Version +1 -1
- data/lib/rgeo/cartesian/analysis.rb +2 -0
- data/lib/rgeo/geographic/interface.rb +39 -7
- data/lib/rgeo/geographic/projected_window.rb +5 -3
- metadata +2 -2
data/History.rdoc
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
=== 0.2.6 / 2011-03-31
|
2
|
+
|
3
|
+
* Ring direction analysis crashed if any of the line segments were zero length. Fixed. (Reported by spara.)
|
4
|
+
|
1
5
|
=== 0.2.5 / 2011-03-21
|
2
6
|
|
3
7
|
* Line segment intersection tests in the simple cartesian implementations were failing for a few cases involving collinear segments. Fixed. (Reported by Dimitry Solovyov.)
|
data/README.rdoc
CHANGED
@@ -70,14 +70,7 @@ Install RGeo as a gem:
|
|
70
70
|
gem install rgeo
|
71
71
|
|
72
72
|
Note: By default, the gem installation looks for the GEOS library in the
|
73
|
-
following locations:
|
74
|
-
|
75
|
-
* /usr/local
|
76
|
-
* /usr/local/geos
|
77
|
-
* /opt/local
|
78
|
-
* /opt/geos
|
79
|
-
* /opt
|
80
|
-
* /usr
|
73
|
+
following locations: <tt>/usr/local</tt>, <tt>/usr/local/geos</tt>, <tt>/opt/local</tt>, <tt>/opt/geos</tt>, <tt>/opt</tt>, <tt>/usr</tt>.
|
81
74
|
|
82
75
|
If GEOS has been installed in a different location, you must provide its
|
83
76
|
installation prefix directory using the "--with-geos-dir" option. This
|
@@ -87,16 +80,7 @@ the switches interpreted by the gem command. For example:
|
|
87
80
|
gem install rgeo -- --with-geos-dir=/path/to/my/geos/installation
|
88
81
|
|
89
82
|
Similarly, the gem installation looks for the Proj4 library in the
|
90
|
-
following locations by default:
|
91
|
-
|
92
|
-
* /usr/local
|
93
|
-
* /usr/local/proj
|
94
|
-
* /usr/local/proj4
|
95
|
-
* /opt/local
|
96
|
-
* /opt/proj
|
97
|
-
* /opt/proj4
|
98
|
-
* /opt
|
99
|
-
* /usr
|
83
|
+
following locations by default: <tt>/usr/local</tt>, <tt>/usr/local/proj</tt>, <tt>/usr/local/proj4</tt>, <tt>/opt/local</tt>, <tt>/opt/proj</tt>, <tt>/opt/proj4</tt>, <tt>/opt</tt>, <tt>/usr</tt>.
|
100
84
|
|
101
85
|
If Proj4 is installed in a different location, you must provide its
|
102
86
|
installation prefix directory using the "--with-proj-dir" option.
|
@@ -143,7 +127,7 @@ Geospatial Foundation; more information is available on OSGeo's web site
|
|
143
127
|
|
144
128
|
=== License
|
145
129
|
|
146
|
-
Copyright
|
130
|
+
Copyright 2011 Daniel Azuma
|
147
131
|
|
148
132
|
All rights reserved.
|
149
133
|
|
data/Version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.6
|
@@ -123,7 +123,12 @@ module RGeo
|
|
123
123
|
end
|
124
124
|
end
|
125
125
|
srid_ ||= coord_sys_.authority_code if coord_sys_
|
126
|
-
Geographic::Factory.new('Spherical',
|
126
|
+
Geographic::Factory.new('Spherical',
|
127
|
+
:has_z_coordinate => opts_[:has_z_coordinate],
|
128
|
+
:has_m_coordinate => opts_[:has_m_coordinate],
|
129
|
+
:proj4 => proj4_ || _proj4_4055,
|
130
|
+
:coord_sys => coord_sys_ || _coordsys_4055,
|
131
|
+
:srid => (srid_ || 4055).to_i)
|
127
132
|
end
|
128
133
|
|
129
134
|
|
@@ -181,8 +186,17 @@ module RGeo
|
|
181
186
|
# more details.
|
182
187
|
|
183
188
|
def simple_mercator_factory(opts_={})
|
184
|
-
factory_ = Geographic::Factory.new('Projected',
|
185
|
-
|
189
|
+
factory_ = Geographic::Factory.new('Projected',
|
190
|
+
:proj4 => _proj4_4326,
|
191
|
+
:coord_sys => _coordsys_4326,
|
192
|
+
:srid => 4326,
|
193
|
+
:has_z_coordinate => opts_[:has_z_coordinate],
|
194
|
+
:has_m_coordinate => opts_[:has_m_coordinate])
|
195
|
+
projector_ = Geographic::SimpleMercatorProjector.new(factory_,
|
196
|
+
:buffer_resolution => opts_[:buffer_resolution],
|
197
|
+
:lenient_multi_polygon_assertions => opts_[:lenient_multi_polygon_assertions],
|
198
|
+
:has_z_coordinate => opts_[:has_z_coordinate],
|
199
|
+
:has_m_coordinate => opts_[:has_m_coordinate])
|
186
200
|
factory_._set_projector(projector_)
|
187
201
|
factory_
|
188
202
|
end
|
@@ -314,8 +328,14 @@ module RGeo
|
|
314
328
|
srid_ ||= coord_sys_.authority_code if coord_sys_
|
315
329
|
srid_ ||= 4326
|
316
330
|
# Now we should have all the coordinate system info.
|
317
|
-
factory_ = Geographic::Factory.new('Projected',
|
318
|
-
|
331
|
+
factory_ = Geographic::Factory.new('Projected',
|
332
|
+
:proj4 => proj4_,
|
333
|
+
:coord_sys => coord_sys_,
|
334
|
+
:srid => srid_.to_i,
|
335
|
+
:has_z_coordinate => projection_factory_.property(:has_z_coordinate),
|
336
|
+
:has_m_coordinate => projection_factory_.property(:has_m_coordinate))
|
337
|
+
projector_ = Geographic::Proj4Projector.create_from_existing_factory(factory_,
|
338
|
+
projection_factory_)
|
319
339
|
else
|
320
340
|
# Determine projection coordinate system. First check the parameters.
|
321
341
|
projection_proj4_ = opts_[:projection_proj4]
|
@@ -363,8 +383,20 @@ module RGeo
|
|
363
383
|
srid_ ||= coord_sys_.authority_code if coord_sys_
|
364
384
|
srid_ ||= 4326
|
365
385
|
# Now we should have all the coordinate system info.
|
366
|
-
factory_ = Geographic::Factory.new('Projected',
|
367
|
-
|
386
|
+
factory_ = Geographic::Factory.new('Projected',
|
387
|
+
:proj4 => proj4_,
|
388
|
+
:coord_sys => coord_sys_,
|
389
|
+
:srid => srid_.to_i,
|
390
|
+
:has_z_coordinate => opts_[:has_z_coordinate],
|
391
|
+
:has_m_coordinate => opts_[:has_m_coordinate])
|
392
|
+
projector_ = Geographic::Proj4Projector.create_from_proj4(factory_,
|
393
|
+
projection_proj4_,
|
394
|
+
:srid => projection_srid_,
|
395
|
+
:coord_sys => projection_coord_sys_,
|
396
|
+
:buffer_resolution => opts_[:buffer_resolution],
|
397
|
+
:lenient_multi_polygon_assertions => opts_[:lenient_multi_polygon_assertions],
|
398
|
+
:has_z_coordinate => opts_[:has_z_coordinate],
|
399
|
+
:has_m_coordinate => opts_[:has_m_coordinate])
|
368
400
|
end
|
369
401
|
factory_._set_projector(projector_)
|
370
402
|
factory_
|
@@ -101,7 +101,8 @@ module RGeo
|
|
101
101
|
|
102
102
|
def eql?(obj_) # :nodoc:
|
103
103
|
return false unless obj_.kind_of?(ProjectedWindow)
|
104
|
-
@factory == obj_.factory && @x_min == obj_.x_min && @x_max == obj_.x_max &&
|
104
|
+
@factory == obj_.factory && @x_min == obj_.x_min && @x_max == obj_.x_max &&
|
105
|
+
@y_min = obj_.y_min && @y_max = obj_.y_max
|
105
106
|
end
|
106
107
|
alias_method :==, :eql?
|
107
108
|
|
@@ -359,7 +360,8 @@ module RGeo
|
|
359
360
|
def with_margin(x_margin_, y_margin_=nil)
|
360
361
|
y_margin_ ||= x_margin_
|
361
362
|
if x_margin_ != 0.0 || y_margin_ != 0.0
|
362
|
-
ProjectedWindow.new(@factory, @x_min - x_margin_, @y_min - y_margin_,
|
363
|
+
ProjectedWindow.new(@factory, @x_min - x_margin_, @y_min - y_margin_,
|
364
|
+
@x_max + x_margin_, @y_max + y_margin_)
|
363
365
|
else
|
364
366
|
self
|
365
367
|
end
|
@@ -393,7 +395,7 @@ module RGeo
|
|
393
395
|
factory_ = point_.factory
|
394
396
|
projection_ = factory_.project(point_)
|
395
397
|
ProjectedWindow.new(factory_, projection_.x - x_margin_, projection_.y - y_margin_,
|
396
|
-
|
398
|
+
projection_.x + x_margin_, projection_.y + y_margin_)
|
397
399
|
end
|
398
400
|
|
399
401
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: rgeo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Daniel Azuma
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-03-
|
13
|
+
date: 2011-03-31 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies: []
|
16
16
|
|