Handling LODs when fusing custom raster terrain with Cesium World Terrain

I have successfully integrated a GeoTIFF into the Cesium World Terrain using the Cesium Processing Pipeline’s “Add Data” option. This image now renders atop the default Cesium World Terrain texture.

The unfortunate side effect, however, is that this image is now rendered at every LOD - which, of course, becomes untenable for multiple large images. I want to assign an LOD level to my image such that it only loads when I’m close enough for it to be meaningful.

While we are working in Unreal, we are open to CesiumJS solutions also, as we’re willing to adapt it.

Apologies if this is already covered - I’m new to these forums. Keep up the good work!

Hi @belmer,

When you upload a GeoTIFF and tile it as imagery, Cesium ion automatically creates multiple levels of detail for it. So when you’re zoomed out, only a low-res version is shown. So there shouldn’t be any issue using multiple large GeoTIFFs. However, if you’re always showing the multiple layers together, you may get better performance by combining them using GIS tools and tiling them as one layer.


Thanks @Kevin_Ring. That’s great to know. It’s fair to say that we can confidently work at the lowest level LOD then and rely on the Cesium pipeline to handle the rest, yes?

That said, we notice a pop when switching between satellite and aerial imagery. Do you have a recommendation for how to handle this? Our ideal solution would be to not render our custom imagery above a specific LOD, where the LOD is the threshold between aerial and satellite.


There’s no built-in feature for that. We usually find that turning off a layer completely as you turn off results in a more objectionable popping. Especially since, in horizon views, multiple LODs can be visible in a single scene. So you might have your layer showing in the foreground, but then suddenly disappear at a certain distance.

But if you’re sure you want that, it wouldn’t be terribly hard to add a property to CesiumRasterOverlay yourself to specify the lowest (most zoomed out) LOD for which it it shown, and we’d welcome a pull request for that.