-
Notifications
You must be signed in to change notification settings - Fork 211
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
LineTo(0,0) and Invalidation of POLYGON and LINESTRING geometries #51
Comments
So the geometry in question is a LINESTRING consisting of If you want this geometry to be prohibited by the specification, we should change 4.3.3.2 to a MUST NOT in "For any pair of (dX, dY) the dX and dY MUST NOT both be 0." |
I think the intent in 4.3.4.3 and 4.3.4.4 is to have a valid geometries, I do not think a |
@jfirebaugh @flippmoke : I agree re:MUST NOT - "For any pair of (dX, dY) the dX and dY SHOULD NOT both be 0." - reads too vague, implying it can be 0. |
@artemp @jfirebaugh we probably would have to release 2.1 if we changed this wording? Unless I get some buy in to change current spec as we just released it? |
We should change 4.3.3.2 to a MUST NOT in "For any pair of (dX, dY) the dX and dY MUST NOT both be 0" for 2.1. |
With mapnik-vector-tile implementation as I am upgrading to the stricter interpretation of V2, I have noticed an issue perhaps in our wording.
Within our decoder of geometries, I ignore lineto commands that do not move the cursor --
LineTo(0,0)
.The LINESTRING geometry states only that the command count must be at least one. However, the logic in my decoder is that a
lineto(0,0)
doesn't contribute to the point count and therefore, I throw errors about invalid linestrings in situations where the lineto command count might be 1 or more.The same is true in POLYGON geometries. However, this might be caught by the area requirement for rings.
The fix might be to clarify this situation in the polygon and linestring types.
The text was updated successfully, but these errors were encountered: