Conceptos básicos sobre los índices espaciales

8

Estaba preguntando en un foro si podría ser una buena idea crear índices espaciales en subconjuntos de una tabla cuando su aplicación muestra en el mapa solo esos subconjuntos y nunca la tabla completa.

Estaba haciendo esta pregunta porque pensé que, dado que los subconjuntos no tienen la misma extensión de toda la tabla, tal vez sería más rápido mostrar los subconjuntos con sus propios índices espaciales.

La respuesta que recibí fue que los índices espaciales no afectan el tiempo de visualización, sino que solo se usan para consultas espaciales como unión o intersección. ¿¿¿Es verdad??? Mi experiencia con SIG y la base de datos es cuando una tabla no tiene índice espacial, la visualización en el mapa es mucho más lenta. Siempre pensé que en la pantalla se consultaba la tabla para mostrar las características que se cruzan con la extensión de la ventana del mapa actual, por lo que las características externas no se cargan por nada. ¿Es realmente como funciona? Este es un tipo de consulta espacial no?

¿Cuál es la verdad? ¿Es una buena idea crear índices espaciales en subconjuntos?

Debajo del radar
fuente

Respuestas:

13

Para fines de visualización, siempre es bueno usar un índice espacial. Mejorará la velocidad de renderizado y consultas espaciales. Sin embargo, si planea actualizar grandes cantidades de objetos, puede ser conveniente eliminar el índice espacial durante la actualización. De lo contrario, el proceso de actualización se volverá significativamente más lento, porque con cada actualización, el índice espacial también debe actualizarse. Después de actualizar, puede agregar un índice espacial nuevamente.

Mark Verschuur
fuente
Para agregar a los comentarios de Marcas, a menudo se crea un Shapefile ESRI sin un índice espacial y agregar uno puede mejorar significativamente la visualización en ArcMap. Si sus datos están en una geodatabase personal o de archivo, estos automáticamente tienen un índice espacial. Como puedes saber Bueno, en ArcMap, el campo Forma tendrá una pequeña estrella al lado cuando vea los datos en modo tabla.
Hornbydd
5

En bases de datos grandes o en una base de datos con muchos cambios, puede ser muy importante tener índices espaciales establecidos y actualizados regularmente.

(Manteniéndolo simple aquí)

Por ejemplo, para las capacidades de indexación de Oracle Spatial en el motor de base de datos Oracle es una característica clave del producto Spatial. Un índice espacial, como cualquier otro índice, proporciona un mecanismo para limitar las búsquedas , pero en este caso se basa en criterios espaciales como la intersección y la contención. Se requiere un índice espacial para:

  • Encuentra objetos dentro de un espacio de datos indexados que se superponen a un punto o área de interés (consulta de ventana)
  • Encuentre pares de objetos dentro de dos espacios de datos indexados que interactúan espacialmente entre sí (unión espacial)

Indexación espacial con Oracle 11.2g

http://docs.oracle.com/cd/E11882_01/appdev.112/e11830/sdo_index_query.htm

Mapperz
fuente
Para más información sobre SQL Server, consulte la publicación de blog de Isaac Kunen sobre Cuadrículas básicas de varios niveles .
Kirk Kuykendall
Pero, si está realizando un número significativo de ediciones, es posible que el índice espacial reduzca la velocidad de acceso. Es decir, con cada edición, si la base de datos vuelve a calcular el índice, puede sufrir un gran impacto en el rendimiento. El momento de las actualizaciones en un entorno de alto uso es importante.
Jay Laura
1
Jay depende de si la base de datos está configurada para transacciones (lectura / escritura rápida) o Data Warehousing (carga larga de datos y solo lectura de datos) ss64.com/ora/syntax-architecture.html
Mapperz