-
Notifications
You must be signed in to change notification settings - Fork 215
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
difference gives incorrect result for polygon and multi_polygon #1291
Comments
Yes and this should not happen. |
Hi! The description is edited - how can I see the original (without Boost multi precision)? Or was that in the original description already? |
I can reproduce it as well and for me also the different in ordering helps. |
Additional testing shows that the second input geometry is invalid.
Can we close this as not-a-bug? |
BTW the reason that I checked it again is that I have a concept fix for another recent issue and wanted to check if it would fix this as well. |
Thanks for your reply, but if I only add poly2 or poly1 to the multipolygon, the results both are true, so do you mean when I add poly1 and poly2 to the multipolygon, the poly2 will be invalid? I think poly1 and poly2 are similar |
The reason why I use Boost multi precision is the precision of double or float is not enough when I want to use intersection to calculate the intersecting linestring of two closed linestrings |
I change the order of poly1 and poly2, the result is “POLYGON ((1 2,1 1,1 0,2 0,2 2,1 2))”, it seems like the top of poly1 and the bottom of poly2 are not completely overlapping(because the coordinates(1,1)), but I think they should be completely overlapping, and I use bg::is_valid(poly2),the result is true, maybe our poly2 is different, the boost version I use is 1.85 |
Good point, I renamed them in my local verification. So then please apply: |
Yes but their combination is invalid |
Program
The answer is POLYGON((0 1,1 1,1 0,2 0,2 2,1 2,0 2,0 1))
but I think the answer should be POLYGON((1 0,2 0,2 2,1 2,1,0))
It seems like difference only used to calculate polygon_layer and metal_polygon1, the metal_polygon2 was ignored
I try to use correct function as you can see in the program, but it is useless
Look forward to your reply,thanks!
The text was updated successfully, but these errors were encountered: