8. DISEÑO DE LA APLICACIÓN
8.1. La base de datos de gisprop
8.1.2. Los datos de sincronización y ordenación
8.1.2.1.2. ORGN_DG_Puntos_Distancias
En este caso, la relación contiene las distancias entre los objetos cartográficos de tipo punto cuando dicha distancia es inferior a K metros. En nuestra aplicación, es necesario conocer por una disposición legal, cuántos puntos hay a una distancia inferior a 100 metros.
Los campos son:
IDPunto1: contiene el identificador de uno de los puntos.
IDPunto2: contiene el identificador del otro de los puntos a menos de 100 metros.
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
fecha_mod: campo que contiene la fecha de la recuperac ión en la que se han calculado las distancias.
8.1.2.1.3. ORGN_DG_Recintos_Malla
Esta relación mantiene la sincronización entre los objetos cartográficos de tipo recinto, permitiendo conocer además las modificaciones producidas en el tiempo.
Así mismo, permite calcular la asociación entre cada uno de los recintos y su malla asociada.
Los campos asociados a la relación son:
IDRecinto: contiene el identificador único del recinto en los datos de origen.
Huso: almacena el huso cartográfico en que está proyectado el recinto.
X: inicialmente, contiene la coordenada X mínima de todos los nodos que contiene el recinto. Al igual que con los puntos, si las coordenadas no están en 30, se transforman a dicho huso.
Y: inicialmente, contiene la coordenada Y mínima, si no está en huso 30, se proyecta a dicho huso.
Superficie: superficie en metros cuadrados del recinto. Como parte del proceso de carga se valida dicha superficie volviéndola a calcular.
SuperficieIslas: durante el proceso de verificación del recinto, se obtiene cuánta superficie tienen los recintos internos que se han generado y que se resta a la superficie del contorno.
78 Marcos Serradilla Diez
3. el IDRecinto de esta tabla existe, pero se ha modificado la fecha de modificación, por lo tanto, se debe modificar.
4. el IDRecinto de esta tabla existe y la fecha de modificación existe, por lo tanto, no hay que modificarlo.
8.1.2.1.4. ORGN_DG_Recintos_Colindancia
Para el caso de Recintos-Colindancia, lo que estamos almacenando son todas las relaciones entre recintos dos a dos que al menos son colindantes.
Esta relación dispone de los siguientes atributos:
IDRecinto1: Identificador del recinto con mayor superficie de los dos.
IDRecinto2: Identificador del recinto con menor superficie.
Colindante: Contiene un valor booleano. Indicará que ambos recintos son al menos vecinos.
Solape: Está representada por un valor booleano. Informa que se ha producido una variación de superficie durante el proceso de mezcla.
Coincidente: Contiene un valor booleano que permitirá reconocer un escenario en el que al menos el 80% de la superficie del recinto menor está solapada en el recinto mayor.
Duplicidad: Almacena un valor booleano que indica que el recinto menor está totalmente solapado con el recinto mayor.
CreaIsla: Campo de tipo booleano. Si al mezclar los dos recintos, la superficie total es significativamente superior a la inicial.
A partir de aquí se indica el vector de comparación final.
NRecintos: De tipo entero, contiene el número total de recintos obtenidos en el escenario final.
SuperficieTotal: Número de precisión real en el que se almacena la superficie en metros cuadrados y de todas las áreas del escenario final.
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
Superficie1: Contiene la superficie en metros cuadrados y almacenada en un número de precisión real. Se obtiene a partir del escenario final
Superficie2: Campo de tipo numérico de precisión real que contiene la superficie el recinto menor en metros cuadrados.
SuperficieIsla: Almacena un valor numérico de precisión real que contiene la superficie expresada en metros cuadrados. Representa la superficie sin etiqueta en el escenario resultante de dibujar los dos recintos juntos.
nodosSolapados: Campo de precisión real que expresa el porcentaje de nodos del recinto más pequeño que están solapados en el recinto mayor.
FECHA_MOD: campo que contiene la fecha de la recuperación en la que se han comparado los dos recintos.
8.2.LOS DATOS DE ORIGEN
Los datos de origen son suministrados periódicamente en una base de datos con formato ORGNAAAAMMDDSQL (ORGN20141001SQL) en la que se incluirán una copia de los datos de producción para los puntos y recintos cartografiados para el organismo.
En dicha base de datos, se incluyen las tablas para los puntos y recintos que se ha cartografiado en la aplicación de cartografía.
8.2.1. Puntos
80 Marcos Serradilla Diez
X: Valor numérico de precisión real que contiene el valor X de las coordenadas UTM asociadas al punto.
Y: Valor numérico de precisión real que contiene el valor Y de las coordenadas UTM asociadas al punto.
Huso: Valor numérico de tipo entero que contiene el huso cartográfico en el que está cartografiado el punto.
Fecha_Mod: Fecha de modificación del objeto por el usuario. 8.2.2. Recintos
En este caso, se almacena la información asociada a un recinto. Los datos que almacena esta relación es:
IDRecinto: Valor numérico de tipo entero no nulo y clave primaria de la relación.
Huso: Valor de tipo entero que contiene el huso cartográfico en el que está cartografiado el objeto cartográfico.
X1: Valor numérico de precisión real que contiene el valo r mínimo en X de todos los nodos que forman el recinto.
Y1: valor numérico de precisión real que contiene el valor mínimo en las coordenadas Y de todos los nodos que forman parte del recinto.
X2: Valor numérico de precisión real que contiene el valor máximo de todas las coordenadas X que forman el recinto.
Y2: Valor numérico de precisión real que contiene el valor máximo de todas las coordenadas Y que forman el recinto.
Superficie: Valor numérico de precisión real que contiene la superficie del recinto en metros cuadrados.
SuperficieIslas: valor numérico de precisión real que contiene la suma de superficies sin etiqueta dentro del recinto. Si el recinto no tiene islas, el valor de este campo es 0.
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
numeroIslas: valor numérico de tipo entero que contiene el número de recintos sin etiqueta. Si el recinto no tiene islas, el valor será 0.
Arcos: Campo de tipo CLOB que contiene en una cadena de texto los datos topológicos del recinto. Este campo contiene:
o Etiqueta: estructura compleja de tipo punto que contiene:
X: Coordenada UTM X del punto dentro del recinto que lo identifica.
Y: Coordenada UTM Y del punto dentro del recinto que lo identifica.
etiqueta: Campo de tipo texto que representará al recinto.
o Arcos: Lista de arcos que forman el recinto.
Arco: Contiene una lista de coordenadas X, Y para cada uno de los nodos que forman el arco.
Ej.{"etiqueta":"Mayor","arcos":[[{"x":8113.1,"y":8113.2},{"x":8113.5,"y":8114. 2},{"x":8114,"y":8113.2}],[{"x":8114,"y":8113.2},{"x":8113.5,"y":8112.2},{"x" :8113.1,"y":8113.2}]]}
Fecha_mod: Fecha de modificación del objeto.
8.3.GISPROP
GISProp es una herramienta que calcula posibles problemas topológicos entre objetos cartográficos dos a dos. Para poder realizar el proceso para cada organismo, se realiza una revisión incremental de los datos cada una de ellas, por lo tanto, antes de comenzar a realizar la validación, se realizarán las eliminaciones de los datos actualizados o borrados desde la última
82 Marcos Serradilla Diez
b. Para cada objeto cartográfico en la malla se valida con los elementos que estén a su oeste y al norte de su posición dentro de su área de influencia.
i. Si el objeto puede afectar a objetos de otras celdas, se compara con los objetos de las celdas adyacentes.
Por otro lado, en el caso de comparar recintos, los pasos para validar si son Colindantes, Solapados, Coincidentes o Duplicados son:
Si los dos recintos son iguales (todos sus nodos coinciden) son recintos Colindantes, Solapados, Coincidentes y Duplicados.
Si hay algún nodo del recinto con menor área incluido en el recinto más grande o la distancia entre los nodos de ambos recintos es inferior a 5 metros son Colindantes.
o Con los datos de los dos recintos, se genera un escenario idílico en el que no hay solapes. Ej.:
Recinto1: MAYOR = 5.000.000 m2, sin islas
Recinto2: MENOR = 3.000.000 m2, sin islas
Vector Inicial: { 8.000.000 m2, 5.000.000 m2, 3.000.000 m2, 0 m2}
o Se representan los dos recintos juntos en el GIS y se extrae el área total del escenario, el área de cada recinto, y el área de recintos sin etiqueta. Con esta información, se forma el vector del escenario real. Ej.:
Recinto1: MAYOR = 4.000.000 m2.
Recinto2: MENOR = 2.000.000 m2.
Vector Final: { 6.000.000 m2, 4.000.000 m2, 2.000.000 m2, 1.000.000 m2}
o Se comprueba si es un Solape comparando el escenario idílico con el escenario real.
En nuestro caso, es un solape entre dos recintos.
o En caso de ser Solape, se valida si es Coincidencia comparando el escenario idílico con el escenario real.
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
En este caso, no es una coincidencia entre los dos recintos.
o Si es Solape, se valida si el escenario real tiene más superficie que el escenario idílico para detectar si se crea una isla entre los dos recintos.
La detección de un solape o una coincidencia, se realiza en los siguientes pasos:
Se comprueba si es un escenario reconocido por el árbol de decisión.
Si no, se comprueba si es un escenario detectado y suficiente mente refrendado.
Si no, se pregunta al experto para que identifique el escenario.
Para el caso de GISProp, el Sistema Experto es una herramienta basada en una red bayesiana, es decir, utiliza técnicas probabilísticas para inferir si un escenario es un Solape o una Coincidencia.
Dicho sistema experto, trabaja gracias a una base de conocimiento en la que se almacenan los casos conocidos por el sistema y con dichos datos y métodos probabilísticos infiere si con las características aportadas, un determinado escenario es o no Solape o Coincidencia.
8.3.1. Interfaz de usuario
El proceso de revisión de un organismo comienza con la recepción de los datos completos del mismo y la validación de su disponibilidad.
Posteriormente, se procede a crear la base de datos para el organismo que reconoce la aplicación en el servidor SQL Server donde se realizan todos los procesos.
84 Marcos Serradilla Diez Una vez seleccionada una de las bases de datos, permitirá calcular:
Distancias entre puntos inferior a X metros.
Incidencias topológicas entre recintos.
Verificación del resultado de la topología de recintos.
Cuando se selecciona calcular las incidencias topológicas entre recintos, comienza el proceso y la herramienta procede a calcular la superficie de los recintos para obtener la superficie de los recintos para obtener la superficie de islas creadas por cada recinto y el número de estas.
Al finalizar el proceso, se comparan dos a dos los recintos colindantes o la distancia entre puntos. La ventana muestra la evolución con dos barras de progreso:
1. La barra superior de las celdas calculadas frente a las celdas totales.
2. La barra inferior muestra la evolución de los objetos cartográficos procesados frente a los objetos cartográficos totales.
Si durante el proceso de localización de incidencias topológicas entre recintos, se localiza un posible Solape o Coincidencia que no se conozca suficientemente, se preguntará al experto sobre el escenario.
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
El Entrenador podrá preguntar sobre un solape:
Junto con esto, la herramienta muestra gráficamente el escenario para que el usuario decida si lo que se muestra es un solape o no.
86 Marcos Serradilla Diez
Además de esta pantalla, la herramienta muestra gráficamente el escenario para que el experto pueda identificar si es una coincidencia.
Según aumenta el conocimiento de la herramienta, deja de preguntar por algunos casos que los da ya como aprendidos.
8.3.2. Verificar Recintos
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
Cuando se procedía a la revisión de los recintos afectados, es posible que no se produzcan incidencias entre el cartógrafo que corrige el problema. Para poder localizar eficientemente los datos, se ha desarrollado la opción
Una vez seleccionada la base de datos, se procede a mostrar todas las colindancias detectadas durante el proceso y se permite buscar en todas ellas filtrando por una etiqueta, recinto o el tipo de incidencia que se está intentando corregir.
88 Marcos Serradilla Diez
8.4.DISEÑO DE GISPROP
GISProp es una aplicación desarrollada con Visual Studio 2005 en el lenguaje de programac ión C# en su especificación 2.0.
En este caso, se ha optado por utilizar los recursos, además de para incluir los mensajes que aparecen en pantalla, para las consultas y procedimientos almacenados a los que se llama cuando se utiliza la base de datos.
Así mismo, se han incluido varias interfaces que simulan la utilización de una herramienta Gis que realice las operaciones de rende rizado mezcla de elementos geográficos y conversión entre el tipo indicado en el Gis y el tipo que maneja la aplicación.
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
Estas son necesarias porque no se disponen los permisos y licencias adecuadas para exponer el api de este GIS y por lo tanto se han indicado las operaciones genéricas a realizar de esta forma.
En otro orden de cosas, las operaciones de comparación imponen disponer de un mecanismo de ordenación que nos permita colocar en un espacio unidimensional un conjunto de datos que tienen dos dimensiones.
Esto se consigue gracias a la clase Orden que genera una clave Hash que permite ordenar las celdas de la malla y los puntos, recintos y arcos gracias al rectángulo de mínima envoltura (Cuadro).
En otro orden de cosas, la clase ConversiónUTM no está implementada por ser una implementación no exportable, pero debería implementar lo indicado en [dw 18].
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
9.
CONCLUSIONES
Esta aplicación tuvo un período de explotación de 24-36 meses, en los cuales, una vez al mes se procesaban todos los puntos y recintos insertados/modificados/borrados en todo el conjunto de datos.
Como para cada comparación requiere dibujar en el GIS cada uno de los recintos, la aplicación se enlentece muchísimo, una posible mejora sería que en vez de utilizar un GIS para dibujar y extraer los datos de los recintos, sería posible crear las herramientas necesarias para que se realice las operaciones que permitan recuperar la información y mezclar los recintos y solo se muestre en el GIS el escenario para que el entrenador decida.
Para la primera tanda, se tardó varios meses hasta que se quedó completamente establecido el árbol de decisión y mejorados las herramientas de revisión de los escenarios. Una vez finalizado ese período, se podían validar todos los elementos cartográficos en el espacio de una semana aproximadamente.
Por otro lado, indicar que el test de colindancia y duplicidad no requieren el uso del motor de inferencia y si hay algún caso no detectado, durante el tiempo de explotación no se detectó ninguno.
A su vez, para el caso del test de Solapamiento de recintos, no se notificó ningún caso erróneo achacable al árbol de decisión. Por otro lado, para el motor de inferencia, se seguía entrenando con más casos, pero teniendo en cuenta los errores que cometía el reconocedor cuando indica en el formulario de “Entrenamiento”, se ha construido la siguiente gráfica:
92 Marcos Serradilla Diez
Como se puede observar, la tasa de acierto para el reconocedor de tipo Solape es superior al 99% que demuestra que el reconocedor el altamente efectivo.
1 46 202 444 203 490 0 100 200 300 400 500 600 Solapes Coincidencias
Escenarios revisados
Desaciertos Aciertos Votaciones 84,00% 86,00% 88,00% 90,00% 92,00% 94,00% 96,00% 98,00% 100,00% Solapes Coincidencias %Error 0,49% 9,39% %Aciertos 99,51% 90,61%Porcentaje de acierto en revisión
%Error %Aciertos
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
Por otro lado, la tasa de acierto para el reconocedor de tipo Coincidencia es superior al 90%, más baja que la de un solape, pero aun así, tiene una tasa de acierto muy elevada.
En otro orden de cosas, para el caso del test de Coincidencia entre recintos, no se detectó, ni se notificó ningún caso en el que el árbol de decisión o el reconocedor fallasen. Como en el caso de los Solapes, se ha procedido a evaluar el grado de acierto con lo que indicaba el reconocedor en el formulario de “Entrenamiento” que se muestra en las gráficas anteriores.
Si se tienen en cuenta todos los escenarios que se evalúan de forma autónoma por haber suficiente información en la base de conocimiento, seguramente el porcentaje de acierto es mucho mayor en ambos casos.
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera
Detección de solapes en capas vectoriales - GISProp
BIBLIOGRAFÍA
LibrosArtículos
[ar 1] “Spatial Data Mining: Progress and Challenges Survey Paper” Krzysztof Koperski, Judas Adhikary y Jiawei Han.http://cimic.rutgers.edu/~adam/mmis03/MMIS/koperski96spatial.pdf
[ar 2] “Clustering Algorithms for Spatial Databases: A Survey” Erica Kolatch.
http://www.cs.umd.edu/~kolatch/papers/SpatialClustering.pdf
Direcciones Web.
[dw 1] Instituto Geográfico Nacional (2015). Sistemas de Información Geográfica. Recuperado
el 5 de abril de 2015 de
http://www.ign.es/ign/layoutIn/actividadesSistemaInfoGeografica.do
[dw 2] ESRI (2011). GIS Dictionary: GIS. Recuperado el 4 de diciembre de 2011 de
http://support.esri.com/en/knowledgebase/GISDictionary/term/GIS
[dw 3] Sociedad Geográfica Española (2015). La gran aventura de los navegantes fenicios. Recuperado el 5 de abril de 2015 de http://www.sge.org/sociedad-geografica- espanola/publicaciones/boletines/numeros-publicados/boletin-no-23/la-gran-aventura- de-los-navegantes-fenicios.html
96 Marcos Serradilla Diez
[dw 7] ESRI (2011). ESRI España: ArcGIS. Recuperado el 4 de diciembre de 2011 de
http://www.esri.es/es/productos/arcgis
[dw 8] Confederación de Empresarios de Andalucía y Jungta de Andalucía (2011). Sistemas de Información Geográfica, tipos y aplicaciones empresariales: GvSIG. Recuperado el 4 de diciembre de 2011 de http://sig.cea.es/gvsig
[dw 9] Kosmo “La plataforma SIG - Libre Corporativa” (2011). Bienvenidos a Kosmo. Recuperado el 4 de diciembre de 2011 de http://www.opengis.es/
[dw 10] Oracle (2011). Oracle Spatial y Oracle Locator. Recuperado el 4 de diciembre de 2011 de http://www.oracle.com/es/products/database/options/spatial/index.html
[dw 11] PostGis (2011). What is PostGis?. Recuperado el 4 de diciembre de 2011 de
http://postgis.refractions.net/
[dw 12] Microsoft (2011). SQL Server 2014. Recuperado el 4 de diciembre de 2011 de
http://www.microsoft.com/es-es/sqlserver/default.aspx
[dw 13] PNOA “Plan Nacional de Ortofotografía Aérea” (2011). Presentación y objetivo. Recuperado el 4 de diciembre de 2011 de http://pnoa.ign.es/
[dw 14] Marta Macho Stadler (Febrero de 2002). ¿Qué es topología?. Recuperado el 18 de mayo de 2015 de http://www.ehu.eus/~mtwmastm/sigma20.pdf
[dw 15] Ciberconta (2015). Sistema expert: definición y componentes. Recuperado el 18 de mayo de 2015 de http://ciberconta.unizar.es/LECCION/sistexpat/100.HTM
[dw 16] Institiuto Geográfico Nacional Argentino (2015). Introducción. Recuperado el 18 de
mayo de 2015 de
Universidad Politécnica de Madrid Escuela Universitaria de Informática
Trabajo Fin de Carrera