Un recorrido rápido por el establecimiento de un índice espacial
El índice espacial se utiliza para ubicar con rapidez entidades al visualizar, editar o consultar datos. Por ello, es importante disponer de un índice espacial adecuado, sobre todo cuando se trabaja con grandes volúmenes de datos.
Los índices espaciales tienen comportamientos diversos, en función de la fuente de datos. Las geodatabases de archivos y de ArcSDE en DB2, las geodatabases de ArcSDE en Oracle y SQL Server que utilicen almacenamiento de geometría binario, y las geodatabases de ArcSDE en Oracle que utilicen almacenamiento ST_Geometry usan un sistema de hasta tres cuadrículas como índice espacial. Las geodatabases personales utilizan una sola cuadrícula. Una cuadrícula se define mediante un tamaño, que se denomina tamaño de la cuadrícula. Se trata del tamaño de cada celda de la cuadrícula, especificado en las unidades del sistema de coordenadas de la clase de entidad. Oracle Spatial, Informix y PostgreSQL no utilizan tamaños de cuadrícula, sino que utilizan un índice de árbol R. De igual forma, con los tipos espaciales de SQL Server, el índice espacial no utiliza cuadrículas.
Mantenimiento en ArcGIS de los índices de las geodatabases de archivos y de ArcSDE
ArcGIS reconstruye automáticamente el índice espacial al final de ciertas operaciones sobre geodatabases de archivos y de ArcSDE con el fin de garantizar que sea óptimo. A continuación se explica cómo administra ArcGIS el índice espacial:
- Al crear una clase de entidad vacía con el asistente Nueva clase de entidad, se crea un índice espacial. Si la clase de entidad utiliza un índice de cuadrícula espacial, el índice se crea con tamaños de cuadrícula 0,0,0 y queda en estado “no construido”. Tras cargar datos con el cargador de datos sencillo de ArcCatalog o con la herramienta Adjuntar, ArcGIS crea el índice espacial como paso final del proceso de carga. Calcula los tamaños de la cuadrícula adecuados para las entidades recién agregadas.
- Si importa datos de geodatabases personales, shapefiles, coberturas, dibujos asistidos por ordenador (CAD) o datos en formato SDC (Smart Data Compression), se crea automáticamente un índice espacial para la nueva clase de entidad.
- Al utilizar los comandos Copiar y Pegar de ArcCatalog para copiar una clase de entidad de una geodatabase personal en una geodatabase de archivos o de ArcSDE, el índice espacial se reconstruye automáticamente. El índice espacial también se reconstruye si copia una clase de entidad de Oracle Spatial, PostgreSQL o Informix. Si copia una clase de entidad de una geodatabase de archivos o de ArcSDE que utiliza tamaños de cuadrícula (Oracle binario y ST_Geometry, SQL Server binario o DB2) en otra geodatabase que utilice tamaños de cuadrícula, el índice se copia junto con los datos de origen en lugar de reconstruirse.
- Al utilizar una herramienta de geoprocesamiento que crea una clase de entidad, las entidades de la nueva clase de entidad se examinan y se construye automáticamente un nuevo índice espacial.
- Si guarda en ArcMap las modificaciones realizadas en una clase de entidad de una geodatabase de archivos, ArcGIS analiza el índice espacial. Si los tamaños de cuadrícula están establecidos en 0,0,0, ArcGIS reconstruye automáticamente el índice con un tamaño de cuadrícula adecuado a las entidades recién agregadas, cosa que no sucede en las geodatabases de ArcSDE.
- En las clases de entidad de las geodatabases de archivos comprimidas no se utiliza el mismo tipo de índice espacial que en las clases de entidad sin comprimir. Al comprimir una clase de entidad de una geodatabase de archivos, se crea automáticamente un índice para ella, índice que no se puede modificar. Al descomprimir la clase de entidad, se restablece automáticamente el mismo índice espacial que la clase de entidad tenía antes de comprimirse.
Cuándo actualizar el índice en geodatabases de archivos y de ArcSDE
Dado que ArcGIS mantiene el índice espacial en las geodatabases de archivos y de ArcSDE, raramente necesitará establecer o recalcular manualmente el índice. Solo es preciso cambiar o actualizar el índice en las siguientes situaciones excepcionales:
- Recalcule manualmente el índice cuando haya agregado un número grande de entidades que difieran en tamaño de las entidades ya presentes en la clase de entidad (esto solo afecta a la incorporación de entidades en sesiones de edición). Por ejemplo, puede que haya iniciado una sesión de edición y haya agregado manualmente un gran número de entidades de línea o que las haya cargado mediante el Cargador de objetos. Muchas de las entidades que ha agregado son considerablemente más grandes o más pequeñas que las entidades existentes en la clase de entidad. Para asegurarse de que el índice espacial funcionará de forma óptima con las nuevas entidades, debe actualizarlo. Si la clase de entidad utiliza un índice de cuadrícula espacial, una vez guardadas las modificaciones, actualice el índice accediendo a la ficha Índices en el cuadro de diálogo Propiedades de Clase de entidad y haciendo clic en el botón Recalcular.
- Si está agregando entidades a una clase de entidad de una geodatabase de archivos con tamaños de cuadrícula 0,0,0 y guarda las modificaciones realizadas, el índice se creará automáticamente. Sin embargo, si continúa agregando entidades en la misma sesión de edición, el índice no se recalculará las siguientes veces que guarde las modificaciones, ya que los tamaños de la cuadrícula ya no serán 0,0,0. Cuando haya terminado de agregar entidades, haga clic en el botón Recalcular del cuadro de diálogo Propiedades de Clase de entidad para actualizar los tamaños de cuadrícula. Tenga presente que el recálculo manual del índice tras agregar entidades similares en tamaño a las entidades ya en la clase de entidad tendrá un efecto muy pequeño o incluso nulo sobre el índice.
- Si desea agregar entidades grandes a una clase de entidad, podría tener que eliminar el índice antes de poder proceder. Sabrá que está en este supuesto si al agregar las entidades aparece un mensaje de error que le informa de que el tamaño de cuadrícula del índice espacial no es válido. Si sucede esto, suspenda la edición, abra el cuadro de diálogo Propiedades de Clase de entidad y elimine el índice espacial. Reinicie la sesión de edición y agregue las nuevas entidades. Cuando haya acabado de agregar entidades, calcule un nuevo índice.
Hasta ahora en este tema, se ha analizado principalmente el uso de los tamaños de cuadrícula predeterminados calculados por ArcGIS para los índices de cuadrícula espacial. En la mayoría de los casos, el tamaño de cuadrícula predeterminado es adecuado para las consultas espaciales rápidas. Sin embargo, dependiendo de las características de los datos y de cómo acceda a ellos, puede que ese no sea el tamaño óptimo. Establecer tamaños propios de cuadrícula puede mejorar el rendimiento. Para encontrar tamaños de cuadrícula mejores hay que experimentar con tamaños diferentes y ejecutar pruebas de rendimiento cada vez para observar los efectos. Sin embargo, quizá no pueda mejorar el rendimiento, es decir, que el tamaño de cuadrícula existente ya sea óptimo.
Si introdujo los tamaños de cuadrícula de manera manual y desea volver a adoptar un tamaño proporcionado por ArcGIS, puede recalcular un nuevo tamaño de cuadrícula en cualquier momento. Haga clic en el botón Recalcular en la ficha Índice del cuadro de diálogo Propiedades de Clase de entidad. ArcGIS también puede calcular un tamaño de cuadrícula adecuado mediante la herramienta de geoprocesamiento Calcular índice de cuadrícula espacial predeterminado, aunque obtendrá el mismo tamaño que obtendría utilizando el botón Recalcular.
Si utiliza índices de tipo espacial de Microsoft SQL Server, las cuadrículas no se utilizan y, por consiguiente, no es necesario recalcularlas.
Índices espaciales en geodatabases personales
Siempre que cree una clase de entidad en una geodatabase personal, ya sea mediante el asistente Nueva clase de entidad, una herramienta de geoprocesamiento o cualquier otro método, el software calculará el tamaño de cuadrícula del índice espacial, tamaño que no se podrá modificar. El tamaño de cuadrícula calculado está basado en el horizonte del sistema de coordenadas de la clase de entidad y será siempre óptimo.