NAME¶
Geo::Surface - A surface description.
INHERITANCE¶
Geo::Surface
is a Geo::Shape
SYNOPSIS¶
my $island = Geo::Surface->new($outer, $lake1, $lake2);
DESCRIPTION¶
In this context, a "surface" is defined as one filled area with
possible enclosures in one projection system.
Extends "DESCRIPTION" in Geo::Shape.
METHODS¶
Extends "METHODS" in Geo::Shape.
Constructors¶
Extends "Constructors" in Geo::Shape.
- Geo::Surface->new(<$surface | <$outer,$inner,...> >,
%options)
- When called as instance method, some defaults are copied from the object
where the call is made upon.
You may either provide a Math::Polygon::Surface $surface, or a LIST of
lines. In the latter case, the first line is the $outer polygon of the
surface, and the other are all $inner enclosures: lakes. Lines are and
Geo::Line, Math::Polygon objects, or ARRAY of points.
If no projection is specified, then the projection of the first Geo-encoded
line will be used.
-Option--Defined in--Default
proj Geo::Shape see Geo::Proj::defaultProjection()
Attributes¶
Extends "Attributes" in Geo::Shape.
- $obj->geoInner()
- Returns a LIST of enclosed polygons, converted to Geo::Line objects.
- $obj->geoOuter()
- Returns the outer polygon as Geo::Line object.
- $obj->inner()
- Returns a LIST of enclosed Math::Polygon objects.
- $obj->outer()
- Returns the outer Math::Polygon.
- $obj->proj()
- Inherited, see "Attributes" in Geo::Shape
- $obj->proj4()
- Inherited, see "Attributes" in Geo::Shape
Projections¶
Extends "Projections" in Geo::Shape.
- $obj->in(<$label|'utm'>)
- Inherited, see "Projections" in Geo::Shape
- $obj->projectOn($nick, @points)
- Inherited, see "Projections" in Geo::Shape
Geometry¶
Extends "Geometry" in Geo::Shape.
- $obj->area()
- Returns the area enclosed by the outer polygon, minus the erea of the
enclosures. Only useful when the points are in some orthogonal
projection.
- $obj->bbox()
- The bounding box of outer surface polygon.
- $obj->bboxCenter()
- Inherited, see "Geometry" in Geo::Shape
- $obj->bboxRing([$xmin, $ymin, $xmax, $ymax, [$proj]])
- Geo::Surface->bboxRing([$xmin, $ymin, $xmax, $ymax,
[$proj]])
- Inherited, see "Geometry" in Geo::Shape
- $obj->distance($object, [$unit])
- Inherited, see "Geometry" in Geo::Shape
- $obj->perimeter()
- The length of the outer polygon. Only useful in a orthogonal coordinate
systems.
Display¶
Extends "Display" in Geo::Shape.
- $obj->deg2dm($degrees, $pos, $neg)
- Geo::Surface->deg2dm($degrees, $pos, $neg)
- Inherited, see "Display" in Geo::Shape
- $obj->deg2dms($degrees, $pos, $neg)
- Geo::Surface->deg2dms($degrees, $pos, $neg)
- Inherited, see "Display" in Geo::Shape
- $obj->dms2deg($dms)
- Geo::Surface->dms2deg($dms)
- Inherited, see "Display" in Geo::Shape
- $obj->toString([$projection])
- Returns a string representation of the line, which is also used for
stringification.
OVERLOAD¶
Extends "OVERLOAD" in Geo::Shape.
- overload: '""' (stringification)
- Inherited, see "OVERLOAD" in Geo::Shape
- overload: 'bool' (truth value)
- Inherited, see "OVERLOAD" in Geo::Shape
DIAGNOSTICS¶
- Warning: Geo::Line is should be filled
- When Geo::Line objects are used to compose a surface, each of them must be
filled. Representation of rivers and such do not belong in a surface
description.
- 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
- Error: not known what to do with $component
SEE ALSO¶
This module is part of Geo-Point distribution version 0.96, built on January 21,
2014. Website:
http://perl.overmeer.net/geo/ All modules in this suite:
"Geo::Point", "Geo::Proj4", "Geo::WKT",
"Math::Polygon", "Geo::GML", "Geo::ISO19139",
"Geo::EOP", "Geo::Format::Envisat", and
"Geo::Format::Landsat".
Please post questions or ideas to the mailinglist at
http://geo-perl@list.hut.fi
LICENSE¶
Copyrights 2005-2014 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