El uso cada vez más expandido de la información espacial, hace que continúe creciendo la necesidad de intercambiar dicha información (entre otras, las IDEEs). Paralelamente corre el desarrollo de las bases de datos espaciales sirviendo a múltiples aplicaciones. En ambas se ha resaltado la necesidad de una representación y un comportamiento consistente de los objetos espaciales en las diferentes plataformas.
Hasta hace bien poco, una supuesta técnica tan bien conocida como representar elementos de área como polígonos se ha venido complicando, ya que ha habido un gran número de formas "estándar" de representaciones en uso. Precisamente la ISO TC211 definió un conjunto de especificaciones y nomenclaturas para la representación de los objetos espaciales. Dichos términos fueron apoyados por el Open Geospatial Consortium (OGC), que adoptó los estándares ISO y extendió su uso. PERO, desde mi humilde punto de vista no se ha dirigido tan bien la representación robusta y el comportamiento de los objetos espaciales. LA ISO 19107:2003, el estándar de la Información Geográfica y modelos espaciales se encuentra bajo revisión, por lo que surge una oportunidad excelente para que la ISO TC211 considere estos aspectos.
Si realmente os interesa el tema (yo empecé a
echarle un
vistazo por accidente y me ha podido la curiosidad), a parte de los
links anteriores, echadle un vistazo a este documento
realmente 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 la igualdad y la validez.
La igualdad es una de las relaciones más básicas entre dos objetos espaciales, ¿es A igual a B? La tecnología de las bases de datos asumen la presencia de un test de igualdad bien definido y repetible, y múltiples algoritmos de indexación requieren la existencia de dicha igualdad. Por tanto sorprende saber que dicha igualdad es un aspecto complejo y no resuelto.
Existen tres tipos de igualdad, todas válidas y necesarias pero no todas preparadas para ser consideradas. La primera requiere una representación idéntica de los objetos espaciales; por ejemplo, dos polígonos son iguales si tienen el mismo número de vértices en las mismas posiciones exactamente, el punto de inicio es el mismo en ambos y los arcos interiores y exteriores están organizados de una manera similar. La segunda igualdad es menos restrictiva en requisitos, permitiendo que la representación pueda diferir en tanto en cuanto ambas definan exactamente el mismo conjunto de puntos. La tercera igualdad reconoce que la localización de los puntos pueda diferir y permite que exista cierta desviación en localización de todos los puntos, en función de la tolerancia. Esta es la forma que viene definida por la ISO y las especificaciones OGC, pero los detalles de tolerancia y su método de aplicación no aparecen explícitos en las especificaciones.
El segundo aspecto es la validez, que toma vigencia en el intercambio de datos de repositorios compartidos. Cualquier conjunto grande y complejo de representaciones de datos espaciales exportados desde un sistema probablemente contengan una o más construcciones geométricas que se detectarán como inválidas o rechazadas por otro sistema. Esto es porque no existe una definición consensuada de validez. Las especificaciones ISO y OGC definen conceptos tales como "esSimple", pero depende de los implementadores el decidir si la validez requiere simplicidad. Por ejemplo, una implementación de una base de datos (razonablemente) requiere que los límites de un polígono sean simples, si bien no interesa que una línea no lo sea tanto. En un mundo perfecto, se habrían definido bien tipos de datos espaciales abstractos. Esto implica, en primer lugar, un estándar que permita la representación e intercambio de datos tales que la igualdad y validez se preserve, y en segundo, un conjunto de funciones consistentes, como la unión y la intersección, y relaciones topológicas, tales como "conecta con", "incluido en" e "intersecta con" que de unos resultados predecibles en todas las plataformas.
Se plantean diferentes soluciones posibles; una solución podría ser mandar el informe exacto de almacenamiento que vaya a ser empleado; por ejemplo, una nube de puntos flotante de 8 bytes se podría requerir para todos los puntos con coordenadas y el uso de valores de tolerancia específica. Esto requeriría que los algoritmos empleados para evaluar todas las funciones se especificasen, en especial aquellos relacionados con con la igualdad y la validez. Pero esto todavía falla algo, puesto que el cálculo de algunas funciones puede causar redondeo, lo que puede afectar a las funciones posteriores, por lo que se necesitaría especificar la secuencia de las funciones aplicadas. Con esto sería posible asegurar la repetibilidad del resultado; pero requeriría no sólo la especificación de almacenamiento, sino también la tolerancia, algoritmos y orden de ejecución de las operaciones. Otra alternativa consistiría en evitar cualquier redondeo y no permitir ninguna tolerancia en la evaluación de las funciones. Esto se podría alcanzar mediante el uso de coordenadas homogéneas basadas en enteros. En vez de representar un punto (x,y) por un par de coordenadas (en 2D) en punto flotante, este método emplea un triplete de enteros (XYQ) y se interpreta que el punto se encuentra en la localización (X/Q, Y/Q). Esta representación permite que se puedan calcular todas las funciones "comunes" sin ningún error de redondeo, y es completamente riguroso y repetible.
La tercera alternativa consistirí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 un conjunto de "espacios medios". En contraposición a los métodos de coordenadas homogéneas, éstos se representan a nivel computacional como enteros de precisión finita. Esto requiere una aproximación cuando se cargan los datos. No obstante, después de esta fase, se pueden ejecutar todas las funciones típicas sin ningún redondeo. La evaluación requiere un cálculo de precisión más alta que la usual, pero los requerimientos de precisión son limitados. La representación resultado por politopos es una representación libre de fronteras: cualquier punto puede estás dentro o fuera de cualquier politopo dado. Esto podría ofrecer nuevas formas de representar los objetos espaciales con un mejor potencial para llevar a cabo pruebas de validez e igualdad, evitando problemas en el intercambio de los datos espaciales.
En fin, ya teneis un pasatiempo, para darle al coco este verano... ;-)






![Validate my RSS feed [Valid RSS]](/gb2/files/images/logos/valid-rss.png)

Recent comments
2 days 20 hours ago
6 days 17 hours ago
1 week 20 hours ago
1 week 2 days ago
1 week 2 days ago
1 week 2 days ago
1 week 2 days ago
1 week 2 days ago
3 weeks 19 hours ago
3 weeks 3 days ago