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

Following V2 Tile Specification #102

Closed
flippmoke opened this issue Mar 9, 2017 · 2 comments
Closed

Following V2 Tile Specification #102

flippmoke opened this issue Mar 9, 2017 · 2 comments
Milestone

Comments

@flippmoke
Copy link

I am one of the authors of the MVT specification and I try to review all the code I see for people who are writing encoders specifically for MVTs. So I was looking through your code some and noticed some issues surrounding your support for the MVT specification.

I noticed you are attempting to follow the version 2.1 of the specification which is great, however, there are a few things that I think need to be addressed for it properly follow the v2 specification. Many of them are the same as issues I have noticed with several other implementations. In general right now I would consider your code compliant with version 1.0 of the specification, but I am not sure it follows 2.0 effectively.

Issues that I think might exist are:

  • Not clearly controlling or specifying the winding order for polygon rings.
  • No polygon validation or correction such that it would be always OGC compliant polygons (specification doesn't specify this exactly but speaks about valid and simple polygons). In later versions we will likely be more specific about this.

I am sure there are others that might exist, the specification is fairly tightly worded in many situations but can be confusing so please feel free to ask me questions. You can also post any questions directly on the github issues page for the specification itself.

Here are some other links that might be useful:
https://www.mapbox.com/vector-tiles/specification/
https://trac.osgeo.org/postgis/ticket/3712
mapbox/vector-tile-spec#58

I might also suggest that in the short term as a fix you simply change the version of your tiles to version 1 here this will signal to many clients that the data might be need to be cleaned up prior to use. This prevent lots of visual errors in GL client specifically.

This seems like a really cool library, nice work!

gdey added a commit that referenced this issue Mar 9, 2017
Since, we don't fully implement v2.1 of the spec, but do meet version 1, change the version to 1 till I get to getting compatibility in.
@gdey gdey mentioned this issue Mar 9, 2017
gdey added a commit that referenced this issue Mar 9, 2017
@ARolek
Copy link
Member

ARolek commented Mar 13, 2017

@flippmoke thanks for opening an issue and reviewing tegola. We took your suggestion and changed the version tag from 2.1 to 1.

We're working on geometry validity testing prior to encoding as we have noticed rendering artifacts when clipping invalid geometries. We're hoping to have this addressed soon and then eventually be 2.1 compliant. In the mean time I will release a patch build so any other tegola instances downloaded use the version tag of 1 until the appropriate improvements are made.

gdey added a commit that referenced this issue Apr 11, 2017
@ARolek ARolek modified the milestone: v0.4.0 Apr 25, 2017
@gdey
Copy link
Member

gdey commented Nov 1, 2017

issue #56 is now merged into v0.4.0. This should address this issue.

@gdey gdey closed this as completed Nov 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants