-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Overlay union: errors and data loss #31552
Comments
my observations (on 3.8.2/Linux) are slightly different: in case of input_01 in 4326, error message, no data loss. in case of input_02 in 4326, no error message, no data loss. in case of the input_02 the "error message, but of a different kind" is
but I guess this could be very specific for this dataset, and not a general problem. |
If there is a topology exception emitted from GEOS, that means some XY coordinate values are very very close to each other. Because of that, some math operations give wrong results. The proper solution to this problem is to run "Snap geometries to layer" processing algorithm in "Snap to anchor nodes (single layer only)" mode with a small tolerance (note it is in map units!). Afterwards run "Fix geometries" algorithm to make sure that if snapping produced invalid geometries, they will get fixed. A good question is whether QGIS should try harder to help users in these scenarios:
|
Hi @wonder-sk I have tested it with input_01 set and it works, thank you. For input_02-3004 shapefile instead, applying a snap coarse tolerance (1 meter) and than "Fix geometries", I still have the same GEOS error. I agree with you: when there is a GEOS error, the user should have a note (with a URL for more detailed descriptions). Your note is perfect. |
"fun" fact, here doing the snapping and fix operations produced an input that when using it to Union in single layer mode does not show anymore the GEOS error, instead is shows an error like
and the output is created anyway, but with missing parts. We should try to get to the bottom of this mess. |
Hi,
this issue to make a summary of two others (#31528 and #31541), opened by @pigreco
These are the files I have used to make my tests. Essentially two shapefiles (input_01 and input02), both projected in EPSG:4326 and EPSG:3004, so in total four shapefiles.
My goal is to apply to them Overlay/Union, without using overlay layer and producing a temp output (as below).
input_01 set
If I run Overlay/Union to this set I have:
input_02 set
If I run Overlay/Union to this set I have:
You can see all these steps in this video https://www.youtube.com/watch?v=y7EI9aIJX6U
cc @wonder-sk @gioman
Thank you
My QGIS
The text was updated successfully, but these errors were encountered: