Geojson display order, hiding default markers

Hello,

I have a 3D Tiles model of a city I want to overlay with a geojson with parcel boundaries and labels which I want to display together:

  1. The contents of the Geojson should be visible through the city model (parcels often run through the buildings or very near them). What is the correct way to achieve that? Result should look like the geojson was rendered after the city model.

  2. Is there a way to hide default markers? My guess after reading the docs was to set markerSymbol to “blank”. I tried ‘’, ’ ', null but no awail… I guess I am doing something wrong.

  3. How to render label text in front of the lines in geojson, now the lines are over the labels? Do I have to add labels as extra entities as in http://lastboy.github.io/apps/cesium/examples/label/index.html or is there some easier way? Geojson already contains points that should be labels so the entities are already there.

Sandcastle minimal setup: https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/#c=tVZbb9s2FP4rhF4iLzKVLt0wOG6wLsmSrO4FsdcMqIKAlo4t2hSpkpRTt8h/36Guduxsw4DywRbJc/nO5TvSimmy4vAAmrwiEh7IGRheZPRjeeYfxOX2TEnLuAR9EHyLJMGl4XMBxt6ATEC/VQmQAbG6gKC6tqA1KnzQasVRYNCYjTUwC7dKi2RSifi9SD72TiIZyRVisVyAAbsNpvo7Pp9Ul36NodBiQCIvtTY3gzCME0kzEOpB0lhl4XFS2gqro3AKktnlui9Z0l/wr6BVEdbO6MIoGXktjuYYsSZrDCHjBqhNQfqzQsaWK+nXIj2CUKr0URODBJprnnHLV2AoS5JW7qRCHIZEKLUkzBK01wTbmviqVDZRjVKwmYIrxMLl/AO3cXrD5Bz8/hE9Dgj+/hI0huhUFdKJjfMUNFCNOoUhP5Aj+lPPYagDrG1egvoDIz9nlo1VoWOgQrHEr6C6ddCkVrMHOuc2LaaFAR1jN4C0ZZYFujCCrVKll+twyqwV0Fez/nHS12VvIJq+sSxemnCe9nM2x5LkDJ0Jg7XIsId4PwU+T22MXZSUtTgISAciDL83jFirPG9dR/LbpvNYsCyfqEvtUls3eXefMb0EPV5nUyXwUhZCuCw/6ZakzXDZMI1yXfXutuqZDemyWh2WS6j6hiFz1kTNCIaPzQZmwyZyqDlFEnW2aHNKV0wgdbdMz5QmvlPlqHN0gn/D1goVIOc2xcPDw16nshFHBW5cg6uKSRhmy20z5LvmTJRwWZySXIm1wFmyrd/iXiOCxvUnfrcF0y0+8ys5mivDXXp7T7G4VcsINgWBFvdIVGPqix00sjm2AejSb+RNLv6a3L95G3l3wX7VGXafmz4vfsy/kCsQK7A8ZpH3nDgX4kwJ1Y3Cckdvr64nF4EbDFZzSIiBFWjMVuxuTWjsGplNpoUlUhFRxMv95lVhXU73efht9PrsTfCParc8semAvHxGqgTRWh25lI7dEf39ejS6f/3u/P79n5PR9buLXfXH3SOkrVHCzZq5H3lI21ywNdKTlLUaRB45/JeK9HaaoukgbAksdhM+01bNNctTHtMZjnF3gFdMPu0gOgf70bHCrykZCxUvaVxoHB52wjPoNRN8T481VrY9l46OS783OJyYND4KYtQSJ1iRQEDKLbMbu4o6hy9/furtcZcFpAui4tNeGtRJKfGZhlmdTovd/IcU7MlAOzcW1dxY4NzoTDaDY7E1OJ4ZIP+njK2rT4u7ffDc2pT5jhV6ptmfzTdCaZ93i9094RvbC7xhScHT6uJXnuVKW/f541MaWsiQQRhNOMXxgB8BsTEO3TBslIYJXxGevIq8J19zyDV8vRmDNzN8c43xsyjyTochym+puc8CZOh7HE3IVSeSvjgdVYeU0mGI210tq5SYMr1h8W8

Env: Ubuntu 16.04, Chromium 72.0, Cesium 1.55

Thanks,

Ladislav

ad 2) It seems I managed to hide the markers after the data load, but it feels a little bit hack-ish:

After loading geojson, set

entity.billboard = null

for all entities.

For getting the labels to render after the tileset, the easiest way is to disable the depth test for them. You can do this by adding this to your label:

disableDepthTestDistance: Number.POSITIVE_INFINITY

``

See: https://cesiumjs.org/Cesium/Build/Documentation/LabelGraphics.html?classFilter=labelGr#disableDepthTestDistance

For question 3, if you’re asking how to offset the label text, you can use either eyeOffset:

https://cesiumjs.org/Cesium/Build/Documentation/LabelGraphics.html?classFilter=labelGr#eyeOffset

or pixelOffset:

https://cesiumjs.org/Cesium/Build/Documentation/LabelGraphics.html?classFilter=labelGr#pixelOffset

To tweak its position.

Let me know if that helps!

Hello Omar,

thanks for the directions! The disableDepthTestDistance works, I was able to find similar solution for polylines with depthFailMaterial, so now I have both labels and polylines above the terrain and 3D tiles, which is great.

However, the labels are still rendered under the polylines, even when experimenting with the eyeOffset. This actually seems to be still an open issue (https://github.com/AnalyticalGraphicsInc/cesium/issues/4108).

If you know some workaround, it would be great but otherwise I will probably stick with distanceDisplayCondition for labels that makes the polylines crossing the labels somewhat less common. Setting polylines to transparent also helps a bit.

Thanks,

Ladislav

I see Hannah posted some recommendations on that issue. I’ll let the discussion continue there.