Tengo dos capas WMS de MapServer que quiero superponer en OpenLayers. Una proviene de datos vectoriales en una tabla de PostGIS, y la otra proviene de datos rasterizados en otra tabla de PostGIS. Ambas tienen la misma proyección en PostGIS, el archivo de mapas y OpenLayers (EPSG:4326). La capa vectorial es simplemente una cuadrícula de 0,5° x 0,5°, la capa raster tiene una resolución de 0,5° y tienen el mismo origen, por lo que deberían alinearse entre sí. Sin embargo, dependiendo del cuadro delimitador de la solicitud WMS emitida por OpenLayers, no lo hacen. Parece que MapServer no puede devolver las celdas parciales del raster de PostGIS.
Este es un ejemplo de solicitud de WMS:
Lo que da:
La alineación cambia en función del cuadro delimitador. Si redondeo las coordenadas del cuadro delimitador a números enteros, las dos capas se alinean correctamente entre sí (casi) de forma fiable, pero no es de extrañar que esto cree un desafortunado efecto de "salto" en OpenLayers, donde el usuario se desplaza a una ubicación particular, pero el mapa salta entonces a una ubicación ligeramente diferente.
Parece ser un problema de MapServer causado por el tamaño relativamente grande de las celdas del raster.
Estoy usando MapServer 6.4.1, GDAL 1.10.1, PostgreSQL 9.4.9, PostGIS 2.1.4, OpenLayers 4.0.1, WMS 1.1.1
0 votos
¿puede añadir una captura de pantalla que muestre el problema?
0 votos
Este es un tema interesante. Creo que es mejor añadir capturas de pantalla en lugar de un enlace en vivo, ya que el enlace en vivo podría no funcionar pronto. Una sugerencia que tengo es cambiar algunos ajustes de interpolación. Si consigues que la trama se interpola correctamente, debería funcionar. También podrías evaluar GeoServer, para ver cómo maneja los mismos datos.