Mapbox-gl-js: Strange artifacts when zooming in to line layer "Geometry exceeds allowed extent"

Created on 20 Aug 2017  路  12Comments  路  Source: mapbox/mapbox-gl-js

I am uncertain if this is a bug in mapbox-gl-js or in tegola, but after trying to set up serveral custom vector tile servers where I end up with pbfs but no rendering, I am giving up.

When zooming in on a vector tiles strange stuff appears around zoom level 12. In the JavaScript console I notice: "Geometry exceeds allowed extent, reduce your vector tile buffer size". I am using 0.39.1.

I have tried to reproduce it with GeoJSON as datasource this does not trigger the same behavior.

http://stefan.konink.de/zones/test.html (geojson test)
http://stefan.konink.de/zones/mapboxgl1a.html (tegola backend)
http://stefan.konink.de/zones/test.geojson (data)

bug

OpenLayers doesn't seems to have the problem.
http://stefan.konink.de/zones/index.html

Issue seems to be the same as #2854

needs information

Most helpful comment

Just so that everyone is aware of what the issue was in Tegola. We had a regression where we stopped clipping lines. This is what lead to lines being drawn pass an acceptable buffer.

Thank you to all for looking into this and responding.

All 12 comments

I have validated in qgis that the vector tiles itself are not the issue.

What's the tiles extent and buffer size?

@mourner could you tell me where to get this information? I have not configured it.

Unfortunately we're not able to track every vector tile back end and know how it works and whether it conforms to the vector tile specification. I'd suggest seeking the answer from the Tegola maintainers.

So given that you probably have a QA test for MapBox GL JS around. Why is OpenLayers working without a problem and even the conversion to GeoJSON works flawlessly? Better put: why does MapBox GL JS fail (and due to specifications) is it not considered a bug?

OpenLayers might not have the same restrictions as Mapbox GL JS, which does fast hardware-accelerated rendering of vector tiles, but can't handle vector tiles where extent is too big (any coordinate values exceed 32768, so they can't be encoded in a 16-bit integer). If Mapbox GL JS throws an error which says "Geometry exceeds allowed extent", it means what it says.

If your tiles have such values, it's on the Tegola side or your configration of it, and there's nothing we can do on GL JS side.

Thanks, that honestly helped more :+1:

@mourner this is on the tegola side and has to do with tegola's clipping algorithm which is still under development. The v0.4.0-alpha release demonstrates the clipping improvements but still has edge cases that are being worked on. Thanks for chiming in on this.

Just so that everyone is aware of what the issue was in Tegola. We had a regression where we stopped clipping lines. This is what lead to lines being drawn pass an acceptable buffer.

Thank you to all for looking into this and responding.

Great, thanks for letting us know @gdey!

Is this still an issue with tegola?

@mhuconcern this specific issue has been fixed in tegola.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

aaronlidman picture aaronlidman  路  3Comments

BernhardRode picture BernhardRode  路  3Comments

bgentry picture bgentry  路  3Comments

rasagy picture rasagy  路  3Comments

muesliq picture muesliq  路  3Comments