GDAL2Tiles is a command line tool that allows easy publishing of raster maps on the Internet. The raster image is converted into a directory structure of small tiles which you can copy to your webserver. GDAL2Tiles is included in GDAL/OGR 1.5.0 release.
GDAL2Tiles is compatible with the Tile Map Service (TMS) Specification. TMS has been proposed as a standardised way in which map tiles are requested by clients and how servers describe their holdings. TMS is not an "official standard" and is currently managed by the Open Source Geospatial Foundation (OSGeo). The specification is based on multi-resolution image pyramids. Tile maps are composed of a set of scale-appropriate cartographic renderings, each divided up into regularly spaced image tiles.
If the supplied raster map uses EPSG:4326 projection, GDAL2Tiles also generates necessary metadata for Google Earth (KML SuperOverlay).
When the user is zooming or panning tile maps, only the tiles not currently in memory are requested from the TMS server. No special server software is needed if all map tiles are pregenerated.
I’m here showing how you can use GDAL2Tiles to generate map tiles of Tom Patterson’s Natural Earth II. This is a beautiful raster map that portrays the world environment in an idealised manner with little human influence. The map can be downloaded on this page. I’m here using version 2C.
I start by using gdal_translate to georeference the map image:
The image should now have the correct projection (EPSG:4326), but GDAL2Tiles was not generating the KML SuperOverlay before ran this command:
The original raster map is 16,200 x 8,100 pixels. Each map tile image is 256 x 256 pixels. This table shows the number of tiles generated for each zoom level:
For my purpose, 5 zoom levels are enough. I therefore reduced the map image to 8192 x 4096 pixels:Finally, I used GDAL2Tiles to generate the map tiles:
See the result as a KML SuperOverlay in Google Earth or in Open Layers. There seems to be a problem that OpenLayers can’t georeference TMS map tiles. It is therefore difficult to combine a map tile layer with other map layers.

UPDATE 2 APRIL 2008: The OpenLayers example above is now working properly thanks to Christopher Schmidt.

3 comments:
Bjørn, Thank you for this interesting post.
May you show me the way how to use/implement this tiles cache with WMS-servers. Maybe WMS-C server?
My goal is to publish WMS-service, based on the tilecache. And I want to connect to this WMS-service from ArcGIS. (instead of using ArcGIS Image Server)
I have MapServer installed on my computer, but i don't know what to do. Pure WMS-service is render new images, but i want to use tilecache.
I am newbie in OGS, so I need a tutorial.
Thank you.
Hi mitrich,
I have so far no experience with WMS tile caching, so you have to search the web to find a solution.
Thank you for posting this, it has been a help. I am having a problem when I run the gdal2tiles.py. I get the error:
File "../gdal/gdal2tiles.py", line 128, in ?
import gdal
ImportError: No module named gdal
How can I get or install the module gdal, I cannot find such a module in the FWtools or in the gdal build directory?
Thanks.
Post a Comment