Guía y consulta del usuario

Directrices sobre la utilización de un índice espacial

DB2 Spatial Extender trabaja con un índice espacial para mejorar el rendimiento de una consulta espacial. Supongamos que tenemos la consulta espacial más básica y que se utiliza con más frecuencia, la consulta de recuadro. Esta consulta solicita a DB2 Spatial Extender que devuelva todas las geometrías que se encuentran total o parcialmente dentro de un recuadro definido por el usuario. Si no existe un índice, DB2 Spatial Extender debe comparar todas las geometrías con el recuadro. Sin embargo, con un índice DB2 Spatial Extender puede localizar todas las entradas de índice que tienen una coordenada inferior izquierda superior o igual a la del recuadro y una coordenada superior derecha inferior o igual a la del recuadro. Puesto que el sistema de coordenadas clasifica el índice, DB2 Spatial Extender puede obtener rápidamente una lista de geometrías candidatas. El proceso que se acaba de describir recibe el nombre de primera pasada.

Una segunda pasada determina si la envoltura de cada candidato forma intersección con el recuadro. Una geometría calificada para la primera pasada porque la envoltura de sus celdas de cuadrícula forma intersección con el recuadro puede tener una envoltura que no lo haga.

Una tercera pasada compara las coordenadas reales del candidato con el recuadro para determinar si parte de la geometría se encuentra realmente dentro del recuadro. El último y más complejo proceso de comparación opera sobre una lista de candidatos compuesta por un subconjunto de la población total, que se reduce significativamente tras las dos primeras pasadas.

Todas las consultas espaciales llevan a cabo las tres pasadas excepto la función EnvelopesIntersect. Esta sólo lleva a cabo las dos primeras pasadas. La función EnvelopesIntersect se ha diseñado para operaciones de visualización que suelen utilizar sus propias rutinas de recorte incorporadas y no necesitan la granularidad de la tercera pasada.

Selección del tamaño de celda de cuadrícula

La forma irregular de las envolturas de las geometrías complica la selección del tamaño de celda de la cuadrícula. Debido a esta irregularidad, algunas envolturas de geometrías forman intersección con varias cuadrículas, mientras que otras caben dentro de una sola celda de cuadrícula. A la inversa, en función de la distribución espacial de los datos, algunas celdas de cuadrícula forman intersección con varias envolturas de geometrías.

Para que un índice espacial funcione bien, resulta esencial seleccionar el número y el tamaño correcto de cuadrículas. Supongamos que tenemos una columna espacial que contiene geometrías de tamaño uniforme. En este caso, un solo nivel de cuadrícula será suficiente. Comience por un tamaño de celda de cuadrícula que comprenda la envoltura media de las geometrías. Mientras prueba su aplicación, puede descubrir que al aumentar el tamaño de celda de cuadrícula mejora el rendimiento de sus consultas. Esto se debe a que cada celda de cuadrícula contiene más geometrías y la primera pasada puede eliminar las geometrías no calificadas con mayor rapidez. Sin embargo, descubrirá que a medida que continúa aumentando el tamaño de celda, el rendimiento se va deteriorando. Esto se debe probablemente a que la segunda pasada tiene que enfrentarse a más candidatos.

Selección del número de niveles

Si los objetos que desea indexar tienen aproximadamente el mismo tamaño relativo, puede utilizar un solo nivel de cuadrícula. Aunque esto es cierto, no todas las columnas contendrán geometrías del mismo tamaño relativo. Normalmente, las geometrías de columnas espaciales se pueden agrupar en varios intervalos de tamaños. Por ejemplo, supongamos que tenemos una red de carreteras en la que las geometrías se dividen en calles, carreteras principales y autopistas. Todas las calles tienen aproximadamente la misma longitud y se pueden agrupar en un intervalo de tamaños. Esto también se aplica a las carreteras principales y a las autopistas. Por lo tanto, las calles, que representan un intervalo de tamaños, se pueden agrupar en el primer nivel de cuadrícula, las redes de carreteras en el segundo y las autopistas en el tercer nivel de cuadrícula. Otro ejemplo incluye una columna de parcelas que contiene agrupaciones de pequeñas parcelas urbanas rodeadas de parcelas rurales de mayor tamaño. En este caso, hay dos intervalos de tamaños y dos niveles de cuadrícula, uno para las pequeñas parcelas urbanas y otro para las parcelas rurales de mayor tamaño. Estas situaciones son muy comunes y requieren el uso de una cuadrícula de varios niveles.

Para seleccionar el tamaño de celda de cada nivel de cuadrícula, seleccione tamaños de celda de cuadrícula ligeramente superiores que cada intervalo de tamaños. Compruebe el índice realizando consultas sobre la columna espacial.

Cada nivel adicional necesita otra exploración de índice. Vaya aumentando y disminuyendo ligeramente los tamaños de cuadrícula si consigue con ello una mejora apreciable en el rendimiento.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]