Scroll to navigation

Geo::Surface(3pm) User Contributed Perl Documentation Geo::Surface(3pm)

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 a single 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.

$obj->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]] )
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)
Inherited, see "Display" in Geo::Shape
$obj->deg2dms($degrees, $pos, $neg)
Inherited, see "Display" in Geo::Shape
$obj->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.

Inherited, see "OVERLOAD" in Geo::Shape
Inherited, see "OVERLOAD" in Geo::Shape

DIAGNOSTICS

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.
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.

SEE ALSO

This module is part of Geo-Point distribution version 0.98, built on February 01, 2019. Website: http://perl.overmeer.net/CPAN/

LICENSE

Copyrights 2005-2019 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://dev.perl.org/licenses/

2019-02-21 perl v5.28.1