Module: RGeo::Feature::MultiCurve
 Extended by:
 Type
 Includes:
 GeometryCollection
 Included in:
 MultiLineString
 Defined in:
 lib/rgeo/feature/multi_curve.rb
Overview
SFS 1.1 Description
A MultiCurve is a 1dimensional GeometryCollection whose elements are Curves.
MultiCurve is a noninstantiable class in this specification; it defines a set of methods for its subclasses and is included for reasons of extensibility.
A MultiCurve is simple if and only if all of its elements are simple and the only intersections between any two elements occur at Points that are on the boundaries of both elements.
The boundary of a MultiCurve is obtained by applying the “mod 2” union rule: A Point is in the boundary of a MultiCurve if it is in the boundaries of an odd number of elements of the MultiCurve.
A MultiCurve is closed if all of its elements are closed. The boundary of a closed MultiCurve is always empty.
A MultiCurve is defined as topologically closed.
Notes
MultiCurve 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.
Instance Method Summary collapse

#closed? ⇒ Boolean
SFS 1.1 Description.
 #is_closed? ⇒ Boolean

#length ⇒ 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 GeometryCollection
#[], #each, #geometry_n, #node, #num_geometries, #point_on_surface, #size
Methods included from Geometry
#*, #+, #, #==, #as_binary, #as_text, #boundary, #buffer, #contains?, #convex_hull, #coordinate_dimension, #crosses?, #difference, #dimension, #disjoint?, #distance, #empty?, #envelope, #eql?, #equals?, #factory, #geometry_type, #intersection, #intersects?, #is_3d?, #is_empty?, #is_simple?, #locate_along, #locate_between, #measured?, #overlaps?, #relate?, #rep_equals?, #simple?, #spatial_dimension, #srid, #sym_difference, #touches?, #unary_union, #union, #within?
Instance Method Details
#closed? ⇒ Boolean
SFS 1.1 Description
Returns true if this MultiCurve is closed [StartPoint() = EndPoint() for each Curve in this MultiCurve].
Notes
Returns a boolean value. Note that this is different from the SFS specification, which stipulates an integer return value.
68 69 70 
# File 'lib/rgeo/feature/multi_curve.rb', line 68 def closed? raise Error::UnsupportedOperation, "Method MultiCurve#closed? not defined." end 
#is_closed? ⇒ Boolean
72 73 74 75 
# File 'lib/rgeo/feature/multi_curve.rb', line 72 def is_closed? warn "The is_closed? method is deprecated, please use the closed? counterpart, will be removed in v3" unless ENV["RGEO_SILENCE_DEPRECATION"] closed? end 
#length ⇒ Object
SFS 1.1 Description
The Length of this MultiCurve which is equal to the sum of the lengths of the element Curves.
Notes
Returns a floatingpoint scalar value.
54 55 56 
# File 'lib/rgeo/feature/multi_curve.rb', line 54 def length raise Error::UnsupportedOperation, "Method MultiCurve#length not defined." end 