GSOC 2020 Project: New rules for the Topology Framework in gvSIG Desktop (2)

Do repetitive tasks that do not add value, do not encourage us to grow, wear us out, they seem to be tasks that are not proper for creative people with a reflective critical attitude. So, automate tasks and ensure the quality of our activities or spend our time doing what a machine?


Answering this question is what motivate me to participate in the project New Rules for the Topology Framework in gvSIG desktop, which was developed within the GSoC program in conjunction with the OSGeo organization and the gvSIG Association.


The objective is to develop a set of tools that allow the treatment of topological errors, by automating the tasks of geometry comparison through integrity rules that verify and validate the relationship of geometries with the data.


As we progressed, it was necessary to correct errors, develop improvements, generate new rules and actions. The automation was carried out through the scripting technique, an algorithm is developed that provides a solution to the logic defined by the rule, allowing save time and for the user to focus on the logic to be solved while the algorithm is in charge of the analysis and data evaluation.

The most challenging part was the research required by the project and at the same time progressing according to plan and meeting the required quality.

One of these challenges was the Must not have gaps rule, in which it was necessary to develop accessory functions that would allow a process to be carried out according to what is established in the rule and at the same time efficient, for this, a personalized method had to be made for cleaning errors, which eliminates inconsistencies in the result.

Illustration 1. Result with default difference method.

Illustration 2. Result with difference method + custom cleaning method.


This year in addition to having developed the following 6 new rules:

Also, was improved the quality of the development based on the experience of 2019. Furthermore, one of the improvement that stands out is the implementation of mark actions stands out.

Illustration 3. Mark point action. Rule must not intersect with (line)

Illustration 4. Mark point action. Rule must not intersect with (line)

This new implementation significantly improves the display of errors and returns the geometries of these in a new layer, the mark actions speed up the process of identification and correction of errors.

With the project it is possible to automate repetitive tasks, reducing errors, and give the user the possibility to focus on the project objective and not on the technical part, simplicity in data analysis is achieved and the use of time is optimized.


I think the most important thing is to be aware that nowadays we have everything ready to ensure that work fulfills the function it should, be an activity that encourages us to develop as human beings, now it depends on us how we decide to carry out the tasks.

I have been proud to have been able to qualify for the 2019 and 2020 periods of GSoC, I appreciate the trust received to allow me to contribute to gvSIG and the open software community. The work could be carried out thanks to team development with the tutors, mainly Carlos Colombana, Óscar Martínez and with the developer community, it was an enriching and very enjoyable experience. Furthermore, I want to thanks Luis Boggio for his suggestions to improve the article.

The synergy generated in team cooperation makes the difference.

For me it is a privilege to be able to share the project with you, thank you very much !!!!

Article written by Mauro Carlevaro



This entry was posted in development, english, gvSIG Desktop and tagged , , . Bookmark the permalink.

1 Response to GSOC 2020 Project: New rules for the Topology Framework in gvSIG Desktop (2)

  1. Pingback: New rules for the Topology Framework in @gvSIG Desktop (2) –

Leave a Reply

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

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

Facebook photo

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

Connecting to %s