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.