Module: RGeo::Feature::Curve
Overview
SFS 1.1 Description
A Curve is a 1-dimensional geometric object usually stored as a sequence of Points, with the subtype of Curve specifying the form of the interpolation between Points. This part of ISO 19125 defines only one subclass of Curve, LineString, which uses linear interpolation between Points.
A Curve is a 1-dimensional geometric object that is the homeomorphic image of a real, closed interval D= under a mapping f:->R2.
A Curve is simple if it does not pass through the same Point twice.
A Curve is closed if its start Point is equal to its end Point.
The boundary of a closed Curve is empty.
A Curve that is simple and closed is a Ring.
The boundary of a non-closed Curve consists of its two end Points.
A Curve is defined as topologically closed.
Notes
Curve is defined as a module and is provided primarily for the sake of documentation. Implementations need not necessarily include this module itself. Therefore, you should not depend on the kind_of? method to check type. Instead, use the provided check_type class method (or === operator) defined in the Type module.
Some implementations may support higher dimensional points.
Constant Summary
Constants included from Type
Instance Method Summary collapse
-
#end_point ⇒ Object
SFS 1.1 Description.
-
#is_closed? ⇒ Boolean
SFS 1.1 Description.
-
#is_ring? ⇒ Boolean
SFS 1.1 Description.
-
#length ⇒ Object
SFS 1.1 Description.
-
#start_point ⇒ Object
SFS 1.1 Description.
Methods included from Type
_add_subtype, check_type, each_immediate_subtype, extended, subtype_of?, supertype, type_name
Methods included from Geometry
#*, #+, #-, #==, #as_binary, #as_text, #boundary, #buffer, #contains?, #convex_hull, #crosses?, #difference, #dimension, #disjoint?, #distance, #envelope, #eql?, #equals?, #factory, #geometry_type, #intersection, #intersects?, #is_empty?, #is_simple?, #overlaps?, #relate, #relate?, #rep_equals?, #srid, #sym_difference, #touches?, #union, #within?
Instance Method Details
#end_point ⇒ Object
SFS 1.1 Description
The end Point of this Curve.
Notes
Returns an object that supports the Point interface.
78 79 80 |
# File 'lib/rgeo/feature/curve.rb', line 78 def end_point raise Error::UnsupportedOperation, "Method Curve#end_point not defined." end |
#is_closed? ⇒ Boolean
SFS 1.1 Description
Returns true if this Curve is closed [StartPoint() = EndPoint()].
Notes
Returns a boolean value. Note that this is different from the SFS specification, which stipulates an integer return value.
91 92 93 |
# File 'lib/rgeo/feature/curve.rb', line 91 def is_closed? raise Error::UnsupportedOperation, "Method Curve#is_closed? not defined." end |
#is_ring? ⇒ Boolean
SFS 1.1 Description
Returns true if this Curve is closed [StartPoint() = EndPoint()] and this Curve is simple (does not pass through the same Point more than once).
Notes
Returns a boolean value. Note that this is different from the SFS specification, which stipulates an integer return value.
106 107 108 |
# File 'lib/rgeo/feature/curve.rb', line 106 def is_ring? raise Error::UnsupportedOperation, "Method Curve#is_ring? not defined." end |
#length ⇒ Object
SFS 1.1 Description
The length of this Curve in its associated spatial reference.
Notes
Returns a floating-point scalar value.
54 55 56 |
# File 'lib/rgeo/feature/curve.rb', line 54 def length raise Error::UnsupportedOperation, "Method Curve#length not defined." end |
#start_point ⇒ Object
SFS 1.1 Description
The start Point of this Curve.
Notes
Returns an object that supports the Point interface.
66 67 68 |
# File 'lib/rgeo/feature/curve.rb', line 66 def start_point raise Error::UnsupportedOperation, "Method Curve#start_point not defined." end |