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
data/History.rdoc CHANGED
@@ -1,3 +1,9 @@
1
+ === 0.1.15 / 2010-11-08
2
+
3
+ * Cleanup, fixes, documentation, and partial test coverage in the WKT/WKB implementations.
4
+ * Implemented autoload for the various modules.
5
+ * A few minor fixes.
6
+
1
7
  === 0.1.14 / 2010-11-04
2
8
 
3
9
  * Introduced capability checking API.
data/Version CHANGED
@@ -1 +1 @@
1
- 0.1.14
1
+ 0.1.15
data/lib/rgeo.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # -----------------------------------------------------------------------------
2
2
  #
3
- # RGeo Rakefile
3
+ # RGeo main file
4
4
  #
5
5
  # -----------------------------------------------------------------------------
6
6
  # Copyright 2010 Daniel Azuma
@@ -34,30 +34,80 @@
34
34
  ;
35
35
 
36
36
 
37
- # RGeo is a spatial data library for Ruby.
37
+ # RGeo is a spatial data library for Ruby. It focuses on the storage and
38
+ # manipulation of spatial data types such as points, lines, and polygons.
39
+ #
40
+ # === RGeo Modules
41
+ #
42
+ # RGeo comprises a number of modules.
38
43
  #
39
44
  # The RGeo::Features module contains interface specifications for spatial
40
45
  # objects implemented by RGeo. These interfaces closely follow the OGC
41
- # Simple Features Specifiation (SFS).
46
+ # Simple Features Specifiation (SFS). This module forms the core of RGeo.
42
47
  #
43
- # The RGeo::Cartesian module provides basic implementations of spatial
44
- # objects in a Cartesian (flat) coordinate system. There is a pure ruby
45
- # implementation that provides basic services, and there are bridges to
46
- # external implementations that support all the SFS operations.
48
+ # The RGeo::Cartesian module provides a basic pure ruby implementation of
49
+ # spatial objects in a Cartesian (flat) coordinate system. It does not
50
+ # implement all the geometric analysis operations in the SFS, but it
51
+ # implements the data structures without requiring an external C library,
52
+ # so it is often sufficient for basic applications.
47
53
  #
48
- # One of these external bridges is provided by the RGeo::Geos module,
49
- # which wraps the GEOS library to provide a full, high-performance
50
- # Cartesian geometry implementation.
54
+ # The RGeo::Geos module is another cartesian implementation that wraps the
55
+ # GEOS library to provide a full, high-performance implementation of
56
+ # Cartesian geometry that includes every operation defined in the SFS. It
57
+ # requires GEOS 3.2 or later.
51
58
  #
52
59
  # The RGeo::Geography module contains spatial implementations that
53
- # operate in latitude-longitude coordinates. Several different
54
- # implementations are provided, including one designed for map
55
- # visualization applications that use Google or Bing maps.
60
+ # operate in latitude-longitude coordinates and are well-suited for
61
+ # geographic location based applications.
62
+ #
63
+ # One of the geography implementations is RGeo::Geography::SimpleMercator,
64
+ # which uses the same coordinate system and projection as that used by
65
+ # Google and Bing Maps, and is ideally suited for visualization
66
+ # applications based on those technologies.
67
+ #
68
+ # The RGeo::Geography::SimpleSpherical provides another geography
69
+ # implementation that does not use a projection, but instead performs
70
+ # geometric operations on a spherical approximation of the globe. This
71
+ # implementation does not provide all the geometric analysis operations
72
+ # in the SFS, but it may be useful for cases when you need more accuracy
73
+ # than a projected implementation would provide.
74
+ #
75
+ # The RGeo::WKRep module contains tools for reading and writing spatial
76
+ # data in the OGC Well-Known Text (WKT) and Well-Known Binary (WKB)
77
+ # representations. It also supports their variants such as the PostGIS
78
+ # EWKT and EWKB representations.
56
79
  #
57
80
  # The RGeo::GeoJSON module contains tools for GeoJSON serialization of
58
- # spatial objects.
81
+ # spatial objects. These tools work with any of the spatial object
82
+ # implementations.
83
+ #
84
+ # === Loading the library
59
85
  #
60
- # Future modules in development include:
86
+ # After installing the RGeo gem, you can load the library with:
87
+ # require 'rgeo'
88
+ #
89
+ # This will "lazy-load" the modules as they are referenced or needed
90
+ # (using autoload).
91
+ #
92
+ # If, for performance reasons, or because you want to run RGeo in a
93
+ # multithreaded environment, you wish to eagerly load RGeo, you may do so
94
+ # with:
95
+ # require 'rgeo/all'
96
+ #
97
+ # You may also eagerly load individual modules:
98
+ # require 'rgeo/features'
99
+ # require 'rgeo/cartesian'
100
+ # require 'rgeo/geos'
101
+ # require 'rgeo/geography'
102
+ # require 'rgeo/geography/simple_mercator'
103
+ # require 'rgeo/geography/simple_spherical'
104
+ # require 'rgeo/wkrep'
105
+ # require 'rgeo/geo_json'
106
+ #
107
+ # === Future modules
108
+ #
109
+ # RGeo is in active development with several additional modules planned
110
+ # for future releases. These include:
61
111
  #
62
112
  # * RGeo::Shapefile, which provides tools for reading and writing
63
113
  # spatial objects in the ESRI shapefile format.
@@ -65,23 +115,23 @@
65
115
  # for developing location-based web applications.
66
116
  # * RGeo::JTS, which provides a Cartesian SFS implementation backed by
67
117
  # the JTS library (which can run natively in JRuby.)
118
+ # * RGeo::Projection, which wraps and provides an API for the proj4
119
+ # library, providing a way to compute arbitrary projections.
68
120
  # * RGeo::Geography extensions to provide highly accurate ellipsoidal
69
- # geometric calculations, and support arbitrary map projections.
121
+ # geometric calculations, and support arbitrary map projections
122
+ # via RGeo::Projection.
70
123
 
71
124
  module RGeo
125
+
126
+ autoload(:Cartesian, 'rgeo/cartesian')
127
+ autoload(:Errors, 'rgeo/errors')
128
+ autoload(:Features, 'rgeo/features')
129
+ autoload(:GeoJSON, 'rgeo/geo_json')
130
+ autoload(:Geography, 'rgeo/geography')
131
+ autoload(:Geos, 'rgeo/geos')
132
+ autoload(:ImplHelpers, 'rgeo/impl_helpers')
133
+ autoload(:WKRep, 'rgeo/wkrep')
134
+
72
135
  end
73
136
 
74
-
75
- # The source files that should be required by default.
76
- paths_ = [
77
- 'version',
78
- 'errors',
79
- 'features',
80
- 'impl_helpers',
81
- 'wkrep',
82
- 'geos',
83
- 'cartesian',
84
- 'geography',
85
- 'geo_json',
86
- ]
87
- paths_.each{ |path_| require "rgeo/#{path_}" }
137
+ require 'rgeo/version'
data/lib/rgeo/all.rb ADDED
@@ -0,0 +1,48 @@
1
+ # -----------------------------------------------------------------------------
2
+ #
3
+ # All RGeo submodules
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
+ # Parent file
38
+ require 'rgeo'
39
+
40
+ # Implementation files
41
+ require 'rgeo/errors'
42
+ require 'rgeo/features'
43
+ require 'rgeo/impl_helpers'
44
+ require 'rgeo/wkrep'
45
+ require 'rgeo/geos'
46
+ require 'rgeo/cartesian'
47
+ require 'rgeo/geography/all'
48
+ require 'rgeo/geo_json'
@@ -34,10 +34,35 @@
34
34
  ;
35
35
 
36
36
 
37
+ # Parent file
38
+ require 'rgeo'
39
+
40
+
37
41
  module RGeo
38
42
 
39
43
 
40
- # The cartesian features module
44
+ # The Cartesian module provides a simple spatial implementation using
45
+ # the Cartesian coordinate system. This is the default implementation
46
+ # used by RGeo if no full-featured implementation, such as Geos, is
47
+ # available.
48
+ #
49
+ # The Cartesian implementation can handle all the SFS 1.1 types, and
50
+ # provides extensions for Z and M coordinates. It also provides WKT
51
+ # and WKB serialization using the WKRep module.
52
+ #
53
+ # However, the Cartesian implementation does not implement many of
54
+ # the more advanced geometric operations. Limitations include:
55
+ # * relational operators such as Features::Geometry#intersects? are
56
+ # not implemented for most types.
57
+ # * relational constructors such as Features::Geometry#union are
58
+ # not implemented for most types.
59
+ # * buffer, boundary, and convex hull calculation are not implemented
60
+ # for most types.
61
+ # * distance and area calculation are not implemented for most types,
62
+ # though length for LineStrings is implemented.
63
+ # * equality and simplicity evaluation are implemented for some types
64
+ # but not all types.
65
+ # * assertions for polygons and multipolygons are not implemented.
41
66
 
42
67
  module Cartesian
43
68
  end
@@ -46,14 +71,14 @@ module RGeo
46
71
  end
47
72
 
48
73
 
49
- # Dependency source files.
50
- paths_ = [
51
- 'features',
52
- 'geos',
53
- 'cartesian/calculations',
54
- 'cartesian/simple_feature_methods',
55
- 'cartesian/simple_feature_classes',
56
- 'cartesian/simple_factory',
57
- 'cartesian/interface',
58
- ]
59
- paths_.each{ |path_| require "rgeo/#{path_}" }
74
+ # Dependency files.
75
+ require 'rgeo/features'
76
+ require 'rgeo/wkrep'
77
+ require 'rgeo/impl_helpers'
78
+
79
+ # Implementation files.
80
+ require 'rgeo/cartesian/calculations'
81
+ require 'rgeo/cartesian/feature_methods'
82
+ require 'rgeo/cartesian/feature_classes'
83
+ require 'rgeo/cartesian/factory'
84
+ require 'rgeo/cartesian/interface'
@@ -121,6 +121,11 @@ module RGeo
121
121
  end
122
122
 
123
123
 
124
+ def length
125
+ ::Math.sqrt(@lensq)
126
+ end
127
+
128
+
124
129
  end
125
130
 
126
131
 
@@ -42,18 +42,14 @@ module RGeo
42
42
  # This class implements the factory for the simple cartesian
43
43
  # implementation.
44
44
 
45
- class SimpleFactory
45
+ class Factory
46
46
 
47
47
  include Features::Factory::Instance
48
48
 
49
49
 
50
50
  # Create a new simple cartesian factory.
51
51
  #
52
- # Options supported are:
53
- #
54
- # <tt>:srid</tt>::
55
- # The SRID reported by features created by this factory.
56
- # Default is 0.
52
+ # See ::RGeo::Cartesian::simple_factory for a list of supported options.
57
53
 
58
54
  def initialize(opts_={})
59
55
  @srid = opts_[:srid].to_i
@@ -94,82 +90,83 @@ module RGeo
94
90
  # See ::RGeo::Features::Factory#parse_wkt
95
91
 
96
92
  def parse_wkt(str_)
97
- WKRep::WKTParser.new(self, :support_higher_dimensions => true).parse(str_)
93
+ ::RGeo::WKRep::WKTParser.new(:default_factory => self).parse(str_)
98
94
  end
99
95
 
100
96
 
101
97
  # See ::RGeo::Features::Factory#parse_wkb
102
98
 
103
99
  def parse_wkb(str_)
104
- WKRep::WKBParser.new(self).parse(str_)
100
+ ::RGeo::WKRep::WKBParser.new(:default_factory => self).parse(str_)
105
101
  end
106
102
 
107
103
 
108
104
  # See ::RGeo::Features::Factory#point
109
105
 
110
106
  def point(x_, y_, *extra_)
111
- SimplePointImpl.new(self, x_, y_, *extra_) rescue nil
107
+ PointImpl.new(self, x_, y_, *extra_) rescue nil
112
108
  end
113
109
 
114
110
 
115
111
  # See ::RGeo::Features::Factory#line_string
116
112
 
117
113
  def line_string(points_)
118
- SimpleLineStringImpl.new(self, points_) rescue nil
114
+ LineStringImpl.new(self, points_) rescue nil
119
115
  end
120
116
 
121
117
 
122
118
  # See ::RGeo::Features::Factory#line
123
119
 
124
120
  def line(start_, end_)
125
- SimpleLineImpl.new(self, start_, end_) rescue nil
121
+ LineImpl.new(self, start_, end_) rescue nil
126
122
  end
127
123
 
128
124
 
129
125
  # See ::RGeo::Features::Factory#linear_ring
130
126
 
131
127
  def linear_ring(points_)
132
- SimpleLinearRingImpl.new(self, points_) rescue nil
128
+ LinearRingImpl.new(self, points_) rescue nil
133
129
  end
134
130
 
135
131
 
136
132
  # See ::RGeo::Features::Factory#polygon
137
133
 
138
134
  def polygon(outer_ring_, inner_rings_=nil)
139
- SimplePolygonImpl.new(self, outer_ring_, inner_rings_) rescue nil
135
+ PolygonImpl.new(self, outer_ring_, inner_rings_) rescue nil
140
136
  end
141
137
 
142
138
 
143
139
  # See ::RGeo::Features::Factory#collection
144
140
 
145
141
  def collection(elems_)
146
- SimpleGeometryCollectionImpl.new(self, elems_) rescue nil
142
+ GeometryCollectionImpl.new(self, elems_) rescue nil
147
143
  end
148
144
 
149
145
 
150
146
  # See ::RGeo::Features::Factory#multi_point
151
147
 
152
148
  def multi_point(elems_)
153
- SimpleMultiPointImpl.new(self, elems_) rescue nil
149
+ MultiPointImpl.new(self, elems_) rescue nil
154
150
  end
155
151
 
156
152
 
157
153
  # See ::RGeo::Features::Factory#multi_line_string
158
154
 
159
155
  def multi_line_string(elems_)
160
- SimpleMultiLineStringImpl.new(self, elems_) rescue nil
156
+ MultiLineStringImpl.new(self, elems_) rescue nil
161
157
  end
162
158
 
163
159
 
164
160
  # See ::RGeo::Features::Factory#multi_polygon
165
161
 
166
162
  def multi_polygon(elems_)
167
- SimpleMultiPolygonImpl.new(self, elems_) rescue nil
163
+ MultiPolygonImpl.new(self, elems_) rescue nil
168
164
  end
169
165
 
170
166
 
171
167
  end
172
168
 
169
+
173
170
  end
174
171
 
175
172
  end
@@ -39,13 +39,13 @@ module RGeo
39
39
  module Cartesian
40
40
 
41
41
 
42
- class SimplePointImpl # :nodoc:
42
+ class PointImpl # :nodoc:
43
43
 
44
44
 
45
- include Features::Point
46
- include ImplHelpers::BasicGeometryMethods
47
- include Cartesian::SimpleGeometryMethods
48
- include ImplHelpers::BasicPointMethods
45
+ include ::RGeo::Features::Point
46
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
47
+ include ::RGeo::Cartesian::GeometryMethods
48
+ include ::RGeo::ImplHelpers::BasicPointMethods
49
49
 
50
50
 
51
51
  def _validate_geometry
@@ -63,9 +63,9 @@ module RGeo
63
63
 
64
64
 
65
65
  def distance(rhs_)
66
- rhs_ = Features.cast(rhs_, @factory)
66
+ rhs_ = ::RGeo::Features.cast(rhs_, @factory)
67
67
  case rhs_
68
- when SimplePointImpl
68
+ when PointImpl
69
69
  dx_ = @x - rhs_.x
70
70
  dy_ = @y - rhs_.y
71
71
  ::Math.sqrt(dx_ * dx_ + dy_ * dy_)
@@ -78,105 +78,105 @@ module RGeo
78
78
  end
79
79
 
80
80
 
81
- class SimpleLineStringImpl # :nodoc:
81
+ class LineStringImpl # :nodoc:
82
82
 
83
83
 
84
- include Features::LineString
85
- include ImplHelpers::BasicGeometryMethods
86
- include Cartesian::SimpleGeometryMethods
87
- include ImplHelpers::BasicLineStringMethods
88
- include Cartesian::SimpleLineStringMethods
84
+ include ::RGeo::Features::LineString
85
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
86
+ include ::RGeo::Cartesian::GeometryMethods
87
+ include ::RGeo::ImplHelpers::BasicLineStringMethods
88
+ include ::RGeo::Cartesian::LineStringMethods
89
89
 
90
90
 
91
91
  end
92
92
 
93
93
 
94
- class SimpleLineImpl # :nodoc:
94
+ class LineImpl # :nodoc:
95
95
 
96
96
 
97
- include Features::Line
98
- include ImplHelpers::BasicGeometryMethods
99
- include Cartesian::SimpleGeometryMethods
100
- include ImplHelpers::BasicLineStringMethods
101
- include Cartesian::SimpleLineStringMethods
102
- include ImplHelpers::BasicLineMethods
97
+ include ::RGeo::Features::Line
98
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
99
+ include ::RGeo::Cartesian::GeometryMethods
100
+ include ::RGeo::ImplHelpers::BasicLineStringMethods
101
+ include ::RGeo::Cartesian::LineStringMethods
102
+ include ::RGeo::ImplHelpers::BasicLineMethods
103
103
 
104
104
 
105
105
  end
106
106
 
107
107
 
108
- class SimpleLinearRingImpl # :nodoc:
108
+ class LinearRingImpl # :nodoc:
109
109
 
110
110
 
111
- include Features::Line
112
- include ImplHelpers::BasicGeometryMethods
113
- include Cartesian::SimpleGeometryMethods
114
- include ImplHelpers::BasicLineStringMethods
115
- include Cartesian::SimpleLineStringMethods
116
- include ImplHelpers::BasicLinearRingMethods
111
+ include ::RGeo::Features::Line
112
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
113
+ include ::RGeo::Cartesian::GeometryMethods
114
+ include ::RGeo::ImplHelpers::BasicLineStringMethods
115
+ include ::RGeo::Cartesian::LineStringMethods
116
+ include ::RGeo::ImplHelpers::BasicLinearRingMethods
117
117
 
118
118
 
119
119
  end
120
120
 
121
121
 
122
- class SimplePolygonImpl # :nodoc:
122
+ class PolygonImpl # :nodoc:
123
123
 
124
124
 
125
- include Features::Polygon
126
- include ImplHelpers::BasicGeometryMethods
127
- include Cartesian::SimpleGeometryMethods
128
- include ImplHelpers::BasicPolygonMethods
125
+ include ::RGeo::Features::Polygon
126
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
127
+ include ::RGeo::Cartesian::GeometryMethods
128
+ include ::RGeo::ImplHelpers::BasicPolygonMethods
129
129
 
130
130
 
131
131
  end
132
132
 
133
133
 
134
- class SimpleGeometryCollectionImpl # :nodoc:
134
+ class GeometryCollectionImpl # :nodoc:
135
135
 
136
136
 
137
- include Features::GeometryCollection
138
- include ImplHelpers::BasicGeometryMethods
139
- include Cartesian::SimpleGeometryMethods
140
- include ImplHelpers::BasicGeometryCollectionMethods
137
+ include ::RGeo::Features::GeometryCollection
138
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
139
+ include ::RGeo::Cartesian::GeometryMethods
140
+ include ::RGeo::ImplHelpers::BasicGeometryCollectionMethods
141
141
 
142
142
 
143
143
  end
144
144
 
145
145
 
146
- class SimpleMultiPointImpl # :nodoc:
146
+ class MultiPointImpl # :nodoc:
147
147
 
148
148
 
149
- include Features::GeometryCollection
150
- include ImplHelpers::BasicGeometryMethods
151
- include Cartesian::SimpleGeometryMethods
152
- include ImplHelpers::BasicGeometryCollectionMethods
153
- include ImplHelpers::BasicMultiPointMethods
149
+ include ::RGeo::Features::GeometryCollection
150
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
151
+ include ::RGeo::Cartesian::GeometryMethods
152
+ include ::RGeo::ImplHelpers::BasicGeometryCollectionMethods
153
+ include ::RGeo::ImplHelpers::BasicMultiPointMethods
154
154
 
155
155
 
156
156
  end
157
157
 
158
158
 
159
- class SimpleMultiLineStringImpl # :nodoc:
159
+ class MultiLineStringImpl # :nodoc:
160
160
 
161
161
 
162
- include Features::GeometryCollection
163
- include ImplHelpers::BasicGeometryMethods
164
- include Cartesian::SimpleGeometryMethods
165
- include ImplHelpers::BasicGeometryCollectionMethods
166
- include ImplHelpers::BasicMultiLineStringMethods
162
+ include ::RGeo::Features::GeometryCollection
163
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
164
+ include ::RGeo::Cartesian::GeometryMethods
165
+ include ::RGeo::ImplHelpers::BasicGeometryCollectionMethods
166
+ include ::RGeo::ImplHelpers::BasicMultiLineStringMethods
167
167
 
168
168
 
169
169
  end
170
170
 
171
171
 
172
- class SimpleMultiPolygonImpl # :nodoc:
172
+ class MultiPolygonImpl # :nodoc:
173
173
 
174
174
 
175
- include Features::GeometryCollection
176
- include ImplHelpers::BasicGeometryMethods
177
- include Cartesian::SimpleGeometryMethods
178
- include ImplHelpers::BasicGeometryCollectionMethods
179
- include ImplHelpers::BasicMultiPolygonMethods
175
+ include ::RGeo::Features::GeometryCollection
176
+ include ::RGeo::ImplHelpers::BasicGeometryMethods
177
+ include ::RGeo::Cartesian::GeometryMethods
178
+ include ::RGeo::ImplHelpers::BasicGeometryCollectionMethods
179
+ include ::RGeo::ImplHelpers::BasicMultiPolygonMethods
180
180
 
181
181
 
182
182
  end