¿Cuáles son las limitaciones de Geoserver y OpenLayers al mostrar una gran cantidad de puntos?

StackOverflow https://stackoverflow.com/questions/2108259

Pregunta

Estamos tratando de mostrar un mapa con una gran cantidad de puntos (que van desde 1000 hasta 20000 dependiendo de los criterios de los usuarios) utilizando OpenLayers y Geoserver. Los puntos se almacenan en una base de datos PostgreSQL.

Si bien la aplicación parece tener pocos problemas para mostrar el rango más bajo, su límite práctico parece ser de alrededor de 5000 puntos. El SLD que estamos aplicando también es enorme (enumerar todos los puntos individualmente por criterios que no son la identificación de características). En números más altos, no se garantiza que la imagen se devuelva, y la solicitud a veces se bloquea a Geoserver, lo que requiere que el servicio se reinicie.

¿Alguien sabe si tal cosa es factible y, de ser así, de algún consejo de configuración?

Hemos aplicado un índice BTree en el campo utilizado para el filtrado.

¿Fue útil?

Solución

¿Qué tipo de capa estás agregando a OpenLayers? Puede usar una capa WMS en lugar de tener los puntos como características vectoriales:

http://dev.openlayers.org/docs/files/openlayers/layer/wms-js.html

Geoserver generaría una imagen de los puntos, y solo necesitaría pasar un PNG de JPEG de unos pocos KB en lugar de geometría y información de estilo que sería mucho más grande. Sin embargo, perdería parte de la funcionalidad del lado del cliente (eventos del mouse, etc.)

Si ya está haciendo esto, entonces puede haber un problema separado. 5000 puntos deben estar bien para manejar el servidor.

Alternativamente, es posible que desee repensar cómo está agitando los puntos. 5000 puntos al momento suena como si pudiera ser muy confuso. Quizás usar círculos de diferentes tamaños para representar 10, 100, 500 puntos, etc. sería más fácil en términos de procesamiento y visualización.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top