GDAL2Tiles SoC 2007
GDAL Raster Driver for PNG/JPG Tile Structure + gdal2tiles utility
Overview
Implementation of Raster Driver for GDAL library, which will allow to write PNG/JPG tile structure as a new supported file-format. Generated tiles will contain also XML metadata, so after putting them on any webserver they could be used as data source for Google Earth (with SuperOverlay KML), Google Maps, OpenLayers, WorldKit and probably other viewers.
Tile structure will follow recommendation from OSGEO Tile Map Service Specification. Simple utility 'gdal2tiles' for converting supported file-formats into new tile structure will be created.
Implemetation of the file format driver will allow to export map raster data into Google Earth&Maps and another online viewers from any of applications which use GDAL library.
Schedule
- May 28: Designing of file format, all XML Metadata (KML, TMS, Virtual Earth, ...?) have to be known and tested with supported viewers, sample map is published.
- July 9: Alfa version of GDAL Driver for Tile Structure Writer is uploaded into official SVN.
- August 20: Final version of the driver as well as gdal2tiles utility are uploaded and reviewed.
Implementation details
Tile Structure
- KML supports only EPSG:4681 (latlong with WGS84 datum) projection, so reprojection is needed.
- It would be nice to support zoom levels of Google Maps tiles (this have to be checked, maybe from
GDAL Driver
- Have to implement Create() function, so random access to format os possible (like direct warping of image into tiles).
gdal2tiles
- Maybe implemetation with simple GUI for Windows/Linux/Mac done with Python.
- Should be able to process files without proper georeference (to publish X-Ray images, vedute and other large files too).
Possible future extension (not necessary part of SoC project)
- Support for more viewers (Microsoft Virtual Earth - they have generator MapCruncher, NASA World Wind, any other?)
- Implementation of GDAL Reader for generated tile structure (could be partly based on )
- Zoomify Tile Structure as alternative / or modification of Zoomify with support for generated structure
- Maybe implementation of georeference for tilestructure by use of GML
Competitors
Commercial applications like: Arc2Earth have similar functionality, several (mostly commercial) generators for Google Earth tiles.
Zoomify could be now used as tiling program for SuperOverlay for GoogleEarth with free ZoomifierEZ and generator ZoomifyKML (which I made as part of my Master Thesis).
What new functionality this project brings
Clear open-source implementation of tile structure export. Any application which uses GDAL library could easily export files into tile structure. Supplied utility gdal2tiles will be convert any supported file format with georeference into tiles, it will allow batch mode processing of files.
GDAL is strong library for processing maps and large raster files, including reprojection, so any already georeferenced maps could be easily converted for simple on-line publishing and a webserver without special server requirements (like mapserver is). Advantages of this attitude are written in TMS Specification.
Reader could be implemented later, which will (with support on the side of UNM MapServer) allow to access published tile structure by WMS standard, if UNM MapServer will act as proxy.
Who will use result of this project for sure
Several instututions who handle processing of old maps
Student's Biography
My name is Klokan Petr Přidal, I have finished Master degree in Applied Informatics at Masaryk University of Brno, now I am in the first semester of postgraduate study of Cartography at Technical university of Prague. My Master thesis subject was "Processing and Digital Publishing of Historical Documents" (PDF of thesis in Czech).
I am fammiliar with open-source projects. I did Linux/Solaris administration. I like Python language, but I have used also other languages (C language, PHP). I have supplied some patches into Gnumeric. I founded project MPlayerOSX.sf.net and I won a competition in programming application for Mac with DictOSX.sf.net (Objective-C). My primary desktop is Gnome and Linux, but I use also Mac, Windows and Solaris. I did programming for all of this platforms (mostly smaller projects).