Reflexiones de objetos espaciales

by Vicente Bayarri on

This blogpost was migrated from the previous content management system that hosted this blog. If you want to check for old comments or to find anything looking weird please follow this link to check the Internet Wayback Machine.

El uso cada vez más expandido de lainformaciónespacial, hace que continúe creciendo la necesidadde intercambiar dichainformación (entre otras, las IDEEs).Paralelamente corre el desarrollo de las bases dedatos espaciales sirviendo a múltiples aplicaciones. Enambas se haresaltado la necesidad de una representación y uncomportamientoconsistente de los objetos espaciales  en las diferentes plataformas.

Hasta hace bien poco,  una supuestatécnica tan bien conocida como  representarelementos de área como polígonos se ha venidocomplicando, ya que ha habido un gran número de formas"estándar" de representaciones en uso. Precisamente la ISO TC211definió un conjunto de especificaciones y nomenclaturaspara la representación de los objetos espaciales. Dichostérminos fueron apoyados por el Open Geospatial Consortium(OGC), queadoptó los estándares ISO y extendiósuuso. PERO, desde mi humilde punto de vista no se ha dirigidotan bien  larepresentaciónrobusta y el comportamientode los objetosespaciales. LA ISO 19107:2003,el estándar de laInformación Geográfica y modelos espaciales seencuentrabajo revisión, por lo que surge una oportunidad excelenteparaque la ISOTC211 considere estos aspectos.

Si realmente os interesa el tema (yo empecé aecharle unvistazo por accidente y me ha podido la curiosidad), a parte de loslinks anteriores, echadle un vistazo a este documentorealmente interesante, y este otro al que me llevó el primero, pero os resumo un poco el estado del arte Los aspectos que se habrían de considerar son laigualdad yla validez.

La igualdades una de las relaciones más básicas entre dosobjetosespaciales, ¿es A igual a B? La tecnología de lasbasesde datos asumen la presencia de un test de igualdad bien definido yrepetible, y múltiples algoritmos de indexaciónrequierenla existencia de dicha igualdad. Por tanto sorprende saber que dichaigualdad es un aspecto complejo y no resuelto.

Existen tres tipos de igualdad, todas válidas ynecesariasperono todas preparadas para ser consideradas. La primera requiere unarepresentación idéntica de los objetosespaciales; porejemplo, dos polígonos son iguales si tienen el mismonúmero de vértices en las mismas posicionesexactamente, el punto de inicio es el mismo en ambos y losarcos interiores y exteriores están organizados de unamanerasimilar. La segunda igualdad es menos restrictiva en requisitos,permitiendo que la representación pueda diferir en tanto encuanto ambas definan exactamente el mismo conjunto de puntos. Latercera igualdad reconoce que la localización de los puntospueda diferir y permite que exista cierta desviación enlocalización de todos los puntos, en función delatolerancia. Esta es la forma que viene definida por la ISO y lasespecificacionesOGC, perolos detalles de tolerancia y su método deaplicación no aparecen explícitos en lasespecificaciones.

El segundo aspecto es la validez,que toma vigencia en el intercambio de datos de repositorioscompartidos.Cualquier conjunto grande y complejo de representaciones de datosespaciales exportados desde un sistema probablemente contengan una omás construcciones geométricas que sedetectaráncomo inválidas o rechazadas por otro sistema. Esto es porquenoexiste una definición consensuada de validez. Lasespecificaciones ISOy OGCdefinen conceptos tales como “esSimple”,pero depende de los implementadores el decidir si la validez requieresimplicidad. Por ejemplo, una implementación de una base dedatos (razonablemente) requiere que los límites de unpolígono sean simples, si bien no interesa queuna línea no lo sea tanto. Enun mundo perfecto, se habrían definido bien  tiposde datosespaciales abstractos. Esto implica, en primer lugar, unestándar quepermita la representación e intercambio de datos tales quelaigualdad y validez se preserve,  y en segundo, un conjunto defunciones consistentes,como la unión y la intersección, y relacionestopológicas, tales como “conecta con”, “incluido en” e"intersectacon" que de unos resultados predecibles en todas las plataformas.

Se plantean diferentes soluciones posibles; una soluciónpodría ser  mandar el informe exactode almacenamiento que vaya a ser empleado; por ejemplo, unanube de puntos flotante de 8 bytes se podría requerir paratodos los puntos con coordenadas y el uso de valores de toleranciaespecífica. Esto requeriría que los algoritmosempleados para evaluar todas las funciones se especificasen, enespecial aquellos relacionados con con la igualdad y la validez. Peroesto todavía falla algo, puesto que el cálculo dealgunas funciones puede causar redondeo, lo que puede afectar a lasfunciones posteriores, por lo que se necesitaría especificarla secuencia de las funciones aplicadas. Con esto seríaposible asegurar la repetibilidad del resultado; perorequeriría no sólo la especificaciónde almacenamiento, sino también la tolerancia, algoritmos yorden de ejecución de las operaciones. Otra alternativaconsistiría en evitar cualquier redondeo y no permitirninguna tolerancia en la evaluación de las funciones. Estose podría alcanzar mediante el uso de coordenadashomogéneas basadas en enteros. En vez de representar unpunto (x,y) por un par de coordenadas (en 2D) en punto flotante, estemétodo emplea un triplete de enteros (XYQ) y se interpretaque el punto se encuentra en la localización (X/Q, Y/Q).Esta representación permite que se puedan calcular todas lasfunciones “comunes” sin ningún error de redondeo, y escompletamente riguroso y repetible.

La terceraalternativaconsistiría en el uso del politopo regular,que emplea un doble de las coordenadas homogéneas,definiendo todos los objetos en 3D en términos de unconjunto de “espaciosmedios". En contraposición a los métodos decoordenadas homogéneas, éstos se representan anivel computacional como enteros de precisión finita. Estorequiere una aproximación cuando se cargan los datos. Noobstante, después de esta fase, se pueden ejecutar todas lasfunciones típicas sin ningún redondeo. Laevaluación requiere un cálculo deprecisión más alta  que la usual, perolos requerimientos de precisión son limitados. Larepresentación  resultado por politopos es unarepresentación libre de fronteras: cualquier punto puedeestás dentro o fuera de cualquier politopo dado. Estopodría ofrecer nuevas formas de representar losobjetos espaciales con un mejor potencial para llevar a cabo pruebas devalidez e igualdad, evitando problemas en el intercambio de los datosespaciales.

En fin, ya teneis un pasatiempo, para darle al coco esteverano… ;-)

Updated: 2022-02-27, Version: f993992.