32 votos

Número máximo de características de punto en una capa vectorial de OpenLayers

Según tu experiencia, ¿cuántas características de puntos se pueden añadir a una capa vectorial de OpenLayers (new OpenLayers.Layer.Vector("Point Layer")) antes de que se vuelva inusualmente lenta?

Mi caso de uso es mostrar los puntos de una tabla de la base de datos. El usuario puede decidir qué marco temporal quiere visualizar. Por lo tanto, el resultado puede ser desde muy pocos hasta potencialmente 100.000 puntos. Me gustaría introducir un límite razonable y advertir al usuario si su consulta devuelve más características.

45voto

Daniel Broekman Puntos 1951

No tengo una respuesta definitiva para ti pero te he puesto una página donde puedes jugar con diferentes números de puntos en un mapa OL: http://derekswingley.com/lab/olpts/

5voto

Paul G Puntos 1615

Si la visualización es lenta porque el número de características es demasiado alto, significa que los datos que se muestran no son adecuados para el nivel de zoom. Por lo general, cuando la densidad de las características es demasiado alta, la pantalla ya no es legible (véase este ejemplo ). Incluso si no hubiera límite de procesamiento y todos los dispositivos de visualización fueran capaces de mostrar 1000000000000 características en 0,001s en una pantalla pequeña, la visualización seguiría siendo imposible.

La ley del radix de Töpfer establece que la densidad de los rasgos debe permanecer por debajo de un umbral constante sea cual sea el nivel de zoom. Una forma de resolver este problema y adaptar los datos a la escala de visualización es transformarlos mediante operaciones de generalización como este o este otro .

3voto

Knox Puntos 1979

No creo que sea posible dar una respuesta sólida a esta pregunta. El renderizado de puntos/polígonos depende totalmente del navegador y del hardware (CPU y memoria), no de OpenLayers. Tuve un problema con Openlayers y IE6 para uno de los Lagos (Polígono) de representación. pero, se cargó muy bien en Firefox. Y la mejor opción sería monitorear la memoria y el uso de la CPU con Chrome o algunas herramientas sería mejor.

2voto

ahocevar Puntos 1460

En OpenLayers 6, hay un renderizador de puntos WebGL que debería permitirte renderizar 100s de miles de características, con un filtrado basado en el tiempo. Puede que quieras consultar la última versión del taller oficial en https://openlayers.org/workshop/en/webgl/ .

Con OpenLayers 2, que realmente no recomiendo usar más, el máximo para la velocidad de fotogramas aceptable será de unos pocos cientos de características solamente.

1voto

eplawless Puntos 2076

Como otros, no tengo respuesta respecto a esa pregunta, pero aplicando un Estrategia de BBox podría ayudarle a mantener sólo los datos necesarios, ya que muestra sólo las características situadas dentro del cuadro delimitador dado.

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