|
NAMEGeo::Parse::OSM::Multipass - Multipass OpenStreetMap file parserVERSIONversion 0.42SYNOPSISGeo::Parse::OSM::Multipass extends Geo::Parse::OSM class to resolve geometry.use Geo::Parse::OSM::Multipass; my $osm = Geo::Parse::OSM::Multipass->new( 'planet.osm.gz' ); $osm->seek_to_relations; $osm->parse( sub{ warn $_[0]->{id} if $_[0]->{user} eq 'Alice' } ); METHODSnewmy $osm = Geo::Parse::OSM::Multipass->new( 'planet.osm' ); Creates parser instance and makes two passes: 1 - load node coordinates and create list of multipolygon parts 2 - load those parts You can add extra custom callback function: my $osm = Geo::Parse::OSM::Multipass->new( 'planet.osm', pass1 => sub{ ... } ); * pass1 - is called for every object during 1st pass * pass2 - same for second pass * between - before 2nd pass parseSame as in Geo::Parse::OSM, but callback object has additional fields for multipolygon objects:* outer - list of outer rings (ring is a closed list of node ids) * inner - inner rings latlonReturns coordinates of node (after 2nd pass)my ($lat,$lon) = $osm->latlon( '1234578' ); AUTHORliosha, "<liosha at cpan.org>"BUGSPlease report any bugs or feature requests to "bug-geo-parse-osm at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Geo-Parse-OSM>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.SUPPORTYou can find documentation for this module with the perldoc command.perldoc Geo::Parse::OSM You can also look for information at:
ACKNOWLEDGEMENTSLICENSE AND COPYRIGHTCopyright 2010 liosha.This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.
Visit the GSP FreeBSD Man Page Interface. |