Module: RGeo::Feature::MultiSurface

Extended by:
Type
Includes:
GeometryCollection
Included in:
MultiPolygon
Defined in:
lib/rgeo/feature/multi_surface.rb

Overview

SFS 1.1 Description

A MultiSurface is a 2-dimensional GeometryCollection whose elements are Surfaces. The interiors of any two Surfaces in a MultiSurface may not intersect. The boundaries of any two elements in a MultiSurface may intersect, at most, at a finite number of Points.

MultiSurface is a non-instantiable class in this International Standard. It defines a set of methods for its subclasses and is included for reasons of extensibility. The instantiable subclass of MultiSurface is MultiPolygon, corresponding to a collection of Polygons.

Notes

MultiSurface 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

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, #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?, #locate_along, #locate_between, #measured?, #overlaps?, #relate?, #rep_equals?, #simple?, #spatial_dimension, #srid, #sym_difference, #touches?, #transform, #unary_union, #union, #within?

Instance Method Details

#areaObject

SFS 1.1 Description

The area of this MultiSurface, as measured in the spatial reference system of this MultiSurface.

Notes

Returns a floating-point scalar value.



44
45
46
# File 'lib/rgeo/feature/multi_surface.rb', line 44

def area
  raise Error::UnsupportedOperation, "Method #{self.class}#area not defined."
end

#centroidObject

SFS 1.1 Description

The mathematical centroid for this MultiSurface as a Point. The result is not guaranteed to be on this MultiSurface.

Notes

Returns an object that supports the Point interface.



57
58
59
# File 'lib/rgeo/feature/multi_surface.rb', line 57

def centroid
  raise Error::UnsupportedOperation, "Method #{self.class}#centroid not defined."
end

#point_on_surfaceObject

SFS 1.1 Description

A Point guaranteed to be on this MultiSurface.

Notes

Returns an object that supports the Point interface.



69
70
71
# File 'lib/rgeo/feature/multi_surface.rb', line 69

def point_on_surface
  raise Error::UnsupportedOperation, "Method #{self.class}#point_on_surface not defined."
end