Más

Geoserver WMS Circle SLD devuelve el estilo Círculo incompleto con niveles de zoom más altos

Geoserver WMS Circle SLD devuelve el estilo Círculo incompleto con niveles de zoom más altos


Estoy usando OpenGeo Suite Boundless v2.6

Creé un estilo SLD para una capa de puntos y creé 2 reglas:

  • Regla para dibujar un icono gráfico de un archivo png.
  • Regla para dibujar un círculo con radio (tamaño) de la tabla db usando el valor (Atributo OGC) en metros.

Utilizo el siguiente código para cargar la capa en OL3:

var wmsSource = new ol.source.TileWMS ({url: 'http: // localhost: 8080 / geoserver / wms', params: {'TILED': true, VERSION: '1.3.0', 'LAYERS': 'myds : antena ',}, serverType:' geoserver '}); new ol.layer.Tile ({id: 'Mensaje', título: 'Antenas', visible: verdadero, fuente: wmsSource});

La capa se cargó correctamente en el mapa en algunos niveles de zoom más bajos (0-10) si me acerqué a más niveles hacia abajo (11-17), la forma del círculo se recorta con los mosaicos como la imagen a continuación:

Lo extraño cuando establecí la segunda regla en el SLD que para obtener un valor de radio fijo como (2000) metros, no de la tabla db, dibuja un círculo completo en todos los niveles de zoom, pero necesito establecer un radio diferente para cada círculo.

Probé muchas soluciones para evitar este error cambiando los factores de metatilización para que sean 100x100 en lugar de 4x4 y cambie el Canalón para que sea 100px, resuelve el problema pero afecta gravemente la velocidad de carga.

Así que amablemente ayúdame a resolver este problema.


Después de aplicar una sugerencia gigante publicando un error en Geoserver en el siguiente enlace Problema de Geoserver

pero la primera respuesta fue:

Esto no es un error, GeoServer no puede predecir qué tan grande será el círculo ya que depende del atributo. Debe configurar manualmente un búfer de renderizado lo suficientemente grande para satisfacer todas sus necesidades en la configuración de la capa: http://docs.geoserver.org/2.7.1/user/webadmin/data/layers.html

Otra respuesta es usar ol.source.ImageWMS** En lugar de usar **ol.source.TileWMS ' que devolverá la respuesta WMS en UNA imagen única no en mosaico para que los círculos no se recorten como la imagen adjunta anteriormente.

Probé esta respuesta y el círculo incompleto desapareció y el resultado son círculos completos con el radio seleccionado del atributo DB.

Entonces la Conclusión es:

  • Usar ol.source.ImageWMS si desea cargar la respuesta WMS en una sola imagen de mosaico, no en imágenes en mosaico.

Quería compartir la solución con cualquiera que se enfrente a este problema.


Ver el vídeo: GeoServer. Styling. SLD CSS.