Rolf Krahl > Geo-OSM-Tiles > Geo::OSM::Tiles

Download:
Geo-OSM-Tiles-0.04.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  2
View/Report Bugs
Module Version: 0.04   Source  

NAME ^

Geo::OSM::Tiles - Calculate tile numbers for OpenStreetMap

SYNOPSIS ^

  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";

DESCRIPTION ^

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.

SEE ALSO ^

http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

AUTHOR ^

Rolf Krahl <rotkraut@cpan.org>

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.

syntax highlighting: