Índices espaciales y ST_Geometry

Los índices espaciales utilizados con ST_Geometry se implementan de manera diferente según el DBMS que se use. El módulo Informix Spatial DataBlade de IBM y la implementación de ST_Geometry en PostgreSQL utilizan un índice de árbol R para indexar los datos espaciales. ST_Geometry en Oracle y DB2 utiliza un índice de cuadrícula espacial.

Puede crear un índice espacial de varias maneras:

Cuando realiza consultas de relaciones espaciales contra tablas que contienen columnas de ST_Geometry, éstas utilizan un índice espacial para acelerar el proceso de consulta solamente cuando se ejecutan determinadas funciones de relación espacial. Estas se enumeran en la sección ¿Cuándo se utilizan los índices espaciales?

Oracle

Una clase de entidad creada con almacenamiento ST_Geometry y una tabla de índice espacial, crea una tabla adicional dentro de la base de datos de Oracle. La tabla de índice espacial se denomina S<n>_IDX$, donde <n> es el valor del índice de geometría para la tabla. El valor se puede obtener consultando la tabla SDE.ST_GEOMETRY_COLUMNS. La tabla de índice espacial se crea como una Tabla de índice organizada (IOT) de Oracle. El índice espacial del atributo ST_Geometry aparece como A<n>_IX1cuando se visualiza a través de Enterprise Manager. El valor de <n> representa el valor de LAYER_ID almacenado en la tabla LAYERS.

Se crean dos índices adicionales en la tabla S<n>_IDX$: S<n>$_IX1 y S<n>$_IX2. Puede especificar cómo se almacenan estos índices en el DBMS modificando el parámetro S_STORAGE de la palabra clave de configuración DBTUNE, que se especifica cuando crea una clase de entidad.

Si crea tablas de negocios divididas que contienen una columna ST_Geometry, también querrá que el índice espacial esté dividido. Hay dos tipos de métodos de división: global y local. De forma predeterminada, los índices globales divididos se crean en tablas de negocios divididas. Para crear un índice local dividido, deberá agregar la palabra clave LOCAL al final de la declaración CREATE INDEX. Para permitir que ArcGIS añada LOCAL a la declaración CREATE INDEX del índice espacial, establezca el parámetro ST_INDEX_PARTITION_LOCAL en TRUE bajo la palabra clave DEFAULTS.

PostgreSQL

En PostgreSQL, el índice de árbol R se implementa por medio de la infraestructura de índice de Jerarquía de búsqueda generalizada (GiST). Para obtener información sobre índices GiST, consulte el capítulo 51 de la Documentación de PostgreSQL 8.3.

IBM DB2 e Informix

Para obtener información sobre índices espaciales en DB2, consulte Índices espaciales generados por el extensor espacial de DB2. Para obtener información sobre índices espaciales en Informix, consulte Índices espaciales en geodatabases en Informix.

Temas relacionados


3/6/2012