go-spatial / tegola

Tegola is a Mapbox Vector Tile server written in Go
http://tegola.io/
MIT License
1.26k stars 193 forks source link

Water way dissapearing only at a specific zoom #809

Closed adamakhtar closed 2 years ago

adamakhtar commented 2 years ago

Hi there, thanks for creating Tegola its been great to use. I've recently discovered a stretch of river that disappears only at zoom 11.

Here it renders fine at zoom 10

image

But at zoom 11 a section of the river loses it's filling. There is still an outline of its shape however.

image

The river renders fine again at zoom 12.

image

Not sure if it helps but this is how it looks like visiting localhost:8080

image

Details

Zoom & Coords #12.15/51.46801/-0.23804 Machine: Local silicon mac on macOS Big Sur. Tegola version: Built from source using the 0.13.0 tag.

Other info

I tried adding dont_simplify = true to my layer config but that did nothing.

This is my config for water ways. #### Imposm ``` "water_ways": { "fields": [ { "type": "id", "name": "osm_id", "key": null }, { "type": "geometry", "name": "geometry", "key": null }, { "type": "mapping_value", "name": "type", "key": null }, { "type": "area", "name": "area", "key": null } ], "type": "polygon", "mapping": { "water": [ "river", "canal", "stream", "stream_pool", "rapids", "lock", "fish_pass", "ditch" ], "waterway": [ "river", "riverbank", "stream", "tidal_channel", "canal", "ditch", "fish_pass", "waterfall" ] } }, ``` #### Tegola ``` [[providers.layers]] name = "water_ways" geometry_fieldname = "geometry" id_fieldname = "osm_id" sql = "SELECT ST_AsBinary(geometry) AS geometry, osm_id, type, area FROM osm_water_ways WHERE geometry && !BBOX!" [[maps.layers]] name = "water_ways" provider_layer = "osm.water_ways" min_zoom = 8 max_zoom = 9 [[maps.layers]] name = "water_ways" provider_layer = "osm.water_ways" min_zoom = 10 max_zoom = 20 ``` #### Styles ``` { "id": "water_ways", "type": "fill", "source": "lxqenljf0", "source-layer": "water_ways", "filter": [ "all" ], "layout": { "visibility": "visible" }, "paint": { "fill-color": "rgba(213, 213, 200, 1)" } }, ```

And here is the map tile: 11_1022_681.zip

Any help would be greatly appreciated.

ARolek commented 2 years ago

@adamakhtar what version of PostGIS are you using? Looks like you're using the postgis data provider which uses tegola's native geometry processing. Have you tried mvt_postgis yet?

adamakhtar commented 2 years ago

Thanks @ARolek. My postgis version is 3.1.2 and is installed via brew. Does that explain anything?

I haven't heard of mvt_postgis so I just googled it. I was expecting it to be a library or alternative to postgis but that does not seem to be the case. It seems MVT is new functionality added to postgis. Is that correct? I can't find anything named specifically mvt_postgis though.

Are you referring to a function? If so how do I use mvt_postgis in my tegola setup? Any pointers on what to google would be most helpful.

adamakhtar commented 2 years ago

@ARolek re: mvt_postgis I've found it via the docs here https://github.com/go-spatial/tegola/tree/v0.14.x/mvtprovider/postgis . I will give this a try tonight or tomorrow.

ARolek commented 2 years ago

@adamakhtar yep, looks like you found the mvt_postgis provider. LMK if you have any issues getting it running.

adamakhtar commented 2 years ago

@ARolek I got it running and the problem is now gone. I've also seen a big performance boost as well! Thank you very much for your help on this.

ARolek commented 2 years ago

@adamakhtar glad that worked for you! I'm going to close this issue now. Enjoy the weekend!