Ocean terrain elevation is way off

I am using Cesium version 1.38. I need to use Cesium in an offline setting so I am using the Cesium Terrain Builder and Cesium Terrain Server to build and serve up terrain data. Everything works great except the ocean elevation level is roughly 3km above sea-level creating a "Day After Tomorrow esque" Tidal wave effect all along the coast. (Pretty terrifying)

I downloaded the terrain data from usgs.gov 's Earth Explorer. I am using the GTOPO30 terrain set. I am using the provided TIFFS have NODATA for ocean. My question is how/where can I account for this lack of data? Does it need to be when I build the tilesets, when I server them up, or in cesium itself? A point in the right direction would be helpful.

I had the same problem. Not sure what tools you're using, but in my case I used gdalbuildvrt to build the source data set with the options "-hidenodata -addalpha" to effectively make the areas with 'nodata' transparent.

I also used gdalbuildvrt. Thanks for the tip. Ill try that

So I added the additional options you suggested and it "worked" but not completely. The ocean was reduced down to ellipsoid height, but the shoreline is still way off. Any ideas?

Screenshot of map without the additional options
Imgur

Screenshot of map with the additional options added (Almost there)
Imgur

I recall someone had a fix for distortions created by the cesium terrain builder. A change request was made on the main cesium terrain builder branch, but the original author no longer maintains it. You might try pulling in the fix yourself
https://github.com/geo-data/cesium-terrain-builder/pulls

I haven't tried the 'fixed' version myself.

Hi Kevin,

Yikes, that is terrifying. Unfortunately I think this is a problem that needs to be solved with the data. I’m not aware of anyway to fix that just using the Cesium API. Thanks for the help here Tony.

Thanks,

Gabby