Skip to content

8. Reporte Final

Mauro Carlevaro edited this page Sep 15, 2019 · 19 revisions

Nuevas reglas para el Marco de Topología en gvSIG Desktop.

Estudiante: Mauro Carlevaro.

Mentores: Óscar Martínez, Mario Carrera Rodriguez, Alfred de Jager and Francisco Peñarrubia.

Comunidad: GSoC, OSGeo, gvSIG Association.

Agradecimientos.

Antes de empezar con los detalles del proyecto me gustaría agradecer a todos los que han contribuido para que pueda lograr hacer un exitoso proyecto.

Quiero agradecer a toda la comunidad de GSoC, OSGeo, and gvSIG, a los tutores Mario Carrera Rodriguez, Alfred de Jager, and Francisco Peñarrubia, especialmente a Óscar Martinez y Joaquin del Cerro quienes aportaron ahondando en detalle con profundas explicaciones técnicas, las cuales, me fueron de mucha utilidad. A todos muchas gracias por acompañarme a lo largo del proyecto, permitirme trabajar con libertad y administrarme el tiempo, esta libertad y confianza que me dieron fue muy importante para poder rendir más.

También tengo que agradecerle a Carlos Colombana quien me hizo conocer el programa de GSoC y años antes, siendo compañeros de facultad, me dio a conocer las potencialidades del scripting en gvSIG, quien a pesar de ser un exitoso profesional siempre tiene las puertas abiertas para poder realizarle consultas y para escuchar nuevas ideas.

Y a mi Familia sin quienes nada es posible y siempre me acompañan.

Estoy muy orgulloso de ser parte de GSoC 2019, para mi, ser parte de este proyecto ha sido una de las mejores experiencias laborales que he tenido, tanto desde el punto de vista profesional, como por la libertad con la cual trabaje y la interacción con la comunidad, disfrute trabajando y además aprendí mucho.

Trabajar así es genial, gracias a todos!!!!

Resumen.

Antes de empezar el proyecto había pocas reglas implementadas, la mayoría de ellas pendiente de desarrollo. Con el proyecto se logró implementar un nuevo conjunto de reglas de topología para la validación y corrección de conjuntos de datos vectoriales, que mejoran y amplían las características de las herramientas existentes previamente.

Actualmente, esta herramienta provee un conjunto de reglas de integridad que verifican y validan la relación de geometrías y datos. Se proporciona un nuevo conjunto de herramientas para navegar, buscar y corregir errores de validación para cada regla de topología. Con lo logrado la herramienta analiza, implementa y optimiza un nuevo conjunto de reglas que se incorporan al Marco de topología. Estas herramientas fueron creadas usando Jython a través de la herramienta de creación de scripts de gvSIG.

A futuro, con el fin de continuar desarrollando el proyecto, algunas de las posibles mejoras podrían ser: implementar más acciones y desarrollar nuevas reglas.

Tabla de Contenidos

Wiki.

Estado del proyecto antes de GSoC.

Al empezar el proyecto habían pocas reglas implementadas, la mayoría de ellas pendiente de desarrollo.

Valor del proyecto realizado en GSoC.

Trabajo realizado en GSoC 2019.

El trabajo consistió en realizar e integrar al marco de topología en gvSIG Desktop las siguientes reglas: Debe coincidir con, Debe estar cubierto por el extremo de, El punto debe estar cubierto por la línea, Debe estar incluida correctamente dentro de los polígonos, Contiene el punto y hacer la documentación asociada a lo desarrollado.

Estado del proyecto.

Se completaron todas las reglas, están en funcionamiento y fueron integradas con el marco de topología.

Actualmente, el marco de topología cuenta con un importante conjunto de reglas implementadas. La lógica que resuelve cada regla evita tener que hacer el análisis, corrección de capas y entidades manualmente. Esta implementación automatiza tareas, permitiendo al usuario enfocarse en las reglas de negocio, dejando de lado las tareas repetitivas y optimizando el uso del tiempo.

Estado de las reglas.

Todas las reglas fueron probadas, funcionan correctamente y tienen implementado control de errores, por lo tanto, a menos que se cambie alguna regla de negocio o se encuentre un error, las reglas están completas. Se evaluó el tipo de geometría, si tienen geometría simple o multiparte, si es de tipo D2 o D2m o 3D, si es de tipo 3D se despliega: "Unsupported geometry subtype" (la geometría no es soportada). También se controla si se utiliza algún tipo de geometría no estándar, que herede de un tipo estándar. En este caso se controla con geometryType1.isTypeOf() en lugar de geometryType1.getType(). Por ejmplo, sin esta consideración la regla "Contiene punto" no funcionaría.

Aporte realizado por el proyecto.

Se implementa un nuevo conjunto de reglas de topología para la validación y corrección de conjuntos de datos vectoriales, que mejoran y amplían las características de las herramientas existentes previamente.

Motivación.

Inicialmente la motivación pasaba por el crecimiento profesional que brinda el proyecto y los desafíos del proyecto, de trabajar en un proyecto que permite la automatización tareas, optimizando el uso del tiempo. Además de esto en el desarrollo del proyecto se sumo la motivación que aporto trabajar con profesionales de distintos países y la constante interacción con la comunidad aportando distintos puntos de vista. Esto fue crucial para el éxito del proyecto.

Desafíos.

A medida que el proyecto fue avanzando crecían los desafíos. Primero, era lograr realizar la lógica que resuelven las reglas, luego implementar la integración con el marco de topología y resolver los problemas específicos que presentaba cada regla. Al final, fue posible entender en profundidad la lógica que interactúa entre las reglas y el marco de topología, tanto para cuando se trabaja con índices espaciales como cuando no se tiene índices. En el desarrollo del proyecto, se agregaron nuevas tareas a solucionar por cada regla y los algoritmos tuvieron que estudiarse con mayor profundidad, además, el marco de topología y la documentación relacionada cambiaron durante el proyecto, por lo que la documentación del proyecto llevó más tiempo del esperado. En consecuencia, en relación con la propuesta inicial algunas reglas tuvieron que ser eliminadas para poder cumplir con un trabajo de calidad y en tiempo.

Informe semana final (Agosto 19 - Agosto 26).

Periodo.

  • Agosto 19 (comienzo) a Agosto 26 (fin)

Informe.

  • ¿Qué pude completar esta semana?

  • ¿Qué voy a lograr para la próxima semana?

    • Mantenerme en contacto con la comunidad.
  • ¿Hay algún problema de bloqueo?

    No, no hay ningún problema de bloqueo. El proyecto se pudo completar.

Paquetes de Instalación.

En esta sección se provee un enlace directo a los paquetes de instalación.

Imagen de la regla

Imagen de la regla

Imagen de la regla

Imagen de la regla

Imagen de la regla

Repositorios.

Repositorio propio.

Repositorio propio en el cual trabaje.

Repositorio de la Asociación gvSIG.

Repositorio Asociación gvSIG donde están todas las reglas implementadas.

Repositorios en donde se realizaron los pull requests.

Repositorio a los cuales se hizó el correspondiente pull request, desde los repositorios propios a los de la asociación.

Entregables.

Se implementa un nuevo conjunto de reglas de topología para la validación y corrección de conjuntos de datos vectoriales, que mejoran y amplían las características de las herramientas existentes previamente.

Usando el Marco de Topología.

A continuación se detallan los pasos a seguir para probar lo desarrollado.

Cómo trabaja el Marco de Topología.

El siguiente video muestra la interface de trabajo y como funciona el marco de topología:VIDEO

Video publicado en blog gvSIG, link: https://blog.gvsig.org/2019/02/12/towards-gvsig-2-5-topology/

Manual de despliegue y Primeros pasos.

Los pasos de cómo realizar el proceso de instalación están detallados en el documento: Reglas Topológicas para gvSIG Desktop: Guía de Desarrollo

También hay información de cómo empezar, pre requisitos, instalación y tutoriales en Nuevas reglas para el marco de topología en gvSIG Desktop

Futuro del Proyecto.

Con el fin de continuar desarrollando el proyecto a futuro, algunas de las posibles mejoras pueden ser: realizar análisis para geometrías 3D, implementar más acciones y nuevas reglas.

Clone this wiki locally