<div dir="ltr">
<div style="font-family:times new roman,new york,times,serif;font-size:12pt;color:rgb(0,0,0)"><div style="color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><div style="font-family:times new roman,new york,times,serif;font-size:12pt;color:rgb(0,0,0)"><div style="color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><div style="font-family:times new roman,new york,times,serif;font-size:12pt;color:rgb(0,0,0)"><div style="color:rgb(0,0,0);font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><div style="font-family:times new roman,new york,times,serif;font-size:12pt;color:rgb(0,0,0)"><div>
<span class="gmail-tlid-translation gmail-translation" lang="es">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. <br></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="es">La interacción con la comunidad fue genial, gracias a todos, GSoC, OSGeo y asociación gvSIG por confiar en mí. <br></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="es"><br></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="es">Les presento un resumen del informe final. Link: <a href="https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/9.-Final-Report">https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/9.-Final-Report</a></span>

<span class="gmail-tlid-translationtranslation"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN"></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black;background:rgb(253,253,253) none repeat scroll 0% 0%" lang="EN"></span><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black;background:rgb(253,253,253) none repeat scroll 0% 0%" lang="EN-GB"> </span></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"><span class="gmail-object"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT61_com_zimbra_url"></span></span></span>
<span class="gmail-tlid-translation gmail-translation" lang="es">1. Título. Nuevas reglas para el Framework de Topología en gvSIG Desktop <br></span></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><span class="gmail-tlid-translation gmail-translation" lang="es">2. Organización. Asociación OSGeo y gvSIG <br></span></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><span class="gmail-tlid-translation gmail-translation" lang="es">3. Resumen. <b>Automatizar las tareas y garantice la calidad de la información en lugar de perder nuestro tiempo haciendo lo que una máquina.</b> <br></span></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><span class="gmail-tlid-translation gmail-translation" lang="es">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.</span></p><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"></span><span style="color:black" lang="EN-GB"></span><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB">
<span class="gmail-tlid-translation gmail-translation" lang="es">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: </span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT62_com_zimbra_url"><a href="https://wiki.osgeo.org/wiki/New_rules_for_the_Topology_Framework_in_gvSIG_Desktop" target="_blank">https://wiki.osgeo.org/wiki/New_rules_for_the_Topology_Framework_in_gvSIG_Desktop</a></span></span><br></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB">5. Aporte de GSoC. </span></b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"></span></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"></span><b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB">5a. Motivación. <br></span></b></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"></span></b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"><span class="gmail-tlid-translation gmail-translation" lang="es">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.</span></span><br></p><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"><span class="gmail-tlid-translation gmail-translation" lang="es"></span></span><p style="margin:0px"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"><span class="gmail-tlid-translation gmail-translation" lang="es">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.</span>

</span></p><p style="margin:0px"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"><em><b><span style="font-family:&quot;Segoe UI&quot;"></span></b></em></span></p><p style="margin:0px"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"><em><b><span style="font-family:&quot;Segoe UI&quot;"><br></span></b></em></span></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB">5b. Trabajo realizado en GSoC 2020.</span></b></p><p style="margin:0px"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB">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. <br></span></p><p style="margin:0px"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB">Reglas desarrolladas en 2020:</span></p><ul style="margin-top:0cm"><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT63_com_zimbra_url"><a href="https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/3.-Must-be-covered-by-boundary-of" target="_blank"><span lang="EN-GB">Must be covered by boundary of.</span></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"></span></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT64_com_zimbra_url"><a href="https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/4.-Must-not-overlap-with-(Must-not-overlap-line)" target="_blank"><span lang="EN-GB">Must not overlap with (Must not overlap line).</span></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"></span></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT65_com_zimbra_url"><a href="https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/5.-Must-not-have-gaps" target="_blank">Must not have gaps.</a></span></span><br></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT66_com_zimbra_url"><a href="https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/6.-Must-be-inside-(line)" target="_blank">Must be inside (line).</a></span></span><br></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT67_com_zimbra_url"><a href="https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/7.--Must-not-intersect-(line)" target="_blank">Must not intersect (line).</a></span></span><br></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT68_com_zimbra_url"><a href="https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/8.-Topological-Rule:-Must-not-intersect-with-(line)" target="_blank"><span lang="EN-GB">Must not intersect with (line).</span></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"></span></li></ul><p style="margin:0px"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB">
<span class="gmail-tlid-translation gmail-translation" lang="es">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.<br>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. <br></span></span></p><p style="margin:0px"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"><span class="gmail-tlid-translation gmail-translation" lang="es">Un gran desafío fue la regla 
<span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"> </span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT69_com_zimbra_url"><a href="https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/5.-Must-not-have-gaps" target="_blank"><span lang="EN-GB">Must not have gaps</span></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB">,
 </span>

 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 &quot;difference&quot; no dan buenos resultados, esto dio lugar a las funciones &quot;checkGaps&quot; y &quot;findGaps&quot;. Dentro de esta última función, luego de aplicar &quot;
difference

&quot;, 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. <br></span></span></p><p style="margin:0px"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"><span class="gmail-tlid-translation gmail-translation" lang="es"></span></span></p></div><div><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB">  <br></span><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"><strong>7</strong>. Repositorios</span></b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:rgb(36,41,46)" lang="EN-GB">.  </span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"></span></p><br><ul style="margin-top:0cm"><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT75_com_zimbra_url"><a href="https://github.com/Maureque/TopologyRuleMustBeCoveredByBoundaryOfPoint" target="_blank"><strong><span style="font-family:&quot;Segoe UI&quot;;color:windowtext;text-decoration:none" lang="EN-GB">Must Be Covered By Boundary Of (point).</span></strong></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"></span></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT76_com_zimbra_url"><a href="https://github.com/Maureque/TopologyRuleMustNotOverlapWithLine" target="_blank"><strong><span style="font-family:&quot;Segoe UI&quot;;color:windowtext;text-decoration:none" lang="EN-GB">Must Not Overlap With (line).</span></strong></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"></span></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT77_com_zimbra_url"><a href="https://github.com/Maureque/TopologyRuleMustNotHaveGapsPolygon" target="_blank"><strong><span style="font-family:&quot;Segoe UI&quot;;color:windowtext;text-decoration:none" lang="EN-GB">Must Not Have Gaps (polygon).</span></strong></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"></span></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT78_com_zimbra_url"><a href="https://github.com/Maureque/TopologyRuleMustBeInsideLine" target="_blank"><strong><span style="font-family:&quot;Segoe UI&quot;;color:windowtext;text-decoration:none" lang="EN-GB">Must Be Inside (line).</span></strong></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"></span></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT79_com_zimbra_url"><a href="https://github.com/Maureque/TopologyRuleMustNotIntersectLine" target="_blank"><strong><span style="font-family:&quot;Segoe UI&quot;;color:windowtext;text-decoration:none" lang="EN-GB">Must Not Intersect (line).</span></strong></a></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;" lang="EN-GB"></span></li><li><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT80_com_zimbra_url"><a href="https://github.com/Maureque/TopologyRuleMustNotIntersectWithLine" target="_blank"><strong><span style="font-family:&quot;Segoe UI&quot;;color:windowtext;text-decoration:none" lang="EN-GB">Must not intersect with (line).</span></strong></a></span></span><br></li></ul><span class="gmail-object"><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:rgb(36,41,46)"><span class="gmail-Object" id="gmail-OBJ_PREFIX_DWT81_com_zimbra_url"><a href="https://github.com/Maureque/gvsig-gsoc2019-topology/#getting-started" target="_blank"><span style="color:rgb(3,102,214);text-decoration:none" lang="EN-GB"></span></a></span></span></span><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:black" lang="EN-GB"></span><p style="margin:0px;background:white none repeat scroll 0% 0%"><b><span style="font-size:10pt;font-family:&quot;Segoe UI&quot;;color:rgb(36,41,46)" lang="EN-GB"><strong>8</strong>. Futuro del proyecto.</span></b></p><p style="margin:0px;background:white none repeat scroll 0% 0%">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.</p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%"><br></p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%">Saludos cordiales,</p><p style="margin:0px;background:rgb(253,253,253) none repeat scroll 0% 0%">Mauro Carlevaro.</p><br></div></div></div></div></div></div></div></div></div>