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:
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 )