rgeo 0.1.14 → 0.1.15

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 (37) hide show
  1. data/History.rdoc +6 -0
  2. data/Version +1 -1
  3. data/lib/rgeo.rb +80 -30
  4. data/lib/rgeo/all.rb +48 -0
  5. data/lib/rgeo/cartesian.rb +37 -12
  6. data/lib/rgeo/cartesian/calculations.rb +5 -0
  7. data/lib/rgeo/cartesian/{simple_factory.rb → factory.rb} +14 -17
  8. data/lib/rgeo/cartesian/{simple_feature_classes.rb → feature_classes.rb} +55 -55
  9. data/lib/rgeo/cartesian/{simple_feature_methods.rb → feature_methods.rb} +7 -3
  10. data/lib/rgeo/cartesian/interface.rb +7 -3
  11. data/lib/rgeo/errors.rb +4 -0
  12. data/lib/rgeo/features.rb +25 -20
  13. data/lib/rgeo/geo_json.rb +10 -8
  14. data/lib/rgeo/geography.rb +10 -16
  15. data/lib/rgeo/geography/all.rb +40 -0
  16. data/lib/rgeo/geography/factory.rb +2 -2
  17. data/lib/rgeo/geography/{factories.rb → interface.rb} +4 -2
  18. data/lib/rgeo/geography/simple_mercator.rb +69 -0
  19. data/lib/rgeo/geography/simple_mercator/feature_classes.rb +62 -62
  20. data/lib/rgeo/geography/simple_mercator/projector.rb +1 -1
  21. data/lib/rgeo/geography/simple_spherical.rb +68 -0
  22. data/lib/rgeo/geography/simple_spherical/calculations.rb +2 -2
  23. data/lib/rgeo/geography/simple_spherical/feature_classes.rb +44 -44
  24. data/lib/rgeo/geos.rb +12 -9
  25. data/lib/rgeo/impl_helpers.rb +14 -9
  26. data/lib/rgeo/impl_helpers/basic_geometry_collection_methods.rb +10 -0
  27. data/lib/rgeo/impl_helpers/basic_point_methods.rb +3 -0
  28. data/lib/rgeo/{geography/helper.rb → impl_helpers/math.rb} +3 -3
  29. data/lib/rgeo/wkrep.rb +32 -12
  30. data/lib/rgeo/wkrep/wkb_generator.rb +95 -9
  31. data/lib/rgeo/wkrep/wkb_parser.rb +117 -9
  32. data/lib/rgeo/wkrep/wkt_generator.rb +106 -18
  33. data/lib/rgeo/wkrep/wkt_parser.rb +203 -59
  34. data/tests/simple_cartesian/tc_calculations.rb +8 -8
  35. data/tests/wkrep/tc_wkt_generator.rb +362 -0
  36. data/tests/wkrep/tc_wkt_parser.rb +490 -0
  37. metadata +16 -8
@@ -39,7 +39,7 @@ module RGeo
39
39
  module Cartesian
40
40
 
41
41
 
42
- module SimpleGeometryMethods # :nodoc:
42
+ module GeometryMethods # :nodoc:
43
43
 
44
44
 
45
45
  def srid
@@ -50,7 +50,7 @@ module RGeo
50
50
  end
51
51
 
52
52
 
53
- module SimpleLineStringMethods # :nodoc:
53
+ module LineStringMethods # :nodoc:
54
54
 
55
55
 
56
56
  def _segments
@@ -89,9 +89,13 @@ module RGeo
89
89
  end
90
90
 
91
91
 
92
+ def length
93
+ @segments.inject(0.0){ |sum_, seg_| sum_ + seg_.length }
94
+ end
95
+
96
+
92
97
  end
93
98
 
94
-
95
99
  end
96
100
 
97
101
  end
@@ -55,8 +55,8 @@ module RGeo
55
55
  # implementation. Unsupported options are ignored.
56
56
 
57
57
  def preferred_factory(opts_={})
58
- if Geos.supported?
59
- Geos.factory(opts_)
58
+ if ::RGeo::Geos.supported?
59
+ ::RGeo::Geos.factory(opts_)
60
60
  else
61
61
  simple_factory(opts_)
62
62
  end
@@ -72,9 +72,13 @@ module RGeo
72
72
  # <tt>:srid</tt>::
73
73
  # Set the SRID returned by geometries created by this factory.
74
74
  # Default is 0.
75
+ # <tt>:support_z_coordinate</tt>::
76
+ # Support <tt>z_coordinate</tt>. Default is false.
77
+ # <tt>:support_m_coordinate</tt>::
78
+ # Support <tt>m_coordinate</tt>. Default is false.
75
79
 
76
80
  def simple_factory(opts_={})
77
- SimpleFactory.new(opts_)
81
+ Cartesian::Factory.new(opts_)
78
82
  end
79
83
 
80
84
 
data/lib/rgeo/errors.rb CHANGED
@@ -34,6 +34,10 @@
34
34
  ;
35
35
 
36
36
 
37
+ # Parent file
38
+ require 'rgeo'
39
+
40
+
37
41
  module RGeo
38
42
 
39
43
 
data/lib/rgeo/features.rb CHANGED
@@ -34,6 +34,10 @@
34
34
  ;
35
35
 
36
36
 
37
+ # Parent file
38
+ require 'rgeo'
39
+
40
+
37
41
  module RGeo
38
42
 
39
43
 
@@ -68,23 +72,24 @@ module RGeo
68
72
  end
69
73
 
70
74
 
71
- # Dependency source files.
72
- paths_ = [
73
- 'features/factory',
74
- 'features/types',
75
- 'features/geometry',
76
- 'features/point',
77
- 'features/curve',
78
- 'features/line_string',
79
- 'features/linear_ring',
80
- 'features/line',
81
- 'features/surface',
82
- 'features/polygon',
83
- 'features/geometry_collection',
84
- 'features/multi_point',
85
- 'features/multi_curve',
86
- 'features/multi_line_string',
87
- 'features/multi_surface',
88
- 'features/multi_polygon',
89
- ]
90
- paths_.each{ |path_| require "rgeo/#{path_}" }
75
+ # Dependency files
76
+ require 'rgeo/errors'
77
+
78
+ # Implementation files
79
+ require 'rgeo/features/factory'
80
+ require 'rgeo/features/types'
81
+ require 'rgeo/features/geometry'
82
+ require 'rgeo/features/point'
83
+ require 'rgeo/features/curve'
84
+ require 'rgeo/features/line_string'
85
+ require 'rgeo/features/linear_ring'
86
+ require 'rgeo/features/line'
87
+ require 'rgeo/features/surface'
88
+ require 'rgeo/features/polygon'
89
+ require 'rgeo/features/geometry_collection'
90
+ require 'rgeo/features/multi_point'
91
+ require 'rgeo/features/multi_curve'
92
+ require 'rgeo/features/multi_line_string'
93
+ require 'rgeo/features/multi_surface'
94
+ require 'rgeo/features/multi_polygon'
95
+
data/lib/rgeo/geo_json.rb CHANGED
@@ -34,6 +34,10 @@
34
34
  ;
35
35
 
36
36
 
37
+ # Parent file
38
+ require 'rgeo'
39
+
40
+
37
41
  module RGeo
38
42
 
39
43
 
@@ -47,12 +51,10 @@ module RGeo
47
51
  end
48
52
 
49
53
 
50
- # Dependency source files.
51
- paths_ = [
52
- 'features',
53
- 'geo_json/entities',
54
- 'geo_json/coder',
55
- 'geo_json/interface',
56
- ]
54
+ # Dependency files
55
+ require 'rgeo/features'
57
56
 
58
- paths_.each{ |path_| require "rgeo/#{path_}" }
57
+ # Implementation files
58
+ require 'rgeo/geo_json/entities'
59
+ require 'rgeo/geo_json/coder'
60
+ require 'rgeo/geo_json/interface'
@@ -34,6 +34,10 @@
34
34
  ;
35
35
 
36
36
 
37
+ # Parent file
38
+ require 'rgeo'
39
+
40
+
37
41
  module RGeo
38
42
 
39
43
 
@@ -41,25 +45,15 @@ module RGeo
41
45
  # latitude/longitude coordinates measured in degrees.
42
46
 
43
47
  module Geography
48
+
49
+ autoload(:SimpleSpherical, 'rgeo/geography/simple_spherical')
50
+ autoload(:SimpleMercator, 'rgeo/geography/simple_mercator')
51
+
44
52
  end
45
53
 
46
54
 
47
55
  end
48
56
 
49
57
 
50
- # Dependency source files.
51
- paths_ = [
52
- 'features',
53
- 'cartesian',
54
- 'geography/helper',
55
- 'geography/simple_spherical/calculations',
56
- 'geography/simple_spherical/feature_methods',
57
- 'geography/simple_spherical/feature_classes',
58
- 'geography/simple_mercator/projector',
59
- 'geography/simple_mercator/feature_methods',
60
- 'geography/simple_mercator/feature_classes',
61
- 'geography/factory',
62
- 'geography/projected_window',
63
- 'geography/factories',
64
- ]
65
- paths_.each{ |path_| require "rgeo/#{path_}" }
58
+ # Implementation files.
59
+ require 'rgeo/geography/interface'
@@ -0,0 +1,40 @@
1
+ # -----------------------------------------------------------------------------
2
+ #
3
+ # All files in the Cartesian module for RGeo
4
+ #
5
+ # -----------------------------------------------------------------------------
6
+ # Copyright 2010 Daniel Azuma
7
+ #
8
+ # All rights reserved.
9
+ #
10
+ # Redistribution and use in source and binary forms, with or without
11
+ # modification, are permitted provided that the following conditions are met:
12
+ #
13
+ # * Redistributions of source code must retain the above copyright notice,
14
+ # this list of conditions and the following disclaimer.
15
+ # * Redistributions in binary form must reproduce the above copyright notice,
16
+ # this list of conditions and the following disclaimer in the documentation
17
+ # and/or other materials provided with the distribution.
18
+ # * Neither the name of the copyright holder, nor the names of any other
19
+ # contributors to this software, may be used to endorse or promote products
20
+ # derived from this software without specific prior written permission.
21
+ #
22
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26
+ # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
+ # POSSIBILITY OF SUCH DAMAGE.
33
+ # -----------------------------------------------------------------------------
34
+ ;
35
+
36
+
37
+ require 'rgeo/geography'
38
+
39
+ require 'rgeo/geography/simple_spherical'
40
+ require 'rgeo/geography/simple_mercator'
@@ -149,14 +149,14 @@ module RGeo
149
149
  # See ::RGeo::Features::Factory#parse_wkt
150
150
 
151
151
  def parse_wkt(str_)
152
- WKRep::WKTParser.new(self, :support_higher_dimensions => true).parse(str_)
152
+ WKRep::WKTParser.new(:default_factory => self).parse(str_)
153
153
  end
154
154
 
155
155
 
156
156
  # See ::RGeo::Features::Factory#parse_wkb
157
157
 
158
158
  def parse_wkb(str_)
159
- WKRep::WKBParser.new(self).parse(str_)
159
+ WKRep::WKBParser.new(:default_factory => self).parse(str_)
160
160
  end
161
161
 
162
162
 
@@ -100,7 +100,8 @@ module RGeo
100
100
  # most support one or the other.
101
101
 
102
102
  def simple_spherical(opts_={})
103
- Geography::Factory.new(Geography::SimpleSpherical, :support_z_coordinate => opts_[:support_z_coordinate], :support_m_coordinate => opts_[:support_m_coordinate])
103
+ namespace_ = Geography::SimpleSpherical
104
+ Geography::Factory.new(namespace_, :support_z_coordinate => opts_[:support_z_coordinate], :support_m_coordinate => opts_[:support_m_coordinate])
104
105
  end
105
106
 
106
107
 
@@ -176,7 +177,8 @@ module RGeo
176
177
  # most support one or the other.
177
178
 
178
179
  def simple_mercator(opts_={})
179
- Geography::Factory.new(Geography::SimpleMercator, :buffer_resolution => opts_[:buffer_resolution], :lenient_multi_polygon_assertions => opts_[:lenient_multi_polygon_assertions], :support_z_coordinate => opts_[:support_z_coordinate], :support_m_coordinate => opts_[:support_m_coordinate])
180
+ namespace_ = Geography::SimpleMercator
181
+ Geography::Factory.new(namespace_, :buffer_resolution => opts_[:buffer_resolution], :lenient_multi_polygon_assertions => opts_[:lenient_multi_polygon_assertions], :support_z_coordinate => opts_[:support_z_coordinate], :support_m_coordinate => opts_[:support_m_coordinate])
180
182
  end
181
183
 
182
184
 
@@ -0,0 +1,69 @@
1
+ # -----------------------------------------------------------------------------
2
+ #
3
+ # Simple spherical geography implementation for RGeo
4
+ #
5
+ # -----------------------------------------------------------------------------
6
+ # Copyright 2010 Daniel Azuma
7
+ #
8
+ # All rights reserved.
9
+ #
10
+ # Redistribution and use in source and binary forms, with or without
11
+ # modification, are permitted provided that the following conditions are met:
12
+ #
13
+ # * Redistributions of source code must retain the above copyright notice,
14
+ # this list of conditions and the following disclaimer.
15
+ # * Redistributions in binary form must reproduce the above copyright notice,
16
+ # this list of conditions and the following disclaimer in the documentation
17
+ # and/or other materials provided with the distribution.
18
+ # * Neither the name of the copyright holder, nor the names of any other
19
+ # contributors to this software, may be used to endorse or promote products
20
+ # derived from this software without specific prior written permission.
21
+ #
22
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25
+ # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26
+ # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
+ # POSSIBILITY OF SUCH DAMAGE.
33
+ # -----------------------------------------------------------------------------
34
+ ;
35
+
36
+
37
+ require 'rgeo/geography'
38
+
39
+
40
+ module RGeo
41
+
42
+ module Geography
43
+
44
+
45
+ # This namespace contains the simple mercator implementation.
46
+
47
+ module SimpleMercator
48
+ end
49
+
50
+
51
+ end
52
+
53
+
54
+ end
55
+
56
+
57
+ # Dependency source files.
58
+ paths_ = [
59
+ 'features',
60
+ 'wkrep',
61
+ 'impl_helpers',
62
+ 'cartesian',
63
+ 'geography/simple_mercator/projector',
64
+ 'geography/simple_mercator/feature_methods',
65
+ 'geography/simple_mercator/feature_classes',
66
+ 'geography/factory',
67
+ 'geography/projected_window',
68
+ ]
69
+ paths_.each{ |path_| require "rgeo/#{path_}" }
@@ -44,10 +44,10 @@ module RGeo
44
44
  class PointImpl # :nodoc:
45
45
 
46
46
 
47
- include Features::Point
48
- include ImplHelpers::BasicGeometryMethods
49
- include SimpleMercator::GeometryMethods
50
- include ImplHelpers::BasicPointMethods
47
+ include ::RGeo::Features::Point
48
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
49
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
50
+ include ::RGeo::ImplHelpers::BasicPointMethods
51
51
 
52
52
 
53
53
  def _validate_geometry
@@ -58,7 +58,7 @@ module RGeo
58
58
 
59
59
 
60
60
  def _make_projection(projection_factory_) # :nodoc:
61
- rpd_ = Helper::RADIANS_PER_DEGREE
61
+ rpd_ = ::RGeo::ImplHelpers::Math::RADIANS_PER_DEGREE
62
62
  mpr_ = EQUATORIAL_RADIUS
63
63
  projection_factory_.point(@x * rpd_ * mpr_,
64
64
  ::Math.log(::Math.tan(::Math::PI / 4.0 + @y * rpd_ / 2.0)) * mpr_)
@@ -66,7 +66,7 @@ module RGeo
66
66
 
67
67
 
68
68
  def scaling_factor
69
- 1.0 / ::Math.cos(Helper::RADIANS_PER_DEGREE * @y)
69
+ 1.0 / ::Math.cos(::RGeo::ImplHelpers::Math::RADIANS_PER_DEGREE * @y)
70
70
  end
71
71
 
72
72
 
@@ -87,13 +87,13 @@ module RGeo
87
87
  class LineStringImpl # :nodoc:
88
88
 
89
89
 
90
- include Features::LineString
91
- include ImplHelpers::BasicGeometryMethods
92
- include SimpleMercator::GeometryMethods
93
- include SimpleMercator::NCurveMethods
94
- include SimpleMercator::CurveMethods
95
- include ImplHelpers::BasicLineStringMethods
96
- include SimpleMercator::LineStringMethods
90
+ include ::RGeo::Features::LineString
91
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
92
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
93
+ include ::RGeo::Geography::SimpleMercator::NCurveMethods
94
+ include ::RGeo::Geography::SimpleMercator::CurveMethods
95
+ include ::RGeo::ImplHelpers::BasicLineStringMethods
96
+ include ::RGeo::Geography::SimpleMercator::LineStringMethods
97
97
 
98
98
 
99
99
  def _make_projection(projection_factory_) # :nodoc:
@@ -107,14 +107,14 @@ module RGeo
107
107
  class LinearRingImpl # :nodoc:
108
108
 
109
109
 
110
- include Features::Line
111
- include ImplHelpers::BasicGeometryMethods
112
- include SimpleMercator::GeometryMethods
113
- include SimpleMercator::NCurveMethods
114
- include SimpleMercator::CurveMethods
115
- include ImplHelpers::BasicLineStringMethods
116
- include SimpleMercator::LineStringMethods
117
- include ImplHelpers::BasicLinearRingMethods
110
+ include ::RGeo::Features::Line
111
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
112
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
113
+ include ::RGeo::Geography::SimpleMercator::NCurveMethods
114
+ include ::RGeo::Geography::SimpleMercator::CurveMethods
115
+ include ::RGeo::ImplHelpers::BasicLineStringMethods
116
+ include ::RGeo::Geography::SimpleMercator::LineStringMethods
117
+ include ::RGeo::ImplHelpers::BasicLinearRingMethods
118
118
 
119
119
 
120
120
  def _make_projection(projection_factory_) # :nodoc:
@@ -128,14 +128,14 @@ module RGeo
128
128
  class LineImpl # :nodoc:
129
129
 
130
130
 
131
- include Features::Line
132
- include ImplHelpers::BasicGeometryMethods
133
- include SimpleMercator::GeometryMethods
134
- include SimpleMercator::NCurveMethods
135
- include SimpleMercator::CurveMethods
136
- include ImplHelpers::BasicLineStringMethods
137
- include SimpleMercator::LineStringMethods
138
- include ImplHelpers::BasicLineMethods
131
+ include ::RGeo::Features::Line
132
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
133
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
134
+ include ::RGeo::Geography::SimpleMercator::NCurveMethods
135
+ include ::RGeo::Geography::SimpleMercator::CurveMethods
136
+ include ::RGeo::ImplHelpers::BasicLineStringMethods
137
+ include ::RGeo::Geography::SimpleMercator::LineStringMethods
138
+ include ::RGeo::ImplHelpers::BasicLineMethods
139
139
 
140
140
 
141
141
  def _make_projection(projection_factory_) # :nodoc:
@@ -149,18 +149,18 @@ module RGeo
149
149
  class PolygonImpl # :nodoc:
150
150
 
151
151
 
152
- include Features::Polygon
153
- include ImplHelpers::BasicGeometryMethods
154
- include SimpleMercator::GeometryMethods
155
- include SimpleMercator::NSurfaceMethods
156
- include SimpleMercator::SurfaceMethods
157
- include ImplHelpers::BasicPolygonMethods
152
+ include ::RGeo::Features::Polygon
153
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
154
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
155
+ include ::RGeo::Geography::SimpleMercator::NSurfaceMethods
156
+ include ::RGeo::Geography::SimpleMercator::SurfaceMethods
157
+ include ::RGeo::ImplHelpers::BasicPolygonMethods
158
158
 
159
159
 
160
160
  def _validate_geometry
161
161
  super
162
162
  unless projection
163
- raise Errors::InvalidGeometry, 'Polygon failed assertions'
163
+ raise ::RGeo::Errors::InvalidGeometry, 'Polygon failed assertions'
164
164
  end
165
165
  end
166
166
 
@@ -177,11 +177,11 @@ module RGeo
177
177
  class GeometryCollectionImpl # :nodoc:
178
178
 
179
179
 
180
- include Features::GeometryCollection
181
- include ImplHelpers::BasicGeometryMethods
182
- include SimpleMercator::GeometryMethods
183
- include ImplHelpers::BasicGeometryCollectionMethods
184
- include SimpleMercator::GeometryCollectionMethods
180
+ include ::RGeo::Features::GeometryCollection
181
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
182
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
183
+ include ::RGeo::ImplHelpers::BasicGeometryCollectionMethods
184
+ include ::RGeo::Geography::SimpleMercator::GeometryCollectionMethods
185
185
 
186
186
 
187
187
  def _make_projection(projection_factory_) # :nodoc:
@@ -195,12 +195,12 @@ module RGeo
195
195
  class MultiPointImpl # :nodoc:
196
196
 
197
197
 
198
- include Features::GeometryCollection
199
- include ImplHelpers::BasicGeometryMethods
200
- include SimpleMercator::GeometryMethods
201
- include ImplHelpers::BasicGeometryCollectionMethods
202
- include SimpleMercator::GeometryCollectionMethods
203
- include ImplHelpers::BasicMultiPointMethods
198
+ include ::RGeo::Features::GeometryCollection
199
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
200
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
201
+ include ::RGeo::ImplHelpers::BasicGeometryCollectionMethods
202
+ include ::RGeo::Geography::SimpleMercator::GeometryCollectionMethods
203
+ include ::RGeo::ImplHelpers::BasicMultiPointMethods
204
204
 
205
205
 
206
206
  def _make_projection(projection_factory_) # :nodoc:
@@ -214,13 +214,13 @@ module RGeo
214
214
  class MultiLineStringImpl # :nodoc:
215
215
 
216
216
 
217
- include Features::GeometryCollection
218
- include ImplHelpers::BasicGeometryMethods
219
- include SimpleMercator::GeometryMethods
220
- include SimpleMercator::NCurveMethods
221
- include ImplHelpers::BasicGeometryCollectionMethods
222
- include SimpleMercator::GeometryCollectionMethods
223
- include ImplHelpers::BasicMultiLineStringMethods
217
+ include ::RGeo::Features::GeometryCollection
218
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
219
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
220
+ include ::RGeo::Geography::SimpleMercator::NCurveMethods
221
+ include ::RGeo::ImplHelpers::BasicGeometryCollectionMethods
222
+ include ::RGeo::Geography::SimpleMercator::GeometryCollectionMethods
223
+ include ::RGeo::ImplHelpers::BasicMultiLineStringMethods
224
224
 
225
225
 
226
226
  def _make_projection(projection_factory_) # :nodoc:
@@ -234,19 +234,19 @@ module RGeo
234
234
  class MultiPolygonImpl # :nodoc:
235
235
 
236
236
 
237
- include Features::GeometryCollection
238
- include ImplHelpers::BasicGeometryMethods
239
- include SimpleMercator::GeometryMethods
240
- include SimpleMercator::NSurfaceMethods
241
- include ImplHelpers::BasicGeometryCollectionMethods
242
- include SimpleMercator::GeometryCollectionMethods
243
- include ImplHelpers::BasicMultiPolygonMethods
237
+ include ::RGeo::Features::GeometryCollection
238
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
239
+ include ::RGeo::Geography::SimpleMercator::GeometryMethods
240
+ include ::RGeo::Geography::SimpleMercator::NSurfaceMethods
241
+ include ::RGeo::ImplHelpers::BasicGeometryCollectionMethods
242
+ include ::RGeo::Geography::SimpleMercator::GeometryCollectionMethods
243
+ include ::RGeo::ImplHelpers::BasicMultiPolygonMethods
244
244
 
245
245
 
246
246
  def _validate_geometry
247
247
  super
248
248
  unless projection
249
- raise Errors::InvalidGeometry, 'MultiPolygon failed assertions'
249
+ raise ::RGeo::Errors::InvalidGeometry, 'MultiPolygon failed assertions'
250
250
  end
251
251
  end
252
252