2 votos

Prevención de etiquetas recortadas de QGIS Server WMS en Leaflet JS

Estoy intentando mostrar en Leaflet un mapa WMS servido con QGIS Server. Como puedes ver en este fiddle de abajo hay un problema con los elementos del mapa; parecen estar recortados de alguna manera. Los datos que da QGIS Server son multipolígonos geográficos con su id asociado en la base de datos postgis.

https://jsfiddle.net/maurizioricci95/vydseLzq/1/

enter image description here

El mapa funciona correctamente si se importa en QGIS Desktop utilizando directamente la URL del WMS ( http://quegis.labcd.unipi.it/cgi-bin/qgis_mapserv.fcgi ). También intenté en Leaflet solicitar la imagen en formato PNG con la transparencia pero no se solucionó el problema.

Este es el GetCapabilities del WMS:

http://quegis.labcd.unipi.it/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMTS&VERSION=1.3.0&REQUEST=GetCapabilities Todo parece estar bien.

Parece que hay algún comportamiento/opciones extrañas configuradas en Leaflet pero no soy capaz de averiguarlo.

7voto

IvanSanchez Puntos 491

Te encuentras con artefactos de mosaico. A saber, el etiquetas se están cortando entre baldosas (y los marcadores de círculo para los puntos probablemente también); esto se ve fácilmente añadiendo un borde a las baldosas de Leaflet añadiendo un poco de CSS como .leaflet-tile-loaded { border: 1px dashed red; } Por ejemplo:

tile artifacts with tile borders

Esto ocurre cuando el motor de renderizado utiliza datos estrictamente interior los límites de la imagen/azulejo solicitado para renderizar dicha imagen/azulejo. Imagina un punto de datos que debería estar a dos píxeles del límite de un mosaico y que está representado por un círculo de 8 píxeles de radio: debería haber 6 píxeles de círculo en un mosaico que no contiene realmente ese punto.

Hay algunos enfoques habituales para los artefactos de los azulejos:

  • Utilice un tamaño de baldosa mayor para su L.TileLayer.WMS . Sin embargo, esto sólo hará que los artefactos aparezcan con menos frecuencia, no los evitará.

  • Utilice L.WMS.Overlay para la visualización de imágenes del SGA "sin fecha". . Esto eliminará esos pero introducirá otros nuevos (el renderizado será diferente dependiendo del cuadro delimitador en algunas circunstancias, problemas antimeridianos) y pondrá un montón más tensión en el servidor WMS (ya que cada panorámica del mapa desencadenará una nueva re-presentación del mapa sin caché).

  • Cambiar el estilo de representación en el propio servidor WMS, para que los datos sólo en el exterior del cuadro delimitador solicitado se utiliza en el renderizado. Esto significa que los puntos que no están en el mosaico actual deben ser recuperados y sus etiquetas renderizadas, por si acaso una pequeña parte de esa etiqueta es visible aunque el punto en sí no lo sea.

La tercera técnica es la preferida por la OMI, pero hay que ser capaz de ajustar el propio servidor WMS, y depende del software que alimente el servicio WMS. (Por ejemplo, véase para QGIS o para el servidor de mapas o para el geoservidor )

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