8. Final Report
New rules for the Topology Framework in gvSIG Desktop.
Student: Mauro Carlevaro.
Mentors: Óscar Martínez, Mario Carrera Rodriguez, Alfred de Jager and Francisco Peñarrubia.
Community: GSoC, OSGeo, gvSIG Association.
Before I start with the details of the project I would like to thank all who have contributed so that I can make a successful project.
I want to thank the entire community of GSoC, OSGeo, and gvSIG, to the tutors Mario Carrera Rodriguez, Alfred de Jager, and Francisco Peñarrubia, Óscar Martinez and Joaquin del Cerro who have delved in detail into technical explanations which were very useful. Thank you all for joining me throughout the project, work freely, allowing me to manage the time, and with the confidence they gave me was very important in order to get a better perform.
I also have to thank Carlos Colombana, who made me known the GSoC program and years before, being classmates in the university, he made me know the scripting on gvSIG. Besides being a successful professional, Carlos always has the doors open to be able to make inquiries and to listen to new ideas.
And to my Family without whom, nothing is possible.
I am very proud to be part of GSoC 2019, for me, being part of this project has been one of the best jobs I have participated in, both for the professional challenge, for the freedom with which I worked and for the interaction with the community, I enjoyed and learned a lot.
Working like this is amazing, thanks to everyone!!!!
Before starting the project only a few topology rules have been implemented, most of them pending to be developed. With the project was achieved implemented a new set of topology rules for vector datasets validation and fixing, that improve and expand the existing before.
At present, this tool provides a group of integrity rules that check the validation of the geometries relationship in the data. Is provided a new set of tools to navigate, find and fix validation errors different from each topology rule. This project analyzes, implement and optimize a new set of rules that are incorporated into the Topology Framework. These tools were created using Jython through the Scripting composer tool of gvSIG.
To future, in order to continue developing the project, some of the possible improvements would be implemented more actions and develop more rules.
Table of Contents
- State of the Project Before GSoC
- Value of GSoC Project
- Final Week Report (August 19th - August 26th)
- Using the Framework
- Future of the Project
State of the Project Before GSoC.
Only a few topology rules have been implemented until now, most of them are still pending to be developed.
Value of GSoC Project.
Work done in GSoC 2019.
The work done in GSoC consisted of performing and integrate to the topology framework in gvSIG Desktop the rules: Must be coincident with, Must be covered by endpoint of, Points must be covered by line, Must be properly inside polygons, Contains point and make all associated documentation.
All the rules were completed, are working and were integrated with the Topological Framework.
In the present, the project has an important set of topological rules implemented. With the development of the rules, it is possible to avoid having to do the analyzes, corrections of layers and entities manually. This development automating the tasks allowing the user to focus on the business logic, leaving aside the repetitive tasks and optimizing the use of time.
State of the Rules.
All the rules were tested, the rules working correctly and unless some business rule will be change or an error will be found, the rules are complete. In them it is evaluated the type of geometry, if it is simple or multipart geometry, the type of D2 or D2M or 3D geometry, if it is geometry 3D it is displayed: "Unsupported geometry subtype". It is also controlled when geometry types are not standard and inherits from a standard type. In this situation it is implemented geometryType1.isTypeOf() instead of geometryType1.getType(). For example, without this consideration, the rule "Contains point" not work.
The addition that the project brings to the software.
A new set of topology rules for vector datasets validation and fixing is implemented, which improve and expand the existing before.
Initially, the motivation was the professional growth offered and the challenges of the project of working on a project that allows the automation of tasks, optimizing the use of time. In addition to this, in the development of the project, was added the motivation to work with professionals from different countries and the constant interaction with the community contributing different points of view was added, all this made me growth a lot. In addition, this contributed to the success of the project.
As the project progressed the challenges were increasing. First, it was to perform the algorithms of the rules, then it was a challenge to implement the integration with the topology framework and solve specific problems of each rule. In the end, it was possible to understand in depth the logic that interacts between the rules and the topology framework and for the different types of geometry both when working with spatial indexes and when not. In the development of the project, new tasks were added to each rule and the algorithms had to be studied in greater depth, in addition, the topology framework and related documentation were changing during the project, so do the documentation of the project took me longer than the expected. In consequence, some rules had to be taken out in relation to the initial proposal of the project to be able to fulfill quality work and finished on time.
Final Week Report (August 19th - August 26th).
- August 19th (beginning) to August 26th (deadline)
- Keep in touch with the community.
No, there is not any blocking issue. The project could be completed.
In this section, it is provided a direct link to the releases.
Own repositories in which I worked.
- Mauro Carlevaro repository - Must be coincident with.
- Mauro Carlevaro repository - Must be covered by endpoint of.
- Mauro Carlevaro repository - Points must be covered by line.
- Mauro Carlevaro repository - Must be properly inside polygons.
- Mauro Carlevaro repository - Contains point.
gvsig Association repository.
gvsig Association repository where all the project rules are.
Repositories to which the pull request was made.
Repositories to which the pull request was made, from the own repositories to the gvsig Association.
- gvsig Association repository - Must be coincident with.
- gvsig Association repository - Must be covered by endpoint of.
- gvsig Association repository - Points must be covered by line.
- gvsig Association repository - Must be properly inside polygons.
- gvsig Association repository - Contains point.
New set of topology rules for vector datasets validation and fixing, that improve and expand the existing one:
- Must be coincident with.
- Must be covered by endpoint of.
- Points must be covered by line.
- Must be properly inside polygons.
- Contains point.
Using the Framework.
Below are detailed the steps to follow in order to use the development.
How the topology framework works.
The following video shows the interface and how the topology framework works: VIDEO
Video published in blog gvSIG, link: https://blog.gvsig.org/2019/02/12/towards-gvsig-2-5-topology/
Deploy Manual and Getting Started.
The steps of how to perform the installation process are detailed in the document: Topology Rules for gvSIG Desktop: Development guide
There is also useful information on how to start, pre requisites, installation and tutorials in New rules for the Topology Framework in gvSIG Desktop
Future of the project.
In order to continue developing the project in the future, some of the possible improvements could be, make the analysis for 3D geometries, implement more actions and develop more rules.