Geo::Surface(3) A surface description.


   is a Geo::Shape


my $island = Geo::Surface->new($outer, $lake1, $lake2);


In this context, a ``surface'' is defined as one filled area with possible enclosures in one projection system.

Extends ``DESCRIPTION'' in Geo::Shape.


Extends ``METHODS'' in Geo::Shape.


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()
proj => LABEL


Extends ``Attributes'' in Geo::Shape.
Returns a LIST of enclosed polygons, converted to Geo::Line objects.
Returns the outer polygon as Geo::Line object.
Returns a LIST of enclosed Math::Polygon objects.
Returns the outer Math::Polygon.
Inherited, see ``Attributes'' in Geo::Shape
Inherited, see ``Attributes'' in Geo::Shape


Extends ``Projections'' in Geo::Shape.
Inherited, see ``Projections'' in Geo::Shape
$obj->projectOn($nick, @points)
Inherited, see ``Projections'' in Geo::Shape


Extends ``Geometry'' in Geo::Shape.
Returns the area enclosed by the outer polygon, minus the erea of the enclosures. Only useful when the points are in some orthogonal projection.
The bounding box of outer surface polygon.
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
The length of the outer polygon. Only useful in a orthogonal coordinate systems.


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
Inherited, see ``Display'' in Geo::Shape
Returns a string representation of the line, which is also used for stringification.


Extends ``OVERLOAD'' in Geo::Shape.
overload: '""' (stringification)
Inherited, see ``OVERLOAD'' in Geo::Shape
overload: 'bool' (truth value)
Inherited, see ``OVERLOAD'' in Geo::Shape


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


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