Mark Overmeer > Geo-Point > Geo::Surface



Annotate this POD


Open  1
View/Report Bugs
Module Version: 0.96   Source  


Geo::Surface - 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


This module is part of Geo-Point distribution version 0.96, built on January 21, 2014. Website: 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


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

syntax highlighting: