oracular (3) Geo::WKT::Simple.3pm.gz

NAME
Geo::WKT::Simple - Simple utils to parse/build Well Known Text(WKT) format string.
SYNOPSIS
use Geo::WKT::Simple; # Export all or use Geo::WKT::Simple ':parse'; # Only WKT parser functions or use Geo::WKT::Simple ':make'; # Only WKT builder functions # WKT POINT wkt_parse_point('POINT(10 20)'); #=> (10 20) wkt_make_point(10, 20); #=> POINT(10 20) # WKT LINESTRING wkt_parse_linestring('LINESTRING(1 2, 3 4)'); #=> ([ 1, 2 ], [ 3, 4 ]) wkt_make_linestring([ 1, 2 ], [ 3, 4 ]); #=> LINESTRING(1 2, 3 4) # WKT POLYGON wkt_parse_polygon('POLYGON((1 2, 3 4, 5 6, 1 2), (1 2, 3 4, 5 6, 1 2))'); #=> ( # [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 1, 2 ] ], # [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 1, 2 ] ], # ) wkt_make_polygon( [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 1, 2 ] ], [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 1, 2 ] ], ); #=> 'POLYGON((1 2, 3 4, 5 6, 1 2), (1 2, 3 4, 5 6, 1 2))' # And like so on for (MULTI)LINESTRING|POLYGON # WKT GEOMETRYCOLLECTION wkt_parse_geometrycollection( 'GEOMETRYCOLLECTION(POINT(10 20), LINESTRING(10 20, 30 40))' ); #=> ([ POINT => [ 10, 20 ] ], [ LINESTRING => [ [ 10, 20 ], [ 30, 40 ] ] ]) wkt_make_geometrycollection( [ POINT => [ 10, 20 ] ], [ LINESTRING => [ [ 10, 20 ], [ 30, 40 ] ] ] ); #=> 'GEOMETRYCOLLECTION(POINT(10 20), LINESTRING(10 20, 30 40))' # If you don't like too many exported symbols: use Geo::WKT::Simple qw/ wkt_parse wkt_make /; wkt_parse(POINT => 'POINT(10 20)'); wkt_make(POINT => [ 10, 20 ]);
DESCRIPTION
Geo::WKT::Simple is a module to provide simple parser/builder for Well Known Text(WKT) format string. This module can parse/build WKT format string into/from pure perl data structure. Why not Geo::WKT ? There is few reasons. - I just need simple return value represented by pure perl data structure. Geo::WKT returns results as a Geo::* instances which represents each type of geodetic components. - Geo::Proj4 dependencies. Geo::Proj4 depends to libproj4 - I need to support MULTI(LINESTRING|POLYGON).
FUNCTIONS
See SYNOPSIS section for usages. wkt_parse_point() Parse WKT Point string. wkt_parse_linestring() Parse WKT Linestring string. wkt_parse_multilinestring() Parse WKT MultiLinestring string. wkt_parse_polygon() Parse WKT Polygon string. wkt_parse_multipolygon() Parse WKT MultiPolygon string. wkt_parse_geometrycollection() Parse WKT GeometryCollection string. wkt_parse() Dispatch to parser which specified in first argument. wkt_parse(POINT => 'POINT(10 20)') is equivalent to wkt_parse_point('POINT(10 20)') wkt_make_point() Build WKT Point string. wkt_make_linestring() Build WKT Linestring string. wkt_make_multilinestring() Build WKT MultiLinestring string. wkt_make_polygon() Build WKT Polygon string. wkt_make_multipolygon() Build WKT MultiPolygon string. wkt_make_geometrycollection() Build WKT GeometryCollection string. wkt_make() Dispatch to builder function which specified in first argument. wkt_make(POINT => [ 10, 20 ]) is equivalent to wkt_make_point(10, 20)
AUTHOR
Yuto KAWAMURA(kawamuray) <kawamuray.dadada {at} gmail.com>
SEE ALSO
Geo::WKT: As same as this module except few things. Well-known text: http://en.wikipedia.org/wiki/Well-known_text
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.