Combining Cesium Terrain DEM with Google 3D Tiles

Hi,

Is there a way to seamlessly combine a Cesium terrain model with Google 3D Tiles in CesiumJS?

I’m looking for a solution to visualize CZML road tracks over and/or under bridges.

Question:

Is there a way to select a specific draping model—like Cesium World Terrain or Google 3D Tiles—for individual line segments of the track?

For example:

  • For the track segments that go over a bridge/overpass, use Google 3D Tiles for the draping surface.

  • For the track segments that go under a bridge/underpass, use the Cesium World Terrain for the draping surface.

Current situation: Double drape lines since both models are active

Of course, the goal is for one model to exclude the other at any given location to avoid displaying double lines in the 3D map view.

I am specifically referring to the 3D visualization of 2D tracks that were digitized from orthophotos or satellite imagery.

I’m just starting to evaluate Google 3D Tiles in Cesium. It looks promising, but so far, I’ve only been able to use it as a nice 3D background in certain cases.

Would a true 3D track be a better solution, even though that would introduce new problems, such as the need for actual travel to locations to record the 3D data?

This is how it should be (photoshopped image)

Thanks in advance,

Davor

Hi @Davor_Fiedler,

Interesting question- I’m still trying to wrap my head around the scenario a little, so if it seems like I’m misunderstanding, please correct me. A few questions:

  1. Are you using CWT and Google Photorealistic 3D tiles at the same time? What’s the need for CWT here if you’re already using GP3D tiles? (Also, just to be sure - you do mean GP3D tiles, right? Not just some other 3D tileset that, in this case, is simply a model of a bridge)
  2. Would it be impractical to preprocess the data in some way? E.g. if there’s not much data, maybe you can split it into different data sets - one for CWT, the other for GP3D tiles. Or possibly turn it into a 3D track, as you suggested; rather than finding a 3D data source, though, you could potentially sample the terrain height (sampleTerrainMostDetailed) and 3D tile height (scene.pickFromRay) at each track point, then save the heights off as part of your track data.

Best,
Matt