Module: RGeo::Feature::Curve
- Extended by:
- Type
- Includes:
- Geometry
- Included in:
- LineString
- Defined in:
- lib/rgeo/feature/curve.rb
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)
-
- (Object) end_point
SFS 1.1 Description.
-
- (Boolean) is_closed?
SFS 1.1 Description.
-
- (Boolean) is_ring?
SFS 1.1 Description.
-
- (Object) length
SFS 1.1 Description.
-
- (Object) start_point
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, #srid, #sym_difference, #touches?, #union, #within?
Instance Method Details
- (Object) end_point
SFS 1.1 Description
The end Point of this Curve.
Notes
Returns an object that supports the Point interface.
115 116 117 |
# File 'lib/rgeo/feature/curve.rb', line 115 def end_point raise Error::UnsupportedOperation, "Method Curve#end_point not defined." end |
- (Boolean) is_closed?
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.
129 130 131 |
# File 'lib/rgeo/feature/curve.rb', line 129 def is_closed? raise Error::UnsupportedOperation, "Method Curve#is_closed? not defined." end |
- (Boolean) is_ring?
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.
145 146 147 |
# File 'lib/rgeo/feature/curve.rb', line 145 def is_ring? raise Error::UnsupportedOperation, "Method Curve#is_ring? not defined." end |
- (Object) length
SFS 1.1 Description
The length of this Curve in its associated spatial reference.
Notes
Returns a floating-point scalar value.
89 90 91 |
# File 'lib/rgeo/feature/curve.rb', line 89 def length raise Error::UnsupportedOperation, "Method Curve#length not defined." end |
- (Object) start_point
SFS 1.1 Description
The start Point of this Curve.
Notes
Returns an object that supports the Point interface.
102 103 104 |
# File 'lib/rgeo/feature/curve.rb', line 102 def start_point raise Error::UnsupportedOperation, "Method Curve#start_point not defined." end |