tangrams / tangram-es

2D and 3D map renderer using OpenGL ES
MIT License
823 stars 239 forks source link

Duplicate labels on polygons #2332

Open westnordost opened 2 years ago

westnordost commented 2 years ago

TO REPRODUCE THE ISSUE, FOLLOW THESE STEPS:

Have a style like this and go to 53.59579/9.94521:

sources:
    jawg:
        type: MVT
        url: https://tile.jawg.io/streets-v2/{z}/{x}/{y}.pbf
        max_zoom: 16
        url_params:
            access-token: Rqx0Qqc3TAHCG5MVXmxSAkaSgwm5nVSq4fV8IeTxiq9cieOQFfOt5BsYjK8Cwkqr

layers:
    buildings:
        data: { source: jawg, layer: building }
        draw:
            polygons:
                order: 100
                color: "#999"
    anything:
        data: { source: jawg, layer: building }
        draw:
            text:
                text_source: function() { return "✕" }
                priority: 1
                collide: false
                font:
                    fill: "#f00"
                    size: 26px
                    weight: bold

RESULT:

You'll see this:

image

There is an extra duplicate label not at the centroid but at the first node of the polygon.

This does not happen for all polygons with labels, only for some.

Tangram (JS) has an identical issue, see https://github.com/tangrams/tangram/issues/801 also for a link to a Tangram Play.

EXPECTED RESULT:

For polygons, there is only one label.

ENVIRONMENT:

0.17.1, Android 12

OTHER:

This is neither a problem with the OSM data, see: https://www.openstreetmap.org/way/612211229#map=19/53.59555/9.94558

Nor an issue with jawg.io data, see image https://www.jawg.io/docs/apidocs/maps/streets-v2/#19.89/53.5957094/9.9453778