Fundamentos de topología
Este tema se aplica a ArcGIS for Desktop Standard y ArcGIS for Desktop Advanced exclusivamente.
La topología es una colección de reglas que, acopladas a un conjunto de herramientas y técnicas de edición, permite a las geodatabases modelar relaciones geométricas con mayor precisión. ArcGIS implementa una topología a través de un conjunto de reglas que definen cómo las entidades pueden compartir un espacio geográfico y un conjunto de herramientas de edición que trabajan con entidades que comparten geometría de manera integrada. La topología se almacena en una geodatabase como una o más relaciones que definen cómo las entidades en una o más clases de entidad comparten geometría. Las entidades que participan en una topología siguen siendo clases de entidad simples; en vez de modificar la definición de la clase de entidad, la topología describe cómo las entidades se pueden relacionar espacialmente.
Por qué la topología
La topología ha sido durante mucho tiempo un requisito clave SIG para la administración y la integridad de los datos. En general, un modelo de datos topológico administra relaciones espaciales representando objetos espaciales (entidades de punto, línea y área) como un gráfico subyacente de primitivas topológicas: nodos, caras y bordes. Estas primitivas, junto con sus relaciones entre sí y con las entidades cuyos límites representan, se definen representando las geometrías de entidad en un gráfico planar de elementos topológicos.
La topología se utiliza fundamentalmente para garantizar la calidad de los datos de las relaciones espaciales y para facilitar la compilación de los datos. La topología también se utiliza para analizar relaciones espaciales en muchas situaciones, tales como disolver los límites entre polígonos adyacentes con los mismos valores de atributo o atravesar una red de elementos en un gráfico topológico.
La topología también se puede utilizar para planear cómo se puede integrar la geometría de varias clases de entidad. Algunos llaman a esto integración vertical de clases de entidad.
Cómo comparten geometría las entidades en una topología
Las entidades pueden compartir geometría dentro de una topología. Éstos son algunos ejemplos entre entidades adyacentes:
- Las entidades de área pueden compartir límites (topología de polígonos).
- Las entidades de línea pueden compartir extremos (topología de borde y nodo).
Además, la geometría compartida se puede administrar entre clases de entidad utilizando una topología de geodatabase. Por ejemplo:
- Las entidades de línea pueden compartir segmentos con otras entidades de línea.
- Las entidades de área pueden ser coincidentes con otras entidades de área. Por ejemplo, las parcelas pueden anidarse dentro de bloques.
- Las entidades de línea pueden compartir los vértices de los extremos con otras entidades de punto (topología de nodo).
- Las entidades de punto entidades pueden ser coincidentes con entidades de línea (eventos de punto).
Las parcelas se han administrado habitualmente utilizando clases de entidad simple y topología de geodatabase, para que el conjunto de clases de entidad necesarias para modelar parcelas, límites, puntos de esquina y puntos de control obedecieran las reglas de coincidencia requeridas. Otra manera de administrar parcelas es con una estructura de parcela, que automáticamente proporciona estas capas. Una estructura administra su topología interna, sin el requisito de mantener una topología de geodatabase ni de realizar ninguna edición topológica para el conjunto de capas utilizadas por las parcelas.
Una diferencia clave entre las parcelas modeladas como entidades simples y las parcelas de una estructura es que los límites de la parcela de estructura (líneas de una estructura) no son compartidos: hay un conjunto completo de líneas en el límite de cada parcela; las líneas de estructura de las parcelas adyacentes se superponen y coinciden.
Las estructuras de parcela todavía pueden participar en la topología de geodatabase; donde las líneas de los límites superpuestos tienen distinta geometría, las líneas se separan y el gráfico de topología se genera de la manera habitual.
Dos vistas: entidades y elementos topológicos
Una capa de polígonos se pueden describir y utilizar:
- Como colecciones de entidades geográficas (puntos, líneas y polígonos)
- Como un gráfico de elementos topológicos (nodos, bordes, caras y sus relaciones)
Esto significa que hay dos alternativas para trabajar con entidades: una en la que las entidades se definen por sus coordenadas y otra en la que las entidades se representan como un gráfico ordenado de sus elementos topológicos.
La evolución de la topología de geodatabase a partir de coberturas
No es necesario leer este extenso tema para implementar topologías de geodatabase. Sin embargo, quizá desee dedicar tiempo a leerlo si le interesa la evolución histórica y los motivos para administrar la topología en la geodatabase de esta manera.
La génesis de nodo, arco y georrelacional
Los usuarios de coberturas de ArcInfo Workstation tienen una larga trayectoria de uso y dan un gran valor al papel que la topología desempeña en el mantenimiento de la integridad espacial de los datos.
Estos son los elementos del modelo de datos de cobertura.
En una cobertura, los puntos y los límites de entidad se almacenaban en unos pocos archivos principales administrados por ArcInfo Workstation y que eran propiedad de esta aplicación. El archivo ARC contenía la geometría lineal o de límites de polígono en forma de bordes topológicos, a los que se conocía como arcos. El archivo LAB contenía ubicaciones de puntos, que se utilizaban como puntos de etiqueta para polígonos o como entidades de puntos individuales, por ejemplo para una capa de entidades de pozo. Otros archivos se utilizaban para definir y mantener las relaciones topológicas entre cada uno de los bordes y los polígonos.
Por ejemplo, un archivo llamado PAL (siglas de "Polygon-arc list", lista de arcos-polígono) mostraba el orden y la dirección de los arcos de cada polígono. En ArcInfo Workstation, se utilizaba lógica de software para ensamblar las coordenadas de cada polígono para las operaciones de visualización, análisis y consulta. La lista ordenada de bordes del archivo PAL se utilizaba para buscar y ensamblar las coordenadas de los bordes contenidas en el archivo ARC. Los polígonos se ensamblaban durante el tiempo de ejecución cuando era necesario.
El modelo de cobertura tenía varias ventajas:
- Usaba una estructura simple para mantener la topología.
- Permitía digitalizar los bordes, almacenarlos una sola vez y compartirlos entre muchas entidades.
- Podía representar polígonos de tamaño enorme (con miles de coordenadas) porque los polígonos se definían realmente como un conjunto ordenado de bordes (arcos)
- La estructura de almacenamiento de la topología de la cobertura era intuitiva. Sus archivos topológicos físicos eran fácilmente comprensibles para los usuarios de ArcInfo Workstation.
Un dato histórico interesante: Arc, unido al administrador de tablas Info, fue el origen del nombre del producto ArcInfo Workstation, que llevó a todos los demás productos Arc posteriores de la familia de productos Esri: ArcInfo, ArcIMS, ArcGIS, etc.
Las coberturas también tenían algunas desventajas:
- Algunas operaciones eran lentas, porque muchas entidades tenían que ensamblarse al vuelo ("on the fly") cuando era necesario utilizarlas. Esto incluía todas las entidades de polígonos y multiparte tales como regiones (el término de cobertura para polígonos multiparte) y rutas (el término para entidades de línea multiparte).
- Las entidades topológicas (tales como polígonos, regiones y rutas) no estaban listas para utilizarse hasta que se generaba la topología de la cobertura. Si se editaban los bordes, la topología tenía que reconstruirse. (Nota: acabó por utilizarse el procesamiento parcial, que solo requería regenerar las partes modificadas de la topología de la cobertura.) En general, cuando se realizaba alguna edición de las entidades de un dataset topológico, debía ejecutarse un algoritmo de análisis geométrico para regenerar las relaciones topológicas, independientemente del modelo de almacenamiento.
- Las coberturas estaban limitadas a la edición por un único usuario. Debido a la necesidad de garantizar que el gráfico topológico estuviera sincronizado con las geometrías de entidad, solo un único usuario podía actualizar una topología a la vez. Los usuarios ordenaban en mosaico sus coberturas y mantenían una base de datos en mosaico para la edición. Esto permitía que los usuarios individuales bloquearan y editaran una tesela a la vez. Para el uso e implementación general de los datos, los usuarios anexaban copias de sus teselas a una capa de datos en mosaico. En otras palabras, los datasets en mosaico que editaban no se utilizaban directamente en toda la organización. Tenían que convertirse, los que significaba trabajo y tiempo adicional.
Los shapefiles y el almacenamiento de geometría simple
A principios de los años ochenta, las coberturas se consideraban una mejora sustancial sobre los antiguos sistemas basados en polígonos y líneas, en los que los polígonos se mantenían como bucles completos. En estos sistemas más antiguos, todas las coordenadas de una entidad se almacenaban en la geometría de cada entidad. Antes de la llegada de las coberturas y de ArcInfo Workstation, se utilizaban estas estructuras simples de polígonos y líneas. Estas estructuras de datos eran simples, pero tenían la desventaja de duplicar los límites digitalizados. Es decir, la geometría de cada polígono contenía dos copias de las coordenadas de las partes adyacentes de los polígonos con bordes compartidos. La desventaja principal era que el software SIG de la época no podía mantener la integridad de los bordes compartidos. Además, los costes de almacenamiento eran enormes y cada byte de almacenamiento tenía un coste elevado. A principios de los años ochenta, una unidad de disco de 300 MB tenía el tamaño de una lavadora y costaba 30.000 $. Mantener dos o más representaciones de las coordenadas era caro, y los cálculos necesitaban demasiado tiempo de cálculo. En consecuencia, el uso de una topología de cobertura tenía ventajas reales.
A mediados de los años noventa, el interés en las estructuras geométricas simples creció porque los costes de almacenamiento en disco y del hardware en general se estaban reduciendo, mientras la velocidad de cálculo crecía. Al mismo tiempo, era más fácil conseguir datasets SIG existentes, y el trabajo de los usuarios de SIG, que hasta entonces consistía principalmente en actividades de compilación de datos, pasaba a incluir la utilización de los datos, su análisis y su uso compartido.
Los usuarios deseaban un rendimiento más rápido para el uso de los datos (por ejemplo, no emplear tiempo de CPU para derivar geometrías de polígono cuando se necesitaran. Simplemente, ofrecer las coordenadas de entidad de estos 1.200 polígonos lo más rápidamente posible). Tener la geometría de entidad completa fácilmente disponible resultaba más eficaz. Había miles de sistemas de información geográfica en uso y numerosos datasets fácilmente disponibles.
Hacia esa época, Esri desarrolló y publicó su formato shapefile. Los shapefiles utilizaban un modelo de almacenamiento muy simple para las coordenadas de entidad. Cada shapefile representaba una clase de entidad única (de puntos, líneas o polígonos) y utilizaba un modelo de almacenamiento simple para las coordenadas de entidades. Los shapefile se podían crear con facilidad a partir de las coberturas de ArcInfo, así como de muchos otros sistemas de información geográfica. Se adoptaron ampliamente como un estándar de hecho y todavía se utilizan y se implementan masivamente hasta la actualidad.
Unos años más tarde, ArcSDE propuso un modelo similar de almacenamiento simple en tablas de bases de datos relacionales. Una tabla de entidades podía incluir una entidad por fila con la geometría en una de sus columnas además de otras columnas de atributos de entidad.
A continuación se muestra un ejemplo de tabla de entidades de polígonos de estados. Cada fila representa un estado. La columna de forma contiene la geometría del polígono de cada estado.
Este modelo de entidades simples se ajusta muy bien al motor de procesamiento de SQL. Mediante el uso de bases de datos relacionales, empezamos a ver cómo los datos SIG se escalaban hasta tamaños y números de usuarios inauditos sin que se degradara el rendimiento. Estábamos empezando a aprovechar los RDBMS para la administración de datos SIG.
Los shapefiles se volvieron ubicuos y, utilizando ArcSDE, este mecanismo de entidades simples se convirtió en el modelo de almacenamiento de entidades fundamental en RDBMS. Para facilitar la interoperabilidad, Esri fue el autor principal de las especificaciones de entidades simples OGC e ISO.
El almacenamiento de entidades simples tenía claras ventajas:
- La geometría completa para cada entidad se contiene en un registro. No se requiere ningún ensamblado.
- La estructura de datos (el esquema físico) es muy simple, rápido y escalable.
- Para los programadores es fácil escribir interfaces.
- Es interoperable. Muchos escribieron convertidores simples para intercambiar datos de estas geometrías simples con otros muchos formatos. Los shapefiles se aplicaron ampliamente como formato de uso e intercambio de datos.
Sus desventajas eran que el mantenimiento de la integridad de los datos, que la topología proporcionaba fácilmente, no era tan fácil de implementar para entidades simples. Como consecuencia, los usuarios aplicaron un modelo de datos para la edición y el mantenimiento (tal como coberturas) y otro para la implementación (tal como shapefiles o capas de ArcSDE).
Los usuarios empezaron a utilizar este enfoque híbrido para la edición y la implementación de los datos. Por ejemplo, los usuarios editaban los datos en coberturas, archivos CAD u otros formatos. A continuación, convertían los datos en shapefiles para su implementación y uso. Así, aunque la estructura de entidades simples era un formato excelente para el uso directo, no admitía la edición topológica ni la administración de datos de geometría compartida. Las bases de datos de uso directo utilizaban estructuras simples, pero para la edición se utilizó otro formato topológico. Esto tenía ventajas para la implementación. Sin embargo, la desventaja era que esos datos se volvían anticuados y tenían que actualizarse. Funcionaba, pero había un tiempo de retardo para la actualización de la información. En definitiva, faltaba la topología.
Lo que requerían los SIG y lo que implementa ahora el modelo de topología de geodatabase es un mecanismo que almacena entidades mediante la geometría de entidades simples, pero permite utilizar topologías en esta estructura de datos simple y abierta. Esto significa que los usuarios pueden tener lo mejor de ambos mundos: un modelo de datos transaccional que permite la consulta topológica, la edición de geometría compartida, el modelado de datos enriquecido y la integridad de datos, pero también un mecanismo de almacenamiento de datos simple, muy escalable, basado en geometría abierta de entidades simples.
Este modelo de datos de uso directo es rápido, simple y eficaz. También puede ser editado y mantenido directamente por cualquier número de usuarios simultáneos.
El marco de la topología en ArcGIS
En efecto, la topología se ha considerado algo más que un problema de almacenamiento de datos. La solución completa incluye lo siguiente:
- Un modelo de datos completo (objetos, reglas de integridad, herramientas de edición y validación, un motor de topología y geometría que puede procesar datasets de cualquier tamaño y complejidad, y un rico conjunto de operadores topológicos, visualizaciones de mapa y herramientas de consulta)
- Un formato de almacenamiento abierto que utiliza un conjunto de tipos de registro para entidades simples y una interfaz topológica para consultar entidades simples, recuperar elementos topológicos y navegar por sus relaciones espaciales (es decir, buscar áreas adyacentes y su borde compartido, la ruta a lo largo de las líneas conectadas)
- La capacidad para proporcionar las entidades (puntos, líneas y polígonos) así como los elementos topológicos (nodos, bordes y caras) y sus relaciones entre sí
- Un mecanismo que puede admitir lo siguiente
- Datasets masivamente grandes con millones de entidades
- Capacidad para que muchos editores simultáneos realicen tareas de edición y mantenimiento
- Geometría de entidades lista para usar, siempre disponible
- Soporte para comportamiento e integridad topológica
- Un sistema rápido y escalable para muchos usuarios y muchos editores
- Un sistema flexible y simple
- Un sistema que aprovecha el motor SQL y el marco de transacciones del RDBMS
- Un sistema que puede admitir varios editores, transacciones largas, archivado histórico y replicación
En una topología de geodatabase, el proceso de validación identifica las coordenadas compartidas entre entidades (tanto en la misma clase de entidad como entre clases de entidad). Se utiliza un algoritmo de agrupamiento para garantizar que las coordenadas compartidas tengan la misma ubicación. Estas coordenadas compartidas se almacenan como parte de la geometría simple de cada entidad.
Esto permite la búsqueda muy rápida y escalable de elementos topológicos (nodos, bordes y caras). Tiene la ventaja añadida de funcionar bastante bien y escalar con el motor SQL y el marco de administración de transacciones del RDBMS.
Durante la edición y la actualización, a medida que se agregan entidades, son utilizables directamente. Las áreas actualizadas en el mapa, las áreas sin validar, se indican y se someten a seguimiento a medida que se actualiza cada clase de entidad. En cualquier momento, los usuarios pueden decidir analizar topológicamente y validar las áreas sin validar para generar topología limpia. Solo es necesario reconstruir la topología de las áreas sin validar, lo que ahorra tiempo de proceso.
El resultado es que las primitivas topológicas (nodos, bordes y caras) y sus relaciones entre sí y con sus entidades se pueden detectar y ensamblar eficazmente. Esto tiene varias ventajas:
- Para las entidades se utiliza almacenamiento de geometría de entidades simples. Este modelo de almacenamiento es abierto, eficaz y se escala a grandes tamaños y números de usuarios.
- Este modelo de datos de entidades simples es transaccional y es multiusuario. En cambio, los modelos de almacenamiento topológicos más antiguos no se escalan y tienen dificultades para admitir varias transacciones del editor y otros muchos flujos de trabajo de administración de datos SIG.
- Las topologías de geodatabase admiten plenamente todas las capacidades de transacciones largas y control de versiones. Las topologías de geodatabase no necesitan estar teseladas y muchos usuarios pueden editar simultáneamente la base de datos topológica, incluso versiones individuales de las mismas entidades si es necesario.
- Las clases de entidad pueden crecer a cualquier tamaño (centenares de millones de entidades) con un rendimiento muy sólido.
- Esta implementación de la topología es aditiva. Normalmente, se puede agregar a un esquema existente clases de entidad relacionadas espacialmente. La alternativa es volver a definir y convertir todas las clases de entidad existentes a nuevos esquemas de datos que contengan primitivas topológicas.
- Solo es necesario que haya un modelo de datos para la edición de la geometría y el uso de los datos, no dos o más.
- Es interoperable, porque todo el almacenamiento de geometría de entidad se ajusta a las especificaciones de entidades simples de Consorcio Geoespacial Abierto (OGC) e ISO.
- El modelado de los datos es más natural porque está basado en entidades de usuario (tales como parcelas, calles, tipos de suelo y cuencas hidrográfica), en lugar de primitivas topológicas (tales como nodos, bordes y caras). Los usuarios empezarán a pensar en las reglas de integridad y el comportamiento de las entidades reales, en lugar de las reglas de integridad de las primitivas topológicas. Por ejemplo, ¿cómo se comportan las parcelas? Esto permitirá un modelado más sólido para todo tipo de entidades geográficas. Mejorará nuestro pensamiento sobre las calles, los tipos de suelo, las unidades del censo, las cuencas hidrográficas, los sistemas ferroviarios, la geología, los bosques, las formas del terreno, los accidentes físicos, etc.
- Las topologías de geodatabase proporcionan el mismo contenido de información que las implementaciones topológicas mantenidas: o se almacena un gráfico de líneas topológicas y se detecta la geometría de la entidad (como las coberturas) o se almacena la geometría de la entidad y se detectan los elementos topológicos y las relaciones (como las geodatabases).
En los casos en los que los usuarios deseen almacenar las primitivas topológicas, es fácil crear y enviar las topologías y sus relaciones a tablas para varios propósitos de tipo analítico y de interoperabilidad (por ejemplo, usuarios que deseen enviar sus entidades a un almacén de datos de Oracle Spatial que almacena tablas de primitivas topológicas).
En un nivel práctico, la implementación de la topología de ArcGIS funciona. Se escala a geodatabases y sistemas multiusuario extremadamente grandes sin pérdida de rendimiento. Incluye herramientas de validación y edición para generar y mantener topologías en geodatabases. Incluye herramientas de modelado de datos ricas y flexibles que permiten a los usuarios ensamblar sistemas prácticos y funcionales sobre sistemas de archivos, sobre cualquier base de datos relacional y sobre cualquier número de esquemas.