Provided by: libgeo-osm-tiles-perl_0.04-5_all
Geo::OSM::Tiles - Calculate tile numbers for OpenStreetMap
use Geo::OSM::Tiles qw( :all ); $zoom = 13; $lat = 49.60055; $lon = 11.01296; $tilex = lon2tilex($lon, $zoom); $tiley = lat2tiley($lat, $zoom); $path = tile2path($tilex, $tiley, $zoom); $tileurl = "http://tile.openstreetmap.org/$path";
This module provides functions for calculating the path to a map tile at OpenStreetMap out of geographic coordinates. The path of a tile at OSM has the form "$zoom/$tilex/$tiley.png". The numbering scheme is documented in the OSM wiki, see the link below. "lon2tilex($lon, $zoom)" Returns $tilex for the tile at longitude $lon and zoom level $zoom. The longitude must be in the range "-180.0 <= $lon < 180.0". The zoom level must be a non-negative integer. "lat2tiley($lat, $zoom)" Returns $tiley for the tile at latitude $lat and zoom level $zoom. The latitude must be in the range "-85.0511 <= $lat <= 85.0511". The zoom level must be a non-negative integer. "tile2path($tilex, $tiley, $zoom)" Composes the path to the tile at $tilex, $tiley, and $zoom at the OSM server. $tilex and $tiley must be integers in the range "0..2**$zoom-1". The supported range of zoom levels depends on the tile server. The maximum zoom for the Osmarender layer is 17, it is 18 for the Mapnik layer. "checklonrange($lonmin, $lonmax)" Checks whether $lonmin and $lonmax are within the allowed range of the longitude argument to "lon2tilex". Returns "($lonmin, $lonmax)" unchanged if they are ok or corrected values if not. "checklatrange($latmin, $latmax)" Checks whether $latmin and $latmax are within the allowed range of the latitude argument to "lat2tiley". Returns "($latmin, $latmax)" unchanged if they are ok or corrected values if not.
Rolf Krahl <email@example.com>
COPYRIGHT AND LICENCE
Copyright (C) 2008-2010 by Rolf Krahl This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.