-
-
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
[Oracle] Fix MultiSurface with straight polygon and take into account orientation when writing polygon rings #33959
Conversation
… that we have automoc Was causing duplicated symbols on my build environment
When fixing warnings of qgis#33930, I looked at the code that transforms a QGIS geometry of type MultiSurface to a Oracle geometry, and it appeared quite convoluted/risky (variables being reaffected with values of other variables), and not being able to deal with straight Polygon in MultiSurface. The reverse situation (Oracle MultiSurface to QGIS MultiSurface) had the same issue as well. The MultiCurve/CompoundCurve code has been modified similarly. There was no real bug. Just a sub-optimal behaviour on reading of MultiCurve from Oracle, where all parts where promoted to CompoundCurve, even when not strictly needed.
@troopa81 can you review please? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great work! looks ok to me, I just have one question for rectangle 3D
It's all good for me, LGTM |
@troopa81 |
@rouault You won't be able to backport everything indeed because Curve/MultiCurve/MultiSurface exists only in master. All the code to reverse rings to force them to be in the Oracle appropriate order could be backported but I'm not sure it should be. It was a limitation and you remove it, it's kind of a feature to me. |
Fair enough. Keeping this as master-only material. |
When fixing warnings of #33930, I
looked at the code that transforms a QGIS geometry of type MultiSurface
to a Oracle geometry, and it appeared quite convoluted/risky (variables
being reaffected with values of other variables), and not
being able to deal with straight Polygon in MultiSurface.
The reverse situation (Oracle MultiSurface to QGIS MultiSurface) had the
same issue as well.
The MultiCurve/CompoundCurve code has been modified similarly. There was
no real bug. Just a sub-optimal behaviour on reading of MultiCurve
from Oracle, where all parts where promoted to CompoundCurve, even when
not strictly needed.
Also fixes polygon writing by reverse rings when needed to honour the winding order of Oracle polygons (#29085)
Note: If backporting is wished, #33930 will have to be backported first