-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Geometry checker into processing #59637
Geometry checker into processing #59637
Conversation
54438c3
to
2bd6a42
Compare
🪟 Windows buildsDownload Windows builds of this PR for testing. 🪟 Windows Qt6 buildsDownload Windows Qt6 builds of this PR for testing. |
2f69603
to
07d1492
Compare
03f2a75
to
41d2499
Compare
41d2499
to
d16face
Compare
Porting angle check from geometry checker to processings
Porting angle fix from geometry checker to processings
Porting area check from geometry checker to processings
Porting area fix from geometry checker to processing
Porting hole check from geometry checker to processings
Porting hole fix from geometry checker to processings
Porting missing vertex check from geometry checker to processings
Porting missing vertex fix from geometry checker to processings
… and auto keywords
for more information, see https://pre-commit.ci
d16face
to
cc42df1
Compare
Great job @Djedouas and well documented! |
The QGIS project highly values your contribution and would love to see this work merged! Unfortunately this PR has not had any activity in the last 14 days and is being automatically marked as "stale". If you think this pull request should be merged, please check
|
@Djedouas we go like this, it's tested and used locally. You can carry on, and if we need to improve parts of it, we can always do so. |
@lbartoletti I think it would be great to have an advanced option to define the area of the holes to check |
Please, can you open a dedicated Issue/Feature request? Thanks |
|
@Djedouas A documentation ticket will be opened at https://github.com/qgis/QGIS-Documentation when this PR is merged. Please update the description (not the comments) with helpful description and screenshot to help the work from documentors. Thank you! |
@Djedouas |
@Djedouas, as well as adding the proper documentation in the docs or providing enough info for those who will do it, I would also suggest to extend and improve the shortHelp string of each processing algorithm being a little bit more descriptive and, e.g., clarify the meaning of the "Tolerance" advanced parameter. |
@agiudiceandrea thanks for reviewing :) I will create a PR in the coming weeks to add all the remaining checks and fixes in processings, so all feedback is welcome :) I will in the same time add (or help) the documentation creation. |
Description
Supersedes #55939
This Pull Request aims to integrate the geometry checker in the processing toolbox within the scope of QEP 236.
Each process will follow a consistent logic: one input layer and two distinct outputs.
For check processing outputs are
For fix processing outputs are
To ensure a consistent user experience, each process will operate similarly:
A default tolerance parameter is set at 8 (for 1e-8) in the advanced settings of every processing.
Demo video
https://vimeo.com/991495790
Screenshots
1. Check errors
Check geometry: errors will be created as a point layer showing places where the angle is < min angle
Launch processing
Errors layer attribute table
Source and errors layer
2. Fix with appropriate processing
Launch the delete vertex processing With the errors layer (output from the previous check) as input
Source and fixed layer (neon red)
Report layer showing what was done
Remarks - feedbacks welcome
The new processes are grouped under new categories named "Check geometry" and "Fix geometry". Suggestions for improved naming are welcome. The aim is to unify verification and correction processes from topology and geometry_checker plugins within these categories.
The current displayName, "Check/FIX Geometry (algorithm name)", is provisional. Any suggestions for enhancing this are welcome.
To avoid overwhelming process options, I've opted to enforce the "gc_" prefix for field names (see outputFields). It's worth considering whether to make this parameter configurable.
Next
Other Geometry Checker processes will be added following this review, and we plan to include additional correction/manipulation processes.
Funded by QGIS (Grant OpenSource 2023) and Oslandia
Part of qgis/QGIS-Enhancement-Proposals#236
cc @lbartoletti