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.
See documentation in the base class.
METHODS
See documentation in the base class.
Constructors
See documentation in the base class.
- 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
See documentation in the base class.
- $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()
- $obj->proj4()
Projections
See documentation in the base class.
Geometry
See documentation in the base class.
- $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()
- $obj->bboxRing([$xmin, $ymin, $xmax, $ymax, [$proj]])
- Geo::Surface->bboxRing([$xmin, $ymin, $xmax, $ymax, [$proj]])
- $obj->distance($object, [$unit])
- $obj->perimeter()
-
The length of the outer polygon. Only useful in a orthogonal coordinate systems.
Display
See documentation in the base class.
- $obj->deg2dm($degrees, $pos, $neg)
- Geo::Surface->deg2dm($degrees, $pos, $neg)
- $obj->deg2dms($degrees, $pos, $neg)
- Geo::Surface->deg2dms($degrees, $pos, $neg)
- $obj->dms2deg($dms)
- Geo::Surface->dms2deg($dms)
- $obj->toString([$projection])
-
Returns a string representation of the line, which is also used for stringification.
OVERLOAD
See documentation in the base class.
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.95, built on January 20, 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