Imagery Tiler

Tile raster imagery into TMS and WMTS.

Setup

Extract the contents of Cesium-ion-3D-Tiling-Pipeline.zip.

The main executable is imagery-tiler and can be found under bin.

Windows

Windows binaries require Visual C++ Redistributable for Visual Studio 2017. Download and run the installer.

Using the tiler

The Cesium ion imagery tiler can produce either TMS or WMTS tilesets. The following command will convert Image.tif into a TMS tileset in a new directory called ImageryTiles.

bin/imagery-tiler -i Image.tif -o ImageryTiles -f TMS

We can also pass multiple files as input, as shown below.

bin/imagery-tiler -i Image1.tif Image2.tif -o ImageryTiles -f TMS

For overlapping imagery, files earlier in the list will be laid on top. For best results, make sure all input files have the same resolution. Otherwise, the final resolution of the tileset might be too low for the highest resolution input or too high for the lowest resolution input.

If the input data is not in EPSG:3857 Web Mercator, the imagery tiler will automatically reproject it.

Available options

Below is a full list of command line options to configure the tiler.

Option Description Required Default
--help, -h Display help message.    
--version, -v Display version number.    
--input, -i One or more imagery files to be tiled into a single layer. For overlapping imagery, files earlier in the list will be laid on top. Imagery files can have 1 to 4 bands with the 4th band treated as alpha, but all input files must have the same number of bands. Most raster formats are supported. We’re always adding support for more so don’t hesitate to reach out if you found something that’s incompatible.  
--output, -o A directory to output the imagery tileset. This will overwrite existing content or create a new directory if it does not exist.  
--output-format, -f Specify which tileset format to produce. Options are TMS or WMTS.  
--title, -t Sets the Title field in the metadata for the produced tileset.   Imagery
--quiet Suppress output during tiling.   false
--verbose Show verbose output.   false

Next steps

Now that we’ve tiled our imagery, the next step is to stream it into CesiumJS. All we need is a web server to host the tiles and then we can specify a URL to the imagery.

The example below adds TMS imagery to CesiumJS.

var viewer = new Cesium.Viewer('cesiumContainer', {
    imageryProvider : new Cesium.createTileMapServiceImageryProvider({
        url : '<URL-To-Your-Imagery>'
    }),
    baseLayerPicker : false
});

The Hosting 3D Content tutorial walks you through setting up the Cesium ion Asset Server and streaming your imagery with CesiumJS.

License

Third-party licenses used by the tilers can be found in LICENSE.json.

Community Support

Cesium has an active community of developers and users. Along with members of the Cesium team, they support all kinds of technical questions.

Ask the forum