rgeo 0.1.21 → 0.1.22
Sign up to get free protection for your applications and to get access to all the features.
- data/History.rdoc +11 -0
- data/README.rdoc +1 -1
- data/Spatial_Programming_With_RGeo.rdoc +382 -0
- data/Version +1 -1
- data/lib/active_record/connection_adapters/postgis_adapter.rb +1 -1
- data/lib/rgeo.rb +4 -4
- data/lib/rgeo/active_record/base_modifications.rb +1 -1
- data/lib/rgeo/all.rb +1 -1
- data/lib/rgeo/cartesian/bounding_box.rb +2 -2
- data/lib/rgeo/cartesian/factory.rb +18 -11
- data/lib/rgeo/cartesian/interface.rb +4 -4
- data/lib/rgeo/coord_sys.rb +8 -1
- data/lib/rgeo/coord_sys/proj4.rb +4 -4
- data/lib/rgeo/feature/factory.rb +68 -49
- data/lib/rgeo/feature/factory_generator.rb +2 -2
- data/lib/rgeo/feature/types.rb +4 -4
- data/lib/rgeo/geo_json/coder.rb +5 -5
- data/lib/rgeo/{geography.rb → geographic.rb} +15 -15
- data/lib/rgeo/{geography → geographic}/factory.rb +27 -20
- data/lib/rgeo/{geography → geographic}/interface.rb +43 -29
- data/lib/rgeo/{geography → geographic}/proj4_projector.rb +2 -2
- data/lib/rgeo/{geography → geographic}/projected_feature_classes.rb +2 -2
- data/lib/rgeo/{geography → geographic}/projected_feature_methods.rb +2 -2
- data/lib/rgeo/{geography → geographic}/projected_window.rb +5 -5
- data/lib/rgeo/{geography → geographic}/simple_mercator_projector.rb +2 -2
- data/lib/rgeo/{geography → geographic}/spherical_feature_classes.rb +2 -2
- data/lib/rgeo/{geography → geographic}/spherical_feature_methods.rb +2 -2
- data/lib/rgeo/{geography → geographic}/spherical_math.rb +1 -1
- data/lib/rgeo/geos/factory.rb +22 -15
- data/lib/rgeo/geos/interface.rb +3 -3
- data/lib/rgeo/geos/zm_factory.rb +20 -6
- data/lib/rgeo/impl_helper/basic_point_methods.rb +2 -2
- data/lib/rgeo/shapefile/reader.rb +5 -5
- data/lib/rgeo/wkrep/wkb_generator.rb +2 -2
- data/lib/rgeo/wkrep/wkb_parser.rb +4 -4
- data/lib/rgeo/wkrep/wkt_generator.rb +2 -2
- data/lib/rgeo/wkrep/wkt_parser.rb +7 -7
- data/test/active_record/common_setup_methods.rb +1 -1
- data/test/geos/tc_point.rb +3 -3
- data/test/geos/tc_zmfactory.rb +7 -7
- data/test/{projected_geography → projected_geographic}/tc_geometry_collection.rb +2 -2
- data/test/{projected_geography → projected_geographic}/tc_line_string.rb +2 -2
- data/test/{projected_geography → projected_geographic}/tc_multi_line_string.rb +2 -2
- data/test/{projected_geography → projected_geographic}/tc_multi_point.rb +2 -2
- data/test/{projected_geography → projected_geographic}/tc_multi_polygon.rb +3 -3
- data/test/{projected_geography → projected_geographic}/tc_point.rb +5 -5
- data/test/{projected_geography → projected_geographic}/tc_polygon.rb +2 -2
- data/test/shapefile/tc_shapelib_tests.rb +10 -10
- data/test/simple_cartesian/tc_point.rb +3 -3
- data/test/simple_mercator/tc_geometry_collection.rb +1 -1
- data/test/simple_mercator/tc_line_string.rb +1 -1
- data/test/simple_mercator/tc_multi_line_string.rb +1 -1
- data/test/simple_mercator/tc_multi_point.rb +1 -1
- data/test/simple_mercator/tc_multi_polygon.rb +2 -2
- data/test/simple_mercator/tc_point.rb +4 -4
- data/test/simple_mercator/tc_polygon.rb +1 -1
- data/test/simple_mercator/tc_window.rb +39 -39
- data/test/spherical_geographic/tc_calculations.rb +203 -0
- data/test/{spherical_geography → spherical_geographic}/tc_geometry_collection.rb +2 -2
- data/test/{spherical_geography → spherical_geographic}/tc_line_string.rb +2 -2
- data/test/{spherical_geography → spherical_geographic}/tc_multi_line_string.rb +2 -2
- data/test/{spherical_geography → spherical_geographic}/tc_multi_point.rb +2 -2
- data/test/{spherical_geography → spherical_geographic}/tc_multi_polygon.rb +3 -3
- data/test/{spherical_geography → spherical_geographic}/tc_point.rb +6 -6
- data/test/{spherical_geography → spherical_geographic}/tc_polygon.rb +2 -2
- data/test/tc_geojson.rb +3 -3
- data/test/tc_oneoff.rb +5 -5
- data/test/wkrep/tc_wkb_generator.rb +3 -3
- data/test/wkrep/tc_wkb_parser.rb +16 -16
- data/test/wkrep/tc_wkt_generator.rb +3 -3
- data/test/wkrep/tc_wkt_parser.rb +21 -21
- metadata +46 -44
- data/test/spherical_geography/tc_calculations.rb +0 -203
data/lib/rgeo/geos/zm_factory.rb
CHANGED
@@ -62,8 +62,8 @@ module RGeo
|
|
62
62
|
|
63
63
|
|
64
64
|
def initialize(opts_={}) # :nodoc:
|
65
|
-
@zfactory = Factory.create(:
|
66
|
-
@mfactory = Factory.create(:
|
65
|
+
@zfactory = Factory.create(:has_z_coordinate => true, :lenient_multi_polygon_assertions => opts_[:lenient_multi_polygon_assertions], :buffer_resolution => opts_[:buffer_resolution], :srid => opts_[:srid], :proj4 => opts_[:proj4])
|
66
|
+
@mfactory = Factory.create(:has_m_coordinate => true, :lenient_multi_polygon_assertions => opts_[:lenient_multi_polygon_assertions], :buffer_resolution => opts_[:buffer_resolution], :srid => opts_[:srid], :proj4 => opts_[:proj4])
|
67
67
|
end
|
68
68
|
|
69
69
|
|
@@ -111,14 +111,14 @@ module RGeo
|
|
111
111
|
alias_method :==, :eql?
|
112
112
|
|
113
113
|
|
114
|
-
# See ::RGeo::Feature::Factory#
|
114
|
+
# See ::RGeo::Feature::Factory#property
|
115
115
|
|
116
|
-
def
|
116
|
+
def property(name_)
|
117
117
|
case name_
|
118
|
-
when :
|
118
|
+
when :has_z_coordinate, :has_m_coordinate, :is_cartesian
|
119
119
|
true
|
120
120
|
else
|
121
|
-
|
121
|
+
nil
|
122
122
|
end
|
123
123
|
end
|
124
124
|
|
@@ -200,6 +200,20 @@ module RGeo
|
|
200
200
|
end
|
201
201
|
|
202
202
|
|
203
|
+
# See ::RGeo::Feature::Factory#proj4
|
204
|
+
|
205
|
+
def proj4
|
206
|
+
@zfactory.proj4
|
207
|
+
end
|
208
|
+
|
209
|
+
|
210
|
+
# See ::RGeo::Feature::Factory#coord_sys
|
211
|
+
|
212
|
+
def coord_sys
|
213
|
+
@zfactory.coord_sys
|
214
|
+
end
|
215
|
+
|
216
|
+
|
203
217
|
# See ::RGeo::Feature::Factory#override_cast
|
204
218
|
|
205
219
|
def override_cast(original_, ntype_, flags_)
|
@@ -46,8 +46,8 @@ module RGeo
|
|
46
46
|
_set_factory(factory_)
|
47
47
|
@x = x_.to_f
|
48
48
|
@y = y_.to_f
|
49
|
-
@z = factory_.
|
50
|
-
@m = factory_.
|
49
|
+
@z = factory_.property(:has_z_coordinate) ? extra_.shift.to_f : nil
|
50
|
+
@m = factory_.property(:has_m_coordinate) ? extra_.shift.to_f : nil
|
51
51
|
if extra_.size > 0
|
52
52
|
raise ::ArgumentError, "Too many arguments for point initializer"
|
53
53
|
end
|
@@ -162,7 +162,7 @@ module RGeo
|
|
162
162
|
# A factory generator that should return a factory based on the
|
163
163
|
# srid and dimension settings in the input. The factory generator
|
164
164
|
# should understand the configuration options
|
165
|
-
# <tt>:
|
165
|
+
# <tt>:has_z_coordinate</tt> and <tt>:has_m_coordinate</tt>.
|
166
166
|
# See RGeo::Feature::FactoryGenerator for more information.
|
167
167
|
# If no generator is provided, the <tt>:default_factory</tt> is
|
168
168
|
# used.
|
@@ -253,17 +253,17 @@ module RGeo
|
|
253
253
|
factory_config_ = {}
|
254
254
|
factory_config_[:srid] = opts_[:srid] if opts_[:srid]
|
255
255
|
unless @zmin.nil?
|
256
|
-
factory_config_[:
|
256
|
+
factory_config_[:has_z_coordinate] = true
|
257
257
|
end
|
258
258
|
unless @mmin.nil?
|
259
|
-
factory_config_[:
|
259
|
+
factory_config_[:has_m_coordinate] = true
|
260
260
|
end
|
261
261
|
@factory = factory_generator_.call(factory_config_)
|
262
262
|
else
|
263
263
|
@factory = opts_[:default_factory] || Cartesian.preferred_factory
|
264
264
|
end
|
265
|
-
@factory_supports_z = @factory.
|
266
|
-
@factory_supports_m = @factory.
|
265
|
+
@factory_supports_z = @factory.property(:has_z_coordinate)
|
266
|
+
@factory_supports_m = @factory.property(:has_m_coordinate)
|
267
267
|
|
268
268
|
@assume_inner_follows_outer = opts_[:assume_inner_follows_outer]
|
269
269
|
end
|
@@ -152,8 +152,8 @@ module RGeo
|
|
152
152
|
def generate(obj_)
|
153
153
|
factory_ = obj_.factory
|
154
154
|
if @type_format == :ewkb || @type_format == :wkb12
|
155
|
-
@cur_has_z = factory_.
|
156
|
-
@cur_has_m = factory_.
|
155
|
+
@cur_has_z = factory_.property(:has_z_coordinate)
|
156
|
+
@cur_has_m = factory_.property(:has_m_coordinate)
|
157
157
|
else
|
158
158
|
@cur_has_z = nil
|
159
159
|
@cur_has_m = nil
|
@@ -51,7 +51,7 @@ module RGeo
|
|
51
51
|
#
|
52
52
|
# You must provide each parser with an RGeo::Feature::FactoryGenerator.
|
53
53
|
# It should understand the configuration options <tt>:srid</tt>,
|
54
|
-
# <tt>:
|
54
|
+
# <tt>:has_z_coordinate</tt>, and <tt>:has_m_coordinate</tt>.
|
55
55
|
# You may also pass a specific RGeo::Feature::Factory, or nil to
|
56
56
|
# specify the default Cartesian FactoryGenerator.
|
57
57
|
#
|
@@ -220,11 +220,11 @@ module RGeo
|
|
220
220
|
@cur_has_m = has_m_
|
221
221
|
@cur_dims = 2 + (@cur_has_z ? 1 : 0) + (@cur_has_m ? 1 : 0)
|
222
222
|
@cur_srid = srid_
|
223
|
-
@cur_factory = @factory_generator.call(:srid => @cur_srid, :
|
224
|
-
if @cur_has_z && !@cur_factory.
|
223
|
+
@cur_factory = @factory_generator.call(:srid => @cur_srid, :has_z_coordinate => has_z_, :has_m_coordinate => has_m_)
|
224
|
+
if @cur_has_z && !@cur_factory.property(:has_z_coordinate)
|
225
225
|
raise Error::ParseError, "Data has Z coordinates but the factory doesn't have z_coordinate capability"
|
226
226
|
end
|
227
|
-
if @cur_has_m && !@cur_factory.
|
227
|
+
if @cur_has_m && !@cur_factory.property(:has_m_coordinate)
|
228
228
|
raise Error::ParseError, "Data has M coordinates but the factory doesn't have m_coordinate capability"
|
229
229
|
end
|
230
230
|
end
|
@@ -145,8 +145,8 @@ module RGeo
|
|
145
145
|
@cur_support_z = nil
|
146
146
|
@cur_support_m = nil
|
147
147
|
else
|
148
|
-
@cur_support_z = factory_.
|
149
|
-
@cur_support_m = factory_.
|
148
|
+
@cur_support_z = factory_.property(:has_z_coordinate)
|
149
|
+
@cur_support_m = factory_.property(:has_m_coordinate)
|
150
150
|
end
|
151
151
|
str_ = _generate_feature(obj_, true)
|
152
152
|
if @convert_case == :upper
|
@@ -54,7 +54,7 @@ module RGeo
|
|
54
54
|
#
|
55
55
|
# You must provide each parser with an RGeo::Feature::FactoryGenerator.
|
56
56
|
# It should understand the configuration options <tt>:srid</tt>,
|
57
|
-
# <tt>:
|
57
|
+
# <tt>:has_z_coordinate</tt>, and <tt>:has_m_coordinate</tt>.
|
58
58
|
# You may also pass a specific RGeo::Feature::Factory, or nil to
|
59
59
|
# specify the default Cartesian FactoryGenerator.
|
60
60
|
#
|
@@ -179,8 +179,8 @@ module RGeo
|
|
179
179
|
str_ = str_.downcase
|
180
180
|
@cur_factory = @exact_factory
|
181
181
|
if @cur_factory
|
182
|
-
@cur_factory_support_z = @cur_factory.
|
183
|
-
@cur_factory_support_m = @cur_factory.
|
182
|
+
@cur_factory_support_z = @cur_factory.property(:has_z_coordinate) ? true : false
|
183
|
+
@cur_factory_support_m = @cur_factory.property(:has_m_coordinate) ? true : false
|
184
184
|
end
|
185
185
|
@cur_expect_z = nil
|
186
186
|
@cur_expect_m = nil
|
@@ -214,9 +214,9 @@ module RGeo
|
|
214
214
|
|
215
215
|
def _ensure_factory # :nodoc:
|
216
216
|
unless @cur_factory
|
217
|
-
@cur_factory = @factory_generator.call(:srid => @cur_srid, :
|
218
|
-
@cur_factory_support_z = @cur_factory.
|
219
|
-
@cur_factory_support_m = @cur_factory.
|
217
|
+
@cur_factory = @factory_generator.call(:srid => @cur_srid, :has_z_coordinate => @cur_expect_z, :has_m_coordinate => @cur_expect_m)
|
218
|
+
@cur_factory_support_z = @cur_factory.property(:has_z_coordinate) ? true : false
|
219
|
+
@cur_factory_support_m = @cur_factory.property(:has_m_coordinate) ? true : false
|
220
220
|
_check_factory_support unless @cur_expect_z.nil?
|
221
221
|
end
|
222
222
|
@cur_factory
|
@@ -464,7 +464,7 @@ module RGeo
|
|
464
464
|
end
|
465
465
|
|
466
466
|
|
467
|
-
def _next_token
|
467
|
+
def _next_token # :nodoc:
|
468
468
|
if @_scanner.scan_until(/\(|\)|\[|\]|,|[^\s\(\)\[\],]+/)
|
469
469
|
token_ = @_scanner.matched
|
470
470
|
case token_
|
@@ -88,7 +88,7 @@ module RGeo
|
|
88
88
|
|
89
89
|
def setup
|
90
90
|
@factory = ::RGeo::Cartesian.preferred_factory(:srid => 4326)
|
91
|
-
@geographic_factory = ::RGeo::
|
91
|
+
@geographic_factory = ::RGeo::Geographic.spherical_factory(:srid => 4326)
|
92
92
|
cleanup_tables
|
93
93
|
end
|
94
94
|
|
data/test/geos/tc_point.rb
CHANGED
@@ -49,9 +49,9 @@ module RGeo
|
|
49
49
|
|
50
50
|
def setup
|
51
51
|
@factory = ::RGeo::Geos.factory
|
52
|
-
@zfactory = ::RGeo::Geos.factory(:
|
53
|
-
@mfactory = ::RGeo::Geos.factory(:
|
54
|
-
@zmfactory = ::RGeo::Geos.factory(:
|
52
|
+
@zfactory = ::RGeo::Geos.factory(:has_z_coordinate => true)
|
53
|
+
@mfactory = ::RGeo::Geos.factory(:has_m_coordinate => true)
|
54
|
+
@zmfactory = ::RGeo::Geos.factory(:has_z_coordinate => true, :has_m_coordinate => true)
|
55
55
|
end
|
56
56
|
|
57
57
|
|
data/test/geos/tc_zmfactory.rb
CHANGED
@@ -46,7 +46,7 @@ module RGeo
|
|
46
46
|
|
47
47
|
|
48
48
|
def setup
|
49
|
-
@factory = ::RGeo::Geos.factory(:
|
49
|
+
@factory = ::RGeo::Geos.factory(:has_z_coordinate => true, :has_m_coordinate => true, :srid => 1000, :buffer_resolution => 2)
|
50
50
|
end
|
51
51
|
|
52
52
|
|
@@ -57,12 +57,12 @@ module RGeo
|
|
57
57
|
assert_equal(2, @factory.buffer_resolution)
|
58
58
|
assert_equal(2, @factory.z_factory.buffer_resolution)
|
59
59
|
assert_equal(2, @factory.m_factory.buffer_resolution)
|
60
|
-
assert(@factory.
|
61
|
-
assert(@factory.
|
62
|
-
assert(@factory.z_factory.
|
63
|
-
assert(!@factory.z_factory.
|
64
|
-
assert(!@factory.m_factory.
|
65
|
-
assert(@factory.m_factory.
|
60
|
+
assert(@factory.property(:has_z_coordinate))
|
61
|
+
assert(@factory.property(:has_m_coordinate))
|
62
|
+
assert(@factory.z_factory.property(:has_z_coordinate))
|
63
|
+
assert(!@factory.z_factory.property(:has_m_coordinate))
|
64
|
+
assert(!@factory.m_factory.property(:has_z_coordinate))
|
65
|
+
assert(@factory.m_factory.property(:has_m_coordinate))
|
66
66
|
end
|
67
67
|
|
68
68
|
|
@@ -42,13 +42,13 @@ require ::File.expand_path('../common/geometry_collection_tests.rb', ::File.dirn
|
|
42
42
|
|
43
43
|
module RGeo
|
44
44
|
module Tests # :nodoc:
|
45
|
-
module
|
45
|
+
module ProjectedGeographic # :nodoc:
|
46
46
|
|
47
47
|
class TestGeometryCollection < ::Test::Unit::TestCase # :nodoc:
|
48
48
|
|
49
49
|
|
50
50
|
def create_factory
|
51
|
-
::RGeo::
|
51
|
+
::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)
|
52
52
|
end
|
53
53
|
|
54
54
|
|
@@ -42,13 +42,13 @@ require ::File.expand_path('../common/line_string_tests.rb', ::File.dirname(__FI
|
|
42
42
|
|
43
43
|
module RGeo
|
44
44
|
module Tests # :nodoc:
|
45
|
-
module
|
45
|
+
module ProjectedGeographic # :nodoc:
|
46
46
|
|
47
47
|
class TestLineString < ::Test::Unit::TestCase # :nodoc:
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::
|
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)
|
52
52
|
end
|
53
53
|
|
54
54
|
|
@@ -42,13 +42,13 @@ require ::File.expand_path('../common/multi_line_string_tests.rb', ::File.dirnam
|
|
42
42
|
|
43
43
|
module RGeo
|
44
44
|
module Tests # :nodoc:
|
45
|
-
module
|
45
|
+
module ProjectedGeographic # :nodoc:
|
46
46
|
|
47
47
|
class TestMultiLineString < ::Test::Unit::TestCase # :nodoc:
|
48
48
|
|
49
49
|
|
50
50
|
def create_factory
|
51
|
-
::RGeo::
|
51
|
+
::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)
|
52
52
|
end
|
53
53
|
|
54
54
|
|
@@ -42,13 +42,13 @@ require ::File.expand_path('../common/multi_point_tests.rb', ::File.dirname(__FI
|
|
42
42
|
|
43
43
|
module RGeo
|
44
44
|
module Tests # :nodoc:
|
45
|
-
module
|
45
|
+
module ProjectedGeographic # :nodoc:
|
46
46
|
|
47
47
|
class TestMultiPoint < ::Test::Unit::TestCase # :nodoc:
|
48
48
|
|
49
49
|
|
50
50
|
def create_factory
|
51
|
-
::RGeo::
|
51
|
+
::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)
|
52
52
|
end
|
53
53
|
|
54
54
|
|
@@ -42,14 +42,14 @@ require ::File.expand_path('../common/multi_polygon_tests.rb', ::File.dirname(__
|
|
42
42
|
|
43
43
|
module RGeo
|
44
44
|
module Tests # :nodoc:
|
45
|
-
module
|
45
|
+
module ProjectedGeographic # :nodoc:
|
46
46
|
|
47
47
|
class TestMultiPolygon < ::Test::Unit::TestCase # :nodoc:
|
48
48
|
|
49
49
|
|
50
50
|
def create_factories
|
51
|
-
@factory = ::RGeo::
|
52
|
-
@lenient_factory = ::RGeo::
|
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)
|
52
|
+
@lenient_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, :lenient_multi_polygon_assertions => true)
|
53
53
|
end
|
54
54
|
|
55
55
|
|
@@ -42,16 +42,16 @@ require ::File.expand_path('../common/point_tests.rb', ::File.dirname(__FILE__))
|
|
42
42
|
|
43
43
|
module RGeo
|
44
44
|
module Tests # :nodoc:
|
45
|
-
module
|
45
|
+
module ProjectedGeographic # :nodoc:
|
46
46
|
|
47
47
|
class TestPoint < ::Test::Unit::TestCase # :nodoc:
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::
|
52
|
-
@zfactory = ::RGeo::
|
53
|
-
@mfactory = ::RGeo::
|
54
|
-
@zmfactory = ::RGeo::
|
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)
|
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
|
+
@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
|
+
@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)
|
55
55
|
end
|
56
56
|
|
57
57
|
|
@@ -42,13 +42,13 @@ require ::File.expand_path('../common/polygon_tests.rb', ::File.dirname(__FILE__
|
|
42
42
|
|
43
43
|
module RGeo
|
44
44
|
module Tests # :nodoc:
|
45
|
-
module
|
45
|
+
module ProjectedGeographic # :nodoc:
|
46
46
|
|
47
47
|
class TestPolygon < ::Test::Unit::TestCase # :nodoc:
|
48
48
|
|
49
49
|
|
50
50
|
def setup
|
51
|
-
@factory = ::RGeo::
|
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)
|
52
52
|
end
|
53
53
|
|
54
54
|
|
@@ -126,8 +126,8 @@ module RGeo
|
|
126
126
|
_open_shapefile(filename_) do |file_|
|
127
127
|
assert_equal(has_z_ ? 11 : has_m_ ? 21 : 1, file_.shape_type_code)
|
128
128
|
assert_equal(2, file_.num_records)
|
129
|
-
assert_equal(has_z_, file_.factory.
|
130
|
-
assert_equal(has_m_, file_.factory.
|
129
|
+
assert_equal(has_z_, file_.factory.property(:has_z_coordinate))
|
130
|
+
assert_equal(has_m_, file_.factory.property(:has_m_coordinate))
|
131
131
|
rec_ = file_.next
|
132
132
|
assert_equal(0, rec_.index)
|
133
133
|
assert_equal(::RGeo::Feature::Point, rec_.geometry.geometry_type)
|
@@ -166,8 +166,8 @@ module RGeo
|
|
166
166
|
_open_shapefile(filename_) do |file_|
|
167
167
|
assert_equal(has_z_ ? 18 : has_m_ ? 28 : 8, file_.shape_type_code)
|
168
168
|
assert_equal(3, file_.num_records)
|
169
|
-
assert_equal(has_z_, file_.factory.
|
170
|
-
assert_equal(has_m_, file_.factory.
|
169
|
+
assert_equal(has_z_, file_.factory.property(:has_z_coordinate))
|
170
|
+
assert_equal(has_m_, file_.factory.property(:has_m_coordinate))
|
171
171
|
rec_ = file_.next
|
172
172
|
assert_equal(::RGeo::Feature::MultiPoint, rec_.geometry.geometry_type)
|
173
173
|
assert_equal(4, rec_.geometry.num_geometries)
|
@@ -217,8 +217,8 @@ module RGeo
|
|
217
217
|
_open_shapefile(filename_) do |file_|
|
218
218
|
assert_equal(has_z_ ? 13 : has_m_ ? 23 : 3, file_.shape_type_code)
|
219
219
|
assert_equal(4, file_.num_records)
|
220
|
-
assert_equal(has_z_, file_.factory.
|
221
|
-
assert_equal(has_m_, file_.factory.
|
220
|
+
assert_equal(has_z_, file_.factory.property(:has_z_coordinate))
|
221
|
+
assert_equal(has_m_, file_.factory.property(:has_m_coordinate))
|
222
222
|
rec_ = file_.next
|
223
223
|
assert_equal(::RGeo::Feature::MultiLineString, rec_.geometry.geometry_type)
|
224
224
|
assert_equal(1, rec_.geometry.num_geometries)
|
@@ -327,8 +327,8 @@ module RGeo
|
|
327
327
|
_open_shapefile(filename_) do |file_|
|
328
328
|
assert_equal(has_z_ ? 15 : has_m_ ? 25 : 5, file_.shape_type_code)
|
329
329
|
assert_equal(4, file_.num_records)
|
330
|
-
assert_equal(has_z_, file_.factory.
|
331
|
-
assert_equal(has_m_, file_.factory.
|
330
|
+
assert_equal(has_z_, file_.factory.property(:has_z_coordinate))
|
331
|
+
assert_equal(has_m_, file_.factory.property(:has_m_coordinate))
|
332
332
|
rec_ = file_.next
|
333
333
|
assert_equal(::RGeo::Feature::MultiPolygon, rec_.geometry.geometry_type)
|
334
334
|
assert_equal(1, rec_.geometry.num_geometries)
|
@@ -440,11 +440,11 @@ module RGeo
|
|
440
440
|
_open_shapefile('test13') do |file_|
|
441
441
|
assert_equal(31, file_.shape_type_code)
|
442
442
|
assert_equal(4, file_.num_records)
|
443
|
-
assert_equal(true, file_.factory.
|
443
|
+
assert_equal(true, file_.factory.property(:has_z_coordinate))
|
444
444
|
# I believe shapefile's test13 incorrectly includes bounding
|
445
445
|
# box data for m, since there is no actual m data. So I
|
446
446
|
# disabled this test:
|
447
|
-
# assert_equal(false, file_.factory.
|
447
|
+
# assert_equal(false, file_.factory.property(:has_m_coordinate))
|
448
448
|
rec_ = file_.next
|
449
449
|
assert_equal(::RGeo::Feature::GeometryCollection, rec_.geometry.geometry_type)
|
450
450
|
assert_equal(1, rec_.geometry.num_geometries)
|
@@ -49,9 +49,9 @@ module RGeo
|
|
49
49
|
|
50
50
|
def setup
|
51
51
|
@factory = ::RGeo::Cartesian.simple_factory(:srid => 1)
|
52
|
-
@zfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :
|
53
|
-
@mfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :
|
54
|
-
@zmfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :
|
52
|
+
@zfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :has_z_coordinate => true)
|
53
|
+
@mfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :has_m_coordinate => true)
|
54
|
+
@zmfactory = ::RGeo::Cartesian.simple_factory(:srid => 1, :has_z_coordinate => true, :has_m_coordinate => true)
|
55
55
|
end
|
56
56
|
|
57
57
|
|