Imagery asset takes almost double space in cesium ion while uploading from s3 bucket


I am Masum. I am working on a project where I have used cesium ion for tiling asset.
I have used s3 bucket for storing my data. I have uploaded point cloud(.las) file from s3 bucket into cesium ion as 3dtiles. It takes 95MB space in cesium ion while the original file size in s3 is 488MB. That’s really great.

But I also uploaded geotiff/tif(raster_imagery) file from s3 bucket to cesium ion as imagery. It takes 918MB space in cesium ion while the original file size in s3 is 514MB. That’s the issue. It takes almost double space.

If I upload geotiff file(from my pc) as imagery without using s3 bucket, it takes 514MB(the original file size).

Can you help me what is the issue while uploading imagery asset using s3?


As described in the S3 feature blog, the data storage is calculated by the amount of data in the processed tileset.

As you have rightly pointed out, this is overall beneficial to users. When it comes to raster imagery, the tileset created requires creating a tree of different LODs without the availability to do compressions. So the data you upload is the high resolution tiles, and it needs to create lower level LODs. This is why imagery tilesets will take up more space for processed data.


Thank you for your response.
But If I directly upload raster data as imagery into cesium ion without using s3. It takes original file size space.
So is it better to upload imagery data without using s3 bucket?

It depends on what you are trying to optimize and how your system works. But yes, generally imagery uploaded via S3 would be counted as more storage compared to the source.

We are using aws s3 bucket to store our data to reduce cesium ion storage. It is really great for 3dtiles. It cuts down storage .

But it is not efficient for imagery data like geotiff file. It takes more storage than original model size.

Can you suggest any way to store imagery data to cut down cesium ion storage?
Because our geotiff files are upto 2GB.

Tiling imagery sizes can vary from the source for a lot of reasons, two of which are:

  1. The compression used in GeoTIFF - JPEG2000, LZW (or uncompressed) etc provide different levels of compression of the source data, whereas the tiled data is generally JPEG or PNG images, which do not provide the same compression levels. Your source data may be 2GB as compressed, but would be significantly larger uncompressed.
  2. The source data may not include pre-tiled imagery layers. This means the GEOTIFF is a flat image, and when the imagery layers are created, the pipeline is essentially building many copies of it as it builds the LOD tree. Tiled imagery data will always need more space compared to the source for this simple fact.

Your best option is to upload imagery data using the REST API rather than S3 if you want to cut down on storage. Tiled imagery data will always require more space compared to the source.