Proyecto GSOC 2020: Nuevas reglas para el Marco de Topología de gvSIG Desktop (1)

Tal y como se describe en el post de 04/11/2019 titulado Proyecto GSoC 2019: Nuevas reglas para el Marco de Topología (1) en sus primeros párrafos, existe una necesidad de automatizar procesos iterativos o rutinarios con el fin de centrar toda la capacidad del ser humano en la creación y diseño de nuevas fórmulas de trabajo. En otras palabras, dejar el trabajo tedioso a las máquinas y el desarrollo de nuevas soluciones al ser humano.

El proyecto titulado “Nuevas reglas para el Marco de Topología de gvSIG Desktop” realizado durante el programa Google Summer of Code 2020 mediante la organización OSGeo (Open Source Geospatial Foundation) y la Asociación gvSIG no es más que un ejemplo de lo descrito en el párrafo anterior. Una forma de encauzar a las personas en la creación de estrategias, resolución de estas y análisis de resultados de tipo topológico, dejando el trabajo repetitivo a los computadores.

Dicho proyecto al igual que el elaborado con el mismo título durante el GSOC 2019 consiste en la creación de nuevas reglas topológicas y elementos asociados, haciendo así más rico el ecosistema de topología del software. Además, también corrige y mejora algunas de las ya existentes mejorando ya no solo la cantidad sino también la calidad.

Las reglas topológicas tratadas durante dicho proyecto son:

  • Debe estar correctamente dentro (Must be properly inside). Esta es una regla topología cuyo primer dataset es de tipo punto, el cual se evalúa frente a un segundo dataset de tipo polígono. Los puntos cumplirán la regla si estos se encuentran en el interior de los polígonos, no en el exterior o en el borde de estos. Los puntos que no cumplan la regla serán reportados mediante entrada en el reporte de errores.
  • Contiene puntos (Contains Point). Esta regla topológica tiene como capa primaria una capa de polígonos, mientras que la capa secundaria es de puntos. En esta regla se evalúa si los polígonos tienen en su interior puntos, no en su exterior o extremos. Un polígono cumple la regla si en su interior se situa al menos un punto. Los polígonos que no cumplan la regla serán reportados mediante entrada en el reporte de errores.
  • Contiene un punto (Contains one point). Dicha regla topológica utiliza como dataset primario una capa de polígonos y como dataset secundario una capa de puntos. La regla presenta gran similitud con la anterior con la diferencia que solo los polígonos con un punto en su interior harán cierta la regla. Al igual que la anterior el punto tiene que estar en su interior, no en el exterior o extremo de los polígonos. Los polígonos que no cumplan la regla serán reportados mediante entrada en el reporte de errores.
  • Deben cubrirse unos a otros (Must Cover Each Other). Esta regla topología trabaja con dos capas de polígonos. De modo que todos los polígonos de una capa tienen que cubrirse por los polígonos de la restante y viceversa. En el caso que una capa presente polígonos o secciones de polígonos no cubiertos, estos elementos serán reportados en el reporte de errores.
  • UDR (User Defined Rule). Una regla topológica experimental atípica que permite al usuario especificar la expresión condicional de la regla, así como acción de corrección a aplicar en los casos que no la cumplan. De modo que, conociendo la expresión necesaria, esta regla puede implementar todas las reglas ya existentes o no en el software. Hay que especificar que tanto las expresiones condicionales como las que indican la acción de corrección se realizan con el lenguaje propio de gvSIG llamado COSA. Además de la codificación inherente a la creación de la regla en cuestión fue necesario crear nuevas funcionalidades y opciones en el motor topológico de gvSIG Desktop que entre otras cosas permite añadir parámetros auxiliares a las reglas topológicas, abriéndose así nuevas posibilidades en futuros desarrollos.

Paralelo al desarrollo de las reglas en el proyecto en cuestión se implementan varias acciones correctoras, las cuales tratan las geometrías incluidas en el reporte de errores. Aclarar que cada regla topología presenta un tipo de acción correctora adaptada para la regla en cuestión.

Las acciones correctoras desarrolladas en el proyecto son:

  • Eliminar (Delete). Esta acción correctora como su propio nombre indica elimina la geometría o elemento calificado como error. La acción correctora eliminar es común a todas las reglas topológicas en el Proyecto GSoC 2020: Nuevas reglas para el Marco de Topología (1).
  • Crear elemento (Create feature). La acción en cuestión crea un elemento o elementos en los casos que la geometría que presenta el error sea errónea por falta de estos. Dicha acción se utiliza en las reglas topológicas Contiene puntos (Contains Point), Contiene un punto (Contains one point) y Deben cubrirse unos a otros (Must Cover Each Other).
  • Acción correctiva definida por el usuario (User corrective expresión). Esta acción correctiva es peculiar ya que puede ser cualquiera, siempre que el usuario la defina de manera correcta mediante el lenguaje de creación de expresiones propio de gvSIG. Como es lógico esta acción solo esta implementado en la regla UDR (User Defined Rule).

Como componentes finales para las reglas topológicas del proyecto se genera documentación de dichas reglas y acciones así como un plan de pruebas constituido por números casos de prueba que permitan garantizar el correcto funcionamiento de las reglas desarrolladas. El proceso de creación de planes de prueba se abordará en una de las siguientes entradas del gvSIG blog.

En conclusión, como resultado del Proyecto GSoC 2020: Nuevas reglas para el Marco de Topología (1) el marco de topología de gvSIG Desktop aumenta su número de reglas así como la calidad de estas haciendo cada día más un software más competitivo y lo que es más importante, útil para la comunidad.

Referencias:

Wiki con toda la información del proyecto anterior en idioma inglés. (Proyecto elaborado por José Olivas Carriquí).

Este año también se ha llevado a cabo un proyecto con igual nombre y temática realizado por Mauro Carlevaro el cual se detalla en próximos posts.

Artículo escrito por: José Olivas Carriquí

This entry was posted in gvSIG Desktop. Bookmark the permalink.

1 Response to Proyecto GSOC 2020: Nuevas reglas para el Marco de Topología de gvSIG Desktop (1)

  1. Ah, dejé comentario en la nota de 2019.
    básicamente dejé el enfoque que usé para ese problema en R
    https://saltosconvergentes.wordpress.com/2019/04/17/adentro-o-afuera/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s