NAME
Geo::Space - A collection of various items
INHERITANCE
Geo::Space
is a Geo::Shape
SYNOPSIS
my $island1 = Geo::Line->filled(...);
my $island2 = Geo::Space->new(...);
my $islands = Geo::Space->new($island1, $island2)
DESCRIPTION
Where a Geo::Surface can only contains sets of nested polygons, the Space can contain anything you like: lines, points, and unrelated polygons.
METHODS
Constructors
$obj->new([COMPONENTS], [OPTIONS])
Geo::Space->new([COMPONENTS], [OPTIONS])
When called as instance method, some defaults are copied from the object where the call is made upon. Usually called as class method.
COMPONENTS are Math::Polygon, Math::Polygon::Surface, Geo::Point, Geo::Line, Geo::Surface, Geo::Space objects.
Option--Defined in--Default
proj Geo::Shape <see Geo::Proj::defaultProjection()
. proj => LABEL
Attributes
$obj->component(INDEX, [INDEX, ...])
Returns the component (or components) with the specified INDEX(es). One Geo::Shape object in scalar context, and multiple in list context.
$obj->components
Returns a list of Geo::Shape objects, all located in this space.
$obj->lines
Returns a list of Geo::Line objects, which are defined as separate components.
$obj->nrComponents
Returns the number of components.
$obj->onlyLines
Returns true when all components are lines; Geo::Line objects.
$obj->onlyPoints
Returns true when all components are points; Geo::Point objects.
$obj->onlyRings
Returns true when all components are closed lines; Geo::Line objects each defined as ring.
$obj->points
Returns a list of Geo::Point objects, which are defined as separate components.
$obj->proj
Projections
$obj->in(LABEL|'utm')
$obj->projectOn(NICK, POINTS)
Geometry
$obj->area
Returns the area enclosed by the combined components. Only useful when the points are in some orthogonal projection.
$obj->bbox
$obj->bboxCenter
$obj->bboxRing([XMIN, YMIN, XMAX, YMAX, [PROJ]])
Geo::Space->bboxRing([XMIN, YMIN, XMAX, YMAX, [PROJ]])
$obj->distance(OBJECT, [UNIT])
$obj->equal(OTHER, [TOLERANCE])
Detailed calculation whether two spaces are equal is a lot of work. Therefore, only exactly equal spaces are considered equivalent: even the order of the components must be the same.
$obj->perimeter
The length of the outer polygons of all components. Only useful in a orthogonal coordinate systems.
$obj->sameAs(OTHER, TOLERANCE)
Display
$obj->deg2dm(DEGREES, POS, NEG)
Geo::Space->deg2dm(DEGREES, POS, NEG)
$obj->deg2dms(DEGREES, POS, NEG)
Geo::Space->deg2dms(DEGREES, POS, NEG)
$obj->dms2deg(DMS)
Geo::Space->dms2deg(DMS)
$obj->toString([PROJECTION])
Returns a string representation of the line, which is also used for stringification.
example:
DIAGNOSTICS
Error: distance calculation not implemented between a $kind and a $kind
Only a subset of all objects can be used in the distance calculation. The limitation is purely caused by lack of time to implement this.
Error: in() not implemented for a $class
SEE ALSO
This module is part of Geo-Point distribution version 0.08, built on March 31, 2008. Website: http://perl.overmeer.net/geo/
LICENSE
Copyrights 2005-2008 by Mark Overmeer. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html