Skip to content
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

Extend the serialization of SQL/MM (curved) geometries to WKT #1412

Merged
merged 2 commits into from
Oct 19, 2022

Conversation

stephanr
Copy link
Member

This PR is a, reworked, part of the larger PR #1204

This changes optimize the serialization for common geometry types in SQL/MM (like CURVEPOLYGON, CIRCULARSTRING, etc.).
It also extends the linearization code to allow SQL/MM like circles which are defined through the points of the diameter.
This change extends the current code which implements the GML 3.x way of circles, which would be incompatible, to also allow circles like in SQL/MM.

Quote from the GML 3.2 specification

A Circle is an arc whose ends coincide to form a simple closed loop. The three control points shall be distinct non-co-linear points for the circle to be unambiguously defined. The arc is simply extended past the third control point until the first control point is encountered.

Quote from the PostGIS documentation (SQL/MM Part 3)

CircularString is the basic curve type, similar to a LineString in the linear world. A single arc segment is specified by three points: the start and end points (first and third) and some other point on the arc. To specify a closed circle the start and end points are the same and the middle point is the opposite point on the circle diameter (which is the center of the arc). In a sequence of arcs the end point of the previous arc is the start point of the next arc, just like the segments of a LineString. This means that a CircularString must have an odd number of points greater than 1.

@stephanr stephanr added enhancement enhancement or improvement modules deegree sub-modules labels Oct 18, 2022
@stephanr stephanr added this to the 3.5 milestone Oct 18, 2022
@copierrj copierrj merged commit 13a86b5 into deegree:main Oct 19, 2022
@tfr42 tfr42 mentioned this pull request Nov 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement enhancement or improvement modules deegree sub-modules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants