6 votos

Organización de los datos de PostGIS de una gran base de datos para una búsqueda rápida y dinámica del usuario

Tengo una gran cantidad de datos SIG, aproximadamente 30 capas, cada una con 50.000 a 100.000 (Geo)registros. Algunos de estos datos son puntos recogidos por el GPS, otros son PDI, algunos son datos proporcionados por el gobierno (carreteras, ríos, cuencas hidrográficas, etc.),

Hasta ahora voy a usar mapfish, geoserver, o feautureserver con jquery/ajax backend.

¿Cómo debo organizar mis datos SIG para permitir una búsqueda rápida y dinámica del cliente en la web? así como siéntase libre de proporcionar su experiencia de los proyectos, especialmente el trabajo en grandes conjuntos de datos con el usuario pesado quering

3voto

Lars Mæhlum Puntos 4569

Hola

100 000 filas son tablas bastante pequeñas. Si las geometrías son sólo puntos es muy pequeño :-)

Sólo hay que indexar las columnas en las que los usuarios van a buscar y será muy rápido.

¿Supongo que las búsquedas espaciales serán principalmente de rectángulos? Entonces, el índice espacial escogerá los puntos en un abrir y cerrar de ojos sin necesidad de volver a comprobarlos. En ese caso especial (encontrar puntos en una caja) puedes usar el operador && para obtenerlos sólo de la comparación de cajas delimitadoras. Eso es muy rápido si tienes un índice espacial en los puntos.

HTH Nicklas

3voto

Swinders Puntos 1042

Piense en cómo estructurar su interfaz de usuario para que un usuario obtenga lo que necesita, y sólo lo que necesitan. Esto puede hacerse de muchas maneras diferentes, incluyendo el uso de "zonas de interés", cuadros de selección múltiple, coincidencias parciales de texto, etc., de modo que pueda devolver las 2 o 3 características relevantes en lugar de una lista de 50 que el usuario tiene que esperar para descargar y luego desplazarse. Si hay muchos resultados relevantes, hay que considerar la paginación dinámica.

Un campo calculado que contenga versiones generalizadas de las características para la "vista previa" también puede reducir el ancho de banda / los tiempos de carga.

Aparte de eso, todo gira en torno a los índices de atributos. Hay un libro gratuito en línea que los analiza en profundidad en http://use-the-index-luke.com/

Los índices espaciales también son fundamentales (y el uso de cachés de azulejos es, con mucho, la mayor mejora de rendimiento que se puede obtener), pero están más relacionados con la visualización de capas en un mapa, o la selección por geometría.

0voto

Erik Öjebo Puntos 6937

B-Tree es más rápido pero GiST es más flexible...

"Los índices B-Tree funcionan mejor, pero los índices GiST son más flexibles".

https://stackoverflow.com/questions/766488/whats-the-difference-between-b-tree-and-gist-index-methods-in-postgresql

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