[SoC] Final Report - New rules for the Topology Framework in gvSIG Desktop

Mauro Carlevaro gianimauro at vera.com.uy
Sun Aug 30 02:36:48 PDT 2020



Dear community, 

We have reached the end of GSoC 2020. This was my second year in GSoC and has been an amazing experience I am very proud to be part of this project, 

I want to thank the entire community to the mentors Carlos Colombana and Óscar Martinez. Last year I learned a lot and this year with Carlos as the main mentor also was a great experience. The talks with Carlos have been very enriching, thank you for sharing your knowledge so openly . 

The interaction with the community was great , thank you to everyone, GSoC, OSGeo and gvSig association for trusting me. 



I present to you a summary of the final report . Link complete final report : https://github.com/Maureque/GSoC2020-topology-osgeo-gvsig/wiki/9.-Final-Report 


1. Title. New rules for the Topology Framework in gvSIG Desktop. 

2. Organization. OSGeo and gvSIG Association. 

3. Abstract. Automate tasks and Ensure Information Quality instead of spending our time doing what a machine. 

A topology toolbox has been added to gvSIG Desktop. This tool provides a group of integrity rules that check the validation of the geometries relationship in the data. A new topology data model can be created for each project. This toolbox provides a set of tools to navigate, find, and fix validation errors different from each topology rule. There is a set of topology rules implemented, most of them at GSoC 2019. This project will analyze, implement, and optimize a new set of rules that will be incorporated into this framework. 
4. State of the Project Before GSoC 2020. 

Initially, only a few topology rules have been implemented, most of them are still pending to be developed. In GSoC 2019 several rules were added which give an important base set to the framework. These rules verify and validate the relationship between geometries and data. Link to the project carried out in Google Summer of Code 2019: https://wiki.osgeo.org/wiki/New_rules_for_the_Topology_Framework_in_gvSIG_Desktop 


5. Value of GSoC Project. 

5a. Motivation. 

After participating in GSoC 2019, the main motivation was to return working in such a motivating context, in which it is possible to work and learn a lot at the same time. Besides continuing the started in 2019 to achieve a more robust solution not only in the number of rules but also and progress in the quality of the solution provided by each rule. 


Being able to work in this way is very motivating, undoubtedly there is much to improve but I am happy to share what we accomplish together with the mentors and the developer community. 

Finally, another aspect that motivates me is the fact that another student by OSGeo and gvSIG has taken as a reference the proposal, documentation, and development made in 2019 as the base for the development of their project, without a doubt this encourages to me to continue improving the quality of the work developed and that others can use it and facilitate their work. I think that this and the interaction with the community is the main spirit of GSoC. 

5b. Work done in GSoC 2020. 

A new set of topology rules for vector datasets validation and fixing was improved, expand the existing one, and expand the actions implemented by the rules. 

Rules to develop in the 2020 edition: 

    * Must be covered by boundary of. 
    * Must not overlap with (Must not overlap line). 
    * Must not have gaps. 
    * Must be inside (line). 
    * Must not intersect (line). 
    * Must not intersect with (line). 



The solution presented by the rules with the new actions developed. The Mark Actions marks the errors and presents the geometry. With these actions, the rules not only lead to where the error is but also, provide geometry. 


In summary, these new implementations visually help to identify errors, and geometry is provided, allowing to speed up the process in correcting and editing errors. 

A great challenge was the rule Must not have gaps , here it was necessary to make a workaround to access the number of lines in the report, since we still have no way to generate a layer of output errors through the topology framework. So, the solution was to go through the components of the graphical interface of gvSIG until reaching the jtable and then a layer is created directly in view and the geometry is loaded into it. 

In this rule, the solution that is reached will depend on the criteria used by the user based on the tolerance that he determines, according to the defined tolerance will be the result obtained. Here the tolerance has to be greater than the distance between the polygons for it to detect the gap. 

Furthermore, two accessory functions had to be implemented to obtain a satisfactory solution, since to, detect the gaps when applying the "difference" method did not give good results, this gave rise to the "checkGaps" and "findGaps" functions. Within the latter function, after applying "difference", a specific clean was developed for this rule. Despite all the progress made, more time still needs to be spent testing the rules. 5c. Project State. 


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 . 5d. State of the Rules. 


All the rules are working but they need to be tested more thoroughly. 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() . Furthermore was implemented the new actions: "Mark actions". 5e. The addition that the project brings to the software. 


A new set of topology rules with new actions for vector datasets validation and fixing is implemented, which improves and expands the existing before. Furthermore, new implementations were discovered to follow improving the topology framework. 


6. Final Week Report Period. 


    * August 24th (beginning)- August 31st (deadline) 

Report. 
What did I complete this week? 


    * Final optimizations. 
    * Release of each rule. 
    * Final Report 
    * Submit the developed code and documentation. 
    * Pull request of the rules to the gvSIG repository. 
    * Submit Final work product and evaluations. 

What am I going to achieve next week? 


    * Keep in touch with the community. 
Is ther e any blocking issue? 

No, there is not any blocking issue. The project could be completed. 




7 . Repositories . 

    * Must Be Covered By Boundary Of (point). 
    * Must Not Overlap With (line). 
    * Must Not Have Gaps (polygon). 
    * Must Be Inside (line). 
    * Must Not Intersect (line). 
    * Must not intersect with (line). 


8 . 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, continue with the testing, implement more actions, develop more rules, continue improving the documentation and extend the interaction with the topology framework, so that these improvements allow in the future doing many of the functions that now have to be done by going through the elements in the gvSig view. 

Working like this is amazing, thanks to everyone!!!! 

Best regards, 

Mauro Carlevaro. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20200830/77b8c39b/attachment-0001.html>


More information about the SoC mailing list