Provided by: libgeo-point-perl_0.98-1_all bug

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

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