5 votos

¿Cómo convertir la Web-Mercator no coordina las baldosas Y, X, Z coordenadas?

Me acabo de enterar de que leafletjs y openlayers tienen dos diferentes convenios para convertir las coordenadas EPSG:4326 (WGS 84), mosaico de nombres ({Z}/{X}/{Y}).

Por lo tanto me gustaría tener más información sobre el origen y los usos de estas dos normas, y también me gustaría saber si hay forma generalizada para implementar las conversiones de cualquier proyección (utilizando sólo proj4 de datos) a los azulejos de nombres.

He añadido la siguiente preliminar fragmento de mod_tile, de manera que pueda servir EPSG:4326 (WGS 84) azulejos:

} else if (strcmp(srs, "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs") == 0) {
    syslog(LOG_DEBUG, "Using wgs84 projection settings");
    prj = (struct projectionconfig *)malloc(sizeof(struct projectionconfig));
    prj->bound_x0 = -180;
    prj->bound_x1 =  180;
    prj->bound_y0 = -90;
    prj->bound_y1 =  90;
    prj->aspect_x = 2;
    prj->aspect_y = 1;

Para mostrar un mapa en teselas que yo uso:

Leafletjs

L.tileLayer('.../base/{z}/{x}/{y}.png');`

Openlayers

('.../base/{z}/{x}/{y}.png').replace('{z}', (tileCoord[0] - 1).toString())
                            .replace('{x}', tileCoord[1].toString())
                            .replace('{y}', (-tileCoord[2] - 1).toString());

Los resultados con las dos bibliotecas es exactamente el mismo, si puedo adaptar el nivel de zoom.

EDIT: Mi objetivo es proporcionar una generalizada de parche para mod_tile (y ev. otros servicios), pero a partir de la respuesta de abajo, creo que tengo que dar el extra parámetros en un archivo de configuración de mod_tile (por ejemplo renderd.conf) para generar la correcta azulejo con el nombre esperado.

2voto

IvanSanchez Puntos 491

Hay una buena explicación en la wiki de OSM. Se reduce a proyección coordenadas EPSG:4326 a EPSG:3857 y las coordenadas X e Y del azulejo de las coordenadas X e Y en CRS.

La forma "generalizada" de azulejos prever cualquier CRS es TMS.

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