.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Geo::Surface 3pm" .TH Geo::Surface 3pm "2019-02-21" "perl v5.28.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Geo::Surface \- A surface description. .SH "INHERITANCE" .IX Header "INHERITANCE" .Vb 2 \& Geo::Surface \& is a Geo::Shape .Ve .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& my $island = Geo::Surface\->new($outer, $lake1, $lake2); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" In this context, a \*(L"surface\*(R" is defined as a single filled area with possible enclosures in one projection system. .PP Extends \*(L"\s-1DESCRIPTION\*(R"\s0 in Geo::Shape. .SH "METHODS" .IX Header "METHODS" Extends \*(L"\s-1METHODS\*(R"\s0 in Geo::Shape. .SS "Constructors" .IX Subsection "Constructors" Extends \*(L"Constructors\*(R" in Geo::Shape. .ie n .IP "$obj\->\fBnew\fR( <$surface | <$outer,$inner,...> >, %options )" 4 .el .IP "\f(CW$obj\fR\->\fBnew\fR( <$surface | <$outer,$inner,...> >, \f(CW%options\fR )" 4 .IX Item "$obj->new( <$surface | <$outer,$inner,...> >, %options )" .PD 0 .ie n .IP "Geo::Surface\->\fBnew\fR( <$surface | <$outer,$inner,...> >, %options )" 4 .el .IP "Geo::Surface\->\fBnew\fR( <$surface | <$outer,$inner,...> >, \f(CW%options\fR )" 4 .IX Item "Geo::Surface->new( <$surface | <$outer,$inner,...> >, %options )" .PD When called as instance method, some defaults are copied from the object where the call is made upon. .Sp You may either provide a Math::Polygon::Surface \f(CW$surface\fR, or a \s-1LIST\s0 of lines. In the latter case, the first line is the \f(CW$outer\fR polygon of the surface, and the other are all \f(CW$inner\fR enclosures: lakes. Lines are and Geo::Line, Math::Polygon objects, or \s-1ARRAY\s0 of points. .Sp If no projection is specified, then the projection of the first Geo-encoded line will be used. .Sp .Vb 2 \& \-Option\-\-Defined in\-\-Default \& proj Geo::Shape see Geo::Proj::defaultProjection() .Ve .RS 4 .IP "proj => \s-1LABEL\s0" 2 .IX Item "proj => LABEL" .RE .RS 4 .RE .SS "Attributes" .IX Subsection "Attributes" Extends \*(L"Attributes\*(R" in Geo::Shape. .ie n .IP "$obj\->\fBgeoInner\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBgeoInner\fR()" 4 .IX Item "$obj->geoInner()" Returns a \s-1LIST\s0 of enclosed polygons, converted to Geo::Line objects. .ie n .IP "$obj\->\fBgeoOuter\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBgeoOuter\fR()" 4 .IX Item "$obj->geoOuter()" Returns the outer polygon as Geo::Line object. .ie n .IP "$obj\->\fBinner\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBinner\fR()" 4 .IX Item "$obj->inner()" Returns a \s-1LIST\s0 of enclosed Math::Polygon objects. .ie n .IP "$obj\->\fBouter\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBouter\fR()" 4 .IX Item "$obj->outer()" Returns the outer Math::Polygon. .ie n .IP "$obj\->\fBproj\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBproj\fR()" 4 .IX Item "$obj->proj()" Inherited, see \*(L"Attributes\*(R" in Geo::Shape .ie n .IP "$obj\->\fBproj4\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBproj4\fR()" 4 .IX Item "$obj->proj4()" Inherited, see \*(L"Attributes\*(R" in Geo::Shape .SS "Projections" .IX Subsection "Projections" Extends \*(L"Projections\*(R" in Geo::Shape. .ie n .IP "$obj\->\fBin\fR( <$label|'utm'> )" 4 .el .IP "\f(CW$obj\fR\->\fBin\fR( <$label|'utm'> )" 4 .IX Item "$obj->in( <$label|'utm'> )" Inherited, see \*(L"Projections\*(R" in Geo::Shape .ie n .IP "$obj\->\fBprojectOn\fR($nick, @points)" 4 .el .IP "\f(CW$obj\fR\->\fBprojectOn\fR($nick, \f(CW@points\fR)" 4 .IX Item "$obj->projectOn($nick, @points)" Inherited, see \*(L"Projections\*(R" in Geo::Shape .SS "Geometry" .IX Subsection "Geometry" Extends \*(L"Geometry\*(R" in Geo::Shape. .ie n .IP "$obj\->\fBarea\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBarea\fR()" 4 .IX Item "$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. .ie n .IP "$obj\->\fBbbox\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBbbox\fR()" 4 .IX Item "$obj->bbox()" The bounding box of outer surface polygon. .ie n .IP "$obj\->\fBbboxCenter\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBbboxCenter\fR()" 4 .IX Item "$obj->bboxCenter()" Inherited, see \*(L"Geometry\*(R" in Geo::Shape .ie n .IP "$obj\->\fBbboxRing\fR( [$xmin, $ymin, $xmax, $ymax, [$proj]] )" 4 .el .IP "\f(CW$obj\fR\->\fBbboxRing\fR( [$xmin, \f(CW$ymin\fR, \f(CW$xmax\fR, \f(CW$ymax\fR, [$proj]] )" 4 .IX Item "$obj->bboxRing( [$xmin, $ymin, $xmax, $ymax, [$proj]] )" .PD 0 .ie n .IP "Geo::Surface\->\fBbboxRing\fR( [$xmin, $ymin, $xmax, $ymax, [$proj]] )" 4 .el .IP "Geo::Surface\->\fBbboxRing\fR( [$xmin, \f(CW$ymin\fR, \f(CW$xmax\fR, \f(CW$ymax\fR, [$proj]] )" 4 .IX Item "Geo::Surface->bboxRing( [$xmin, $ymin, $xmax, $ymax, [$proj]] )" .PD Inherited, see \*(L"Geometry\*(R" in Geo::Shape .ie n .IP "$obj\->\fBdistance\fR( $object, [$unit] )" 4 .el .IP "\f(CW$obj\fR\->\fBdistance\fR( \f(CW$object\fR, [$unit] )" 4 .IX Item "$obj->distance( $object, [$unit] )" Inherited, see \*(L"Geometry\*(R" in Geo::Shape .ie n .IP "$obj\->\fBperimeter\fR()" 4 .el .IP "\f(CW$obj\fR\->\fBperimeter\fR()" 4 .IX Item "$obj->perimeter()" The length of the outer polygon. Only useful in a orthogonal coordinate systems. .SS "Display" .IX Subsection "Display" Extends \*(L"Display\*(R" in Geo::Shape. .ie n .IP "$obj\->\fBdeg2dm\fR($degrees, $pos, $neg)" 4 .el .IP "\f(CW$obj\fR\->\fBdeg2dm\fR($degrees, \f(CW$pos\fR, \f(CW$neg\fR)" 4 .IX Item "$obj->deg2dm($degrees, $pos, $neg)" .PD 0 .ie n .IP "Geo::Surface\->\fBdeg2dm\fR($degrees, $pos, $neg)" 4 .el .IP "Geo::Surface\->\fBdeg2dm\fR($degrees, \f(CW$pos\fR, \f(CW$neg\fR)" 4 .IX Item "Geo::Surface->deg2dm($degrees, $pos, $neg)" .PD Inherited, see \*(L"Display\*(R" in Geo::Shape .ie n .IP "$obj\->\fBdeg2dms\fR($degrees, $pos, $neg)" 4 .el .IP "\f(CW$obj\fR\->\fBdeg2dms\fR($degrees, \f(CW$pos\fR, \f(CW$neg\fR)" 4 .IX Item "$obj->deg2dms($degrees, $pos, $neg)" .PD 0 .ie n .IP "Geo::Surface\->\fBdeg2dms\fR($degrees, $pos, $neg)" 4 .el .IP "Geo::Surface\->\fBdeg2dms\fR($degrees, \f(CW$pos\fR, \f(CW$neg\fR)" 4 .IX Item "Geo::Surface->deg2dms($degrees, $pos, $neg)" .PD Inherited, see \*(L"Display\*(R" in Geo::Shape .ie n .IP "$obj\->\fBdms2deg\fR($dms)" 4 .el .IP "\f(CW$obj\fR\->\fBdms2deg\fR($dms)" 4 .IX Item "$obj->dms2deg($dms)" .PD 0 .IP "Geo::Surface\->\fBdms2deg\fR($dms)" 4 .IX Item "Geo::Surface->dms2deg($dms)" .PD Inherited, see \*(L"Display\*(R" in Geo::Shape .ie n .IP "$obj\->\fBtoString\fR( [$projection] )" 4 .el .IP "\f(CW$obj\fR\->\fBtoString\fR( [$projection] )" 4 .IX Item "$obj->toString( [$projection] )" Returns a string representation of the line, which is also used for stringification. .SH "OVERLOAD" .IX Header "OVERLOAD" Extends \*(L"\s-1OVERLOAD\*(R"\s0 in Geo::Shape. .ie n .IP "overload: \fB'""""' (stringification)\fR" 4 .el .IP "overload: \fB'``''' (stringification)\fR" 4 .IX Item "overload: '""""' (stringification)" Inherited, see \*(L"\s-1OVERLOAD\*(R"\s0 in Geo::Shape .IP "overload: \fB'bool' (truth value)\fR" 4 .IX Item "overload: 'bool' (truth value)" Inherited, see \*(L"\s-1OVERLOAD\*(R"\s0 in Geo::Shape .SH "DIAGNOSTICS" .IX Header "DIAGNOSTICS" .IP "Warning: Geo::Line is should be filled" 4 .IX Item "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. .ie n .IP "Error: distance calculation not implemented between a $kind and a $kind" 4 .el .IP "Error: distance calculation not implemented between a \f(CW$kind\fR and a \f(CW$kind\fR" 4 .IX Item "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. .ie n .IP "Error: \fBin()\fR not implemented for a $class" 4 .el .IP "Error: \fBin()\fR not implemented for a \f(CW$class\fR" 4 .IX Item "Error: in() not implemented for a $class" .PD 0 .ie n .IP "Error: not known what to do with $component" 4 .el .IP "Error: not known what to do with \f(CW$component\fR" 4 .IX Item "Error: not known what to do with $component" .PD .SH "SEE ALSO" .IX Header "SEE ALSO" This module is part of Geo-Point distribution version 0.98, built on February 01, 2019. Website: \fIhttp://perl.overmeer.net/CPAN/\fR .SH "LICENSE" .IX Header "LICENSE" Copyrights 2005\-2019 by [Mark Overmeer]. For other contributors see ChangeLog. .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See \fIhttp://dev.perl.org/licenses/\fR