Offline dataset size estimations


We are exploring the use of setting up Cesium with offline tilesets as our primary data source. We do have a number of sources of original heightfields and so on, but wanted to get an idea of size and how it scales with respect to area and resolution.

Ideally, higher resolution is better, but if it requires 100s of TB of storage, it’s really not practical for our use. While I’ve seen data sets as small as, say, 250 MB with 1 arcsecond heightfield resolution, those are only covering one major metropolitan region, and not much else. Someone on the team mentioned that they’d seen setups derived from STK terrain ranged anywhere from 300 MB to 16 TB at varying resolutions, though I’m not sure how much coverage that is. So, rather than look at it in terms of a series of hypotheticals, I was looking to see if there were any generic metrics to say that “A NxM area of land at resolution Y should be about X (mega/giga/tera)bytes in size.” What other data fits in there (e.g. if there is building data in the tileset or not). More importantly, I’d like to see how it scales with area and resolution to get a sense of what we should expect for various datasets at varying fidelity.

In practice, I strongly suspect we’d be looking for particularly good fidelity at a finite set of locations
– though that number itself might range in the few hundreds overall – with each such area probably covering a 100 nautical mile radius of good fidelity. Everything outside of those regions, we can afford considerably lower fidelity, or even just ignoring it. That said, this is just my own estimation and I am not really speaking to any formal plan on our part when I say so.

Hi @pkchari, thank you for your patience!

I’m not sure if there are generic metrics for data size – it certainly depends on the detail and coverage of the data. What types of data are you considering, and for what use cases? (e.g. terrain, buildings, bathymetry)

In the meantime, I can give you numbers for the data that Cesium licenses for offline use.

  • Cesium World Terrain is currently 2.5TB.
  • Cesium OSM Buildings is 207.7 GB.
  • Sentinel-2 imagery (meant to be draped over terrain) is 556.8 GB.

For our use cases, just terrain in terms of real-world visible appearance is fine. We have some other ancillary data from other sources, but that’s not really related to the terrain. As a rule, we are generally looking for the highest fidelity we can get save for a few exceptions. However, the amount of overall coverage is minimal. I think the largest areas we need to cover are on the order of 10,000 square miles (100mi x 100mi), and those we can afford a notch or two lower fidelity because the visualization parameters are different there. The highest fidelity regions would only be 400 sq. mi (20mi x 20mi) each. In total, I think we’re looking for on the order of 10-20 total regions of those 100x100 areas a similar number of the high res 20x20 regions. Some may be dense metro areas (in which case buildings are a meaningful addition), some may be remote regions with barely any structures to begin with. Overall, we’re not looking for a whole world coverage, so that is one thing that should compare nicely. What I’ve been told is that 1ft resolution, at least for textures, is what is considered “high resolution” while 50ft is considered “low resolution”, though I don’t personally believe that the “high res” is possible with satellite imagery from any source without some form of AI-guided upscaling (insert random crime show clip of someone saying “enhance”). Even the highest resolution Sentinel-2 imagery that I know of is at 10m (~32ft) resolution

So, for that approximately 3.26TB, that I assume is just the raw data and not necessarily the space requirements for a tile server, but I’m presuming that won’t be to terrible an additional load. What sort of resolution are we seeing for data of that size? Assuming you scale it down to be trimmed to the kinds of region sizes we are targeting, what do you estimate as far as size for that?

Hi @pkchari,

I apologize for my lack of expertise here, but I will ask your question internally, and get back to you as soon as I have an informed answer. :pray: