18 votos

Calcula límites lat lon para la baldosa individuo generado a partir de gdal2tiles

Tengo varias baldosas de las fuentes generadas mediante gdal2tiles me gustaría presentar en el mismo mapa. Así que cuando se presenta una ficha necesito para determinar el origen de los que se sirven de, comprobación contra los límites.

Alguien sabe cómo calcular el lat lon los límites para una sola baldosa basa puramente en zoom, x, y y (a partir de la estructura de los archivos generados por gdal2tiles)? BTW: estoy usando el API de Google Maps v3 en caso de que haya una necesidad de llamar algunas de las funciones de la API para ayudar con los cálculos.

La razón por la que estoy restringido a los puramente zoom, x, y y es debido a que los azulejos no son sólo recibir llamadas por una superposición en el mapa, sino también a algunos de encargo de la impresión de la funcionalidad que permite la impresión de fuera del mapa.

Gracias de antemano por cualquier ayuda o sugerencia que nadie tiene.

Saludos, Gavin

24voto

ujh Puntos 1722

Esta pregunta ya fue respondida en Maptiler Grupo de Usuario que has pedido demasiado. https://groups.google.com/d/msg/maptiler/RcxwFDgZiXk/Vj8Gzg_0xqYJ


Hola Gavin,

la matemática es descrito en:

http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/

incluyendo el código fuente para la utilidad de línea de comandos y una demostración en línea.

También es bastante simple de matemáticas:

function tile2long(x,z) { return (x/Math.pow(2,z)*360-180); }
function tile2lat(y,z) { var n=Math.PI-2*Math.PI*y/Math.pow(2,z);
return (180/Math.PI*Math.atan(0.5*(Math.exp(n)-Math.exp(-n)))); }

Por favor, asegúrese de entender la diferencia entre XYZ/Google vs TMS en eje y (discutido varias veces en esta lista de correo).

El API de Google Maps V3 le ofrece las funciones necesarias también a través de .fromPointToLatLng() del mapa.getProjection().

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X