lib/rgeo/geography/simple_mercator/feature_classes.rb in rgeo-0.1.12 vs lib/rgeo/geography/simple_mercator/feature_classes.rb in rgeo-0.1.13
- old
+ new
@@ -36,45 +36,39 @@
module RGeo
module Geography
- module SimpleMercator
+ module SimpleMercator # :nodoc:
- class PointImpl
+ class PointImpl # :nodoc:
include Features::Point
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
- include Common::PointMethods
+ include ImplHelpers::BasicPointMethods
- def initialize(factory_, x_, y_)
- _set_factory(factory_)
- _setup(x_, y_)
- end
-
-
def _validate_geometry
@y = 85.0511287 if @y > 85.0511287
@y = -85.0511287 if @y < -85.0511287
super
end
def _make_projection(projection_factory_) # :nodoc:
- rpd_ = Common::Helper::RADIANS_PER_DEGREE
+ rpd_ = Helper::RADIANS_PER_DEGREE
mpr_ = EQUATORIAL_RADIUS
projection_factory_.point(@x * rpd_ * mpr_,
::Math.log(::Math.tan(::Math::PI / 4.0 + @y * rpd_ / 2.0)) * mpr_)
end
def scaling_factor
- 1.0 / ::Math.cos(Common::Helper::RADIANS_PER_DEGREE * @y)
+ 1.0 / ::Math.cos(Helper::RADIANS_PER_DEGREE * @y)
end
def canonical_point
if @x >= -180.0 && @x < 180.0
@@ -88,107 +82,83 @@
end
- class LineStringImpl
+ class LineStringImpl # :nodoc:
include Features::LineString
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
include SimpleMercator::NCurveMethods
include SimpleMercator::CurveMethods
- include Common::LineStringMethods
+ include ImplHelpers::BasicLineStringMethods
include SimpleMercator::LineStringMethods
- def initialize(factory_, points_)
- _set_factory(factory_)
- _setup(points_)
- end
-
-
def _make_projection(projection_factory_) # :nodoc:
projection_factory_.line_string(@points.map{ |p_| p_.projection })
end
end
- class LinearRingImpl
+ class LinearRingImpl # :nodoc:
include Features::Line
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
include SimpleMercator::NCurveMethods
include SimpleMercator::CurveMethods
- include Common::LineStringMethods
+ include ImplHelpers::BasicLineStringMethods
include SimpleMercator::LineStringMethods
- include Common::LinearRingMethods
+ include ImplHelpers::BasicLinearRingMethods
- def initialize(factory_, points_)
- _set_factory(factory_)
- _setup(points_)
- end
-
-
def _make_projection(projection_factory_) # :nodoc:
projection_factory_.linear_ring(@points.map{ |p_| p_.projection })
end
end
- class LineImpl
+ class LineImpl # :nodoc:
include Features::Line
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
include SimpleMercator::NCurveMethods
include SimpleMercator::CurveMethods
- include Common::LineStringMethods
+ include ImplHelpers::BasicLineStringMethods
include SimpleMercator::LineStringMethods
- include Common::LineMethods
+ include ImplHelpers::BasicLineMethods
- def initialize(factory_, start_, end_)
- _set_factory(factory_)
- _setup([start_, end_])
- end
-
-
def _make_projection(projection_factory_) # :nodoc:
projection_factory_.line(start_point.projection, end_point.projection)
end
end
- class PolygonImpl
+ class PolygonImpl # :nodoc:
include Features::Polygon
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
include SimpleMercator::NSurfaceMethods
include SimpleMercator::SurfaceMethods
- include Common::PolygonMethods
+ include ImplHelpers::BasicPolygonMethods
- def initialize(factory_, exterior_ring_, interior_rings_)
- _set_factory(factory_)
- _setup(exterior_ring_, interior_rings_)
- end
-
-
def _validate_geometry
super
unless projection
raise Errors::InvalidGeometry, 'Polygon failed assertions'
end
@@ -202,100 +172,76 @@
end
- class GeometryCollectionImpl
+ class GeometryCollectionImpl # :nodoc:
include Features::GeometryCollection
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
- include Common::GeometryCollectionMethods
+ include ImplHelpers::BasicGeometryCollectionMethods
include SimpleMercator::GeometryCollectionMethods
- def initialize(factory_, elements_)
- _set_factory(factory_)
- _setup(elements_)
- end
-
-
def _make_projection(projection_factory_) # :nodoc:
projection_factory_.collection(@elements.map{ |p_| p_.projection })
end
end
- class MultiPointImpl
+ class MultiPointImpl # :nodoc:
include Features::GeometryCollection
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
- include Common::GeometryCollectionMethods
+ include ImplHelpers::BasicGeometryCollectionMethods
include SimpleMercator::GeometryCollectionMethods
- include Common::MultiPointMethods
+ include ImplHelpers::BasicMultiPointMethods
- def initialize(factory_, elements_)
- _set_factory(factory_)
- _setup(elements_)
- end
-
-
def _make_projection(projection_factory_) # :nodoc:
projection_factory_.multi_point(@elements.map{ |p_| p_.projection })
end
end
- class MultiLineStringImpl
+ class MultiLineStringImpl # :nodoc:
include Features::GeometryCollection
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
include SimpleMercator::NCurveMethods
- include Common::GeometryCollectionMethods
+ include ImplHelpers::BasicGeometryCollectionMethods
include SimpleMercator::GeometryCollectionMethods
- include Common::MultiLineStringMethods
+ include ImplHelpers::BasicMultiLineStringMethods
- def initialize(factory_, elements_)
- _set_factory(factory_)
- _setup(elements_)
- end
-
-
def _make_projection(projection_factory_) # :nodoc:
projection_factory_.multi_line_string(@elements.map{ |p_| p_.projection })
end
end
- class MultiPolygonImpl
+ class MultiPolygonImpl # :nodoc:
include Features::GeometryCollection
- include Common::GeometryMethods
+ include ImplHelpers::BasicGeometryMethods
include SimpleMercator::GeometryMethods
include SimpleMercator::NSurfaceMethods
- include Common::GeometryCollectionMethods
+ include ImplHelpers::BasicGeometryCollectionMethods
include SimpleMercator::GeometryCollectionMethods
- include Common::MultiPolygonMethods
-
-
- def initialize(factory_, elements_)
- _set_factory(factory_)
- _setup(elements_)
- end
+ include ImplHelpers::BasicMultiPolygonMethods
def _validate_geometry
super
unless projection