Querida comunidad, llegamos al final de GSoC 2020. Este fue mi segundo año
en GSoC y ha sido una experiencia increíble. Estoy muy orgulloso de ser
parte de este proyecto, quiero agradecer a toda la comunidad, a los
mentores Carlos Colombana y Óscar Martinez. El año pasado aprendí mucho y
este año con Carlos como mentor principal también fue una gran experiencia
también. Las charlas con Carlos han sido muy enriquecedoras, gracias por
compartir tus conocimientos tan abiertamente.
La interacción con la comunidad fue genial, gracias a todos, GSoC, OSGeo y
asociación gvSIG por confiar en mí.

Les presento un resumen del informe final. Link:
https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/9.-Final-Report



1. Título. Nuevas reglas para el Framework de Topología en gvSIG Desktop

2. Organización. Asociación OSGeo y gvSIG

3. Resumen. *Automatizar las tareas y garantice la calidad de la
información en lugar de perder nuestro tiempo haciendo lo que una máquina.*

Se ha añadido una caja de herramientas de topología a gvSIG Desktop, esta
herramienta proporciona un grupo de reglas de integridad que validan la
relación de geometrías con los datos. Se puede crear un nuevo modelo de
datos de topología para cada proyecto. Esta caja de herramientas
proporciona un conjunto de herramientas para navegar, buscar y corregir
errores de validación diferentes de cada regla de topología. Hay un
conjunto de reglas de topología implementadas, la mayoría de ellas en GSoC
2019. Este proyecto analizará, implementará y optimizará un nuevo conjunto
de reglas que se incorporarán a este marco.

4. Estado del proyecto antes de GSoC 2020. Inicialmente, se tenían
implementadas pocas reglas de topología, la mayoría de ellas pendientes de
desarrollo. En GSoC 2019 se agregaron varias reglas que brindan una base
importante al marco. Estas reglas verifican y validan la relación entre
geometrías y datos. Link al proyecto realizado en Google Summer of Code
2019:
https://wiki.osgeo.org/wiki/New_rules_for_the_Topology_Framework_in_gvSIG_Desktop

*5. Aporte de GSoC. *


*5a. Motivación. *

Después de participar en GSoC 2019, la principal motivación fue volver a
trabajar en un contexto en el que es posible trabajar y aprender mucho al
mismo tiempo. Además de continuar con lo iniciado en 2019 para lograr una
solución más robusta no solo en la cantidad de reglas sino también en la
calidad de la solución que brinda cada regla.

Además poder trabajar de esta manera es muy motivador, sin duda hay mucho
por mejorar pero me alegra compartir lo que logramos junto a los mentores y
la comunidad de desarrolladores, finalmente otro aspecto que me motiva es
el hecho de que otro alumno de OSGeo y gvSIG ha tomado como referencia la
propuesta, documentación y desarrollo realizado en 2019 como base para el
desarrollo de su proyecto, sin duda esto me anima a seguir mejorando la
calidad del trabajo desarrollado y que otros puedan utilizarlo y facilitar
su trabajo. Creo que esto y la interacción con la comunidad es el espíritu
principal de GSoC.


*5b. Trabajo realizado en GSoC 2020.*

Se mejoró el conjunto de reglas de topología para la validación y
corrección de conjuntos de datos vectoriales y se ampliaron las acciones
implementadas por las reglas.

Reglas desarrolladas en 2020:

   - Must be covered by boundary of.
   
<https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/3.-Must-be-covered-by-boundary-of>
   - Must not overlap with (Must not overlap line).
   
<https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/4.-Must-not-overlap-with-(Must-not-overlap-line)>
   - Must not have gaps.
   
<https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/5.-Must-not-have-gaps>
   - Must be inside (line).
   
<https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/6.-Must-be-inside-(line)>
   - Must not intersect (line).
   
<https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/7.--Must-not-intersect-(line)>
   - Must not intersect with (line).
   
<https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/8.-Topological-Rule:-Must-not-intersect-with-(line)>

La solución que presenta la normativa con las nuevas acciones
desarrolladas, las Mark Actions marcan los errores y presenta la geometría.
Con estas acciones, las reglas no solo conducen a dónde está el error, sino
que también proporcionan la geometría.
En resumen, estas nuevas implementaciones ayudan visualmente a identificar
errores, y se brinda geometría, lo que permite agilizar el proceso en la
corrección y edición de errores.

Un gran desafío fue la regla  Must not have gaps
<https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/5.-Must-not-have-gaps>,
aquí fue necesario hacer una solución para acceder el número de líneas en
el informe, ya que todavía no tenemos forma de generar una capa de errores
de salida a través del marco de topología. Entonces, la solución fue pasar
por los componentes de la interfaz gráfica de gvSIG hasta llegar al jtable
y luego crear una capa directamente a la vista y cargar la geometría en
ella, en esta regla la solución que se alcance dependerá de la criterios
utilizados por el usuario en función de la tolerancia que determine, según
la tolerancia definida será el resultado obtenido. Aquí la tolerancia tiene
que ser mayor que la distancia entre los polígonos para que se detecte el
hueco. Además, fue necesario implementar dos funciones accesorias para
obtener una solución satisfactoria, ya que para, detectar los huecos al
aplicar el método de "difference" no dan buenos resultados, esto dio lugar
a las funciones "checkGaps" y "findGaps". Dentro de esta última función,
luego de aplicar " difference ", se desarrolló una limpieza específica para
esta regla. A pesar de todo el progreso realizado, aún se necesita dedicar
más tiempo a probar las reglas.



*7. Repositorios*.


   - *Must Be Covered By Boundary Of (point).*
   <https://github.com/Maureque/TopologyRuleMustBeCoveredByBoundaryOfPoint>
   - *Must Not Overlap With (line).*
   <https://github.com/Maureque/TopologyRuleMustNotOverlapWithLine>
   - *Must Not Have Gaps (polygon).*
   <https://github.com/Maureque/TopologyRuleMustNotHaveGapsPolygon>
   - *Must Be Inside (line).*
   <https://github.com/Maureque/TopologyRuleMustBeInsideLine>
   - *Must Not Intersect (line).*
   <https://github.com/Maureque/TopologyRuleMustNotIntersectLine>
   - *Must not intersect with (line).*
   <https://github.com/Maureque/TopologyRuleMustNotIntersectWithLine>

<https://github.com/Maureque/gvsig-gsoc2019-topology/#getting-started>

*8. Futuro del proyecto.*

Algunas posibles mejoras a futuro pueden ser, realizar análisis 3D,
continuar testeando, implementar más acciones, desarrolar más reglas,
continuar mejorando la documentación y extender la interacción que provee
el marco de topología, para que con esto permita que algunas de las
funciones que se tuvieron que realizar por fuera de marco recorriendo la
vista de gvSIG se faciliten con la interacción con el marco de topología.


Saludos cordiales,

Mauro Carlevaro.
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores@listserv.gva.es
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección: 
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores

Responder a