Difference between revisions of "GDAL2Tiles SoC 2007"
Wiki-Klokan (talk | contribs) |
Wiki-Hao2309 (talk | contribs) |
||
(11 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {| {{Prettytable}} | ||
+ | | The Google Summer of Code project is finished. Results and source codes are published on project web page: [http://www.klokan.cz/projects/gdal2tiles/ GDAL2Tiles: Utility for easy tile-based publishing of raster maps and KML generation]. Usage tips and manual page is available on GDAL wiki page [http://trac.osgeo.org/gdal/wiki/UserDocs/Gdal2Tiles Gdal2Tiles Utility]. Project was accepted by GDAL community as [http://trac.osgeo.org/gdal/ticket/1763 #1763]. Utility is going to be distributed with new version of GDAL 1.5.0, but it is usable also now with stable branch of GDAL and FWTools. | ||
+ | |} | ||
+ | |||
+ | |||
+ | For suggestions and new ideas please use [[Talk:GDAL2Tiles_SoC_2007]]. | ||
+ | |||
[[Image:Pyramid.jpg|thumb|right|286px|Pyramid Tile Structure]] | [[Image:Pyramid.jpg|thumb|right|286px|Pyramid Tile Structure]] | ||
Implementation of [http://www.gdal.org/gdal_drivertut.html Raster Driver for GDAL library], which will allow to write PNG/JPG '''Pyramid Tile Structure''' as a newly 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: | Implementation of [http://www.gdal.org/gdal_drivertut.html Raster Driver for GDAL library], which will allow to write PNG/JPG '''Pyramid Tile Structure''' as a newly 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: | ||
Line 6: | Line 13: | ||
*[http://www.openlayers.org/ OpenLayers] | *[http://www.openlayers.org/ OpenLayers] | ||
*[http://www.worldkit.org/ WorldKit] | *[http://www.worldkit.org/ WorldKit] | ||
− | |||
and probably other viewers. | and probably other viewers. | ||
Line 19: | Line 25: | ||
== Implementation details == | == Implementation details == | ||
− | === Pyramid Tile Structure === | + | === Pyramid Tile Structure and Metadata === |
* Metadata from [http://wiki.osgeo.org/index.php/Tile_Map_Service_Specification TMS Specification] will be created as a main source of georeference (especially [http://wiki.osgeo.org/index.php/Tile_Map_Service_Specification#TileMap_Resource TileMap Resource XML]). | * Metadata from [http://wiki.osgeo.org/index.php/Tile_Map_Service_Specification TMS Specification] will be created as a main source of georeference (especially [http://wiki.osgeo.org/index.php/Tile_Map_Service_Specification#TileMap_Resource TileMap Resource XML]). | ||
* KML supports only EPSG:4326 (latlong with WGS84 datum) projection, so reprojection is needed if source projection is different. How to turn off unneeded tiles by Regions in KML? | * KML supports only EPSG:4326 (latlong with WGS84 datum) projection, so reprojection is needed if source projection is different. How to turn off unneeded tiles by Regions in KML? | ||
* It would be nice to support zoom levels of Google Maps tiles (this have to be checked, maybe from [http://mapnik.org/ Mapnik] project, example of [http://mapnik.org/tiling/oxford/ generated tiles]. More info is available here: http://michal.guerquin.com/googlemaps.html and http://docs.codehaus.org/display/GEOSDOC/Google+Maps | * It would be nice to support zoom levels of Google Maps tiles (this have to be checked, maybe from [http://mapnik.org/ Mapnik] project, example of [http://mapnik.org/tiling/oxford/ generated tiles]. More info is available here: http://michal.guerquin.com/googlemaps.html and http://docs.codehaus.org/display/GEOSDOC/Google+Maps | ||
− | |||
=== GDAL Driver === | === GDAL Driver === | ||
Line 37: | Line 42: | ||
== Possible future extension (not necessarily part of SoC project) == | == Possible future extension (not necessarily part of SoC project) == | ||
− | * Support for | + | * Support for [http://dev.live.com/virtualearth/sdk/ Microsoft Virtual Earth] - they have generator [http://research.microsoft.com/mapcruncher/ MapCruncher] |
+ | * Support for [http://worldwind.arc.nasa.gov/ NASA World Wind]. Tile generation for [http://www.worldwindcentral.com World Wind] is done via GDAL using the dstile utility available [http://www.worldwindcentral.com/wiki/Dstile_howto here]. Source code is [http://www.worldwindcentral.com/wiki/Making_Layers here]. Does it have only fixed internal structure of tiles or tile structure (names of directories and png files) could be done by TMS recomendation? | ||
+ | * Maybe support of [http://www.ossim.org/OSSIM/ossimPlanet.html OSSIM Planet]. | ||
* Simple GUI for 'gdal2tiles' under Windows/Linux/Mac done with Python (one of WxWidgets/TKinter/EasyDialogs). | * Simple GUI for 'gdal2tiles' under Windows/Linux/Mac done with Python (one of WxWidgets/TKinter/EasyDialogs). | ||
* Implementation of GDAL Reader for generated tile structure (could be based on [https://svn.osgeo.org/svn/gdal/trunk/gdal/frmts/wcs/ gdal/frmts/wcs], thanks FrankW) | * Implementation of GDAL Reader for generated tile structure (could be based on [https://svn.osgeo.org/svn/gdal/trunk/gdal/frmts/wcs/ gdal/frmts/wcs], thanks FrankW) | ||
Line 51: | Line 58: | ||
== Competitors == | == Competitors == | ||
− | + | Proprietary applications like: [http://www.arc2earth.com/ Arc2Earth] have similar functionality. Several (mostly proprietary) generators for Google Earth tiles were mentioned on http://www.ogleearth.com/. | |
Microsoft Research project [http://research.microsoft.com/mapcruncher/ MapCruncher] also generates tiles, but with metadata only for their MS Virtual Earth. | Microsoft Research project [http://research.microsoft.com/mapcruncher/ MapCruncher] also generates tiles, but with metadata only for their MS Virtual Earth. | ||
Line 87: | Line 94: | ||
I am interested in historical cartography, I have several presentations about old maps and free software. I made a czech web page about it at http://www.staremapy.cz/ and registered domain http://www.oldmapsonline.org/ (which is not in use yet). | I am interested in historical cartography, I have several presentations about old maps and free software. I made a czech web page about it at http://www.staremapy.cz/ and registered domain http://www.oldmapsonline.org/ (which is not in use yet). | ||
− | + | ||
+ | |||
+ | [[Category:Google Summer of Code]] |
Latest revision as of 09:30, 1 May 2016
The Google Summer of Code project is finished. Results and source codes are published on project web page: GDAL2Tiles: Utility for easy tile-based publishing of raster maps and KML generation. Usage tips and manual page is available on GDAL wiki page Gdal2Tiles Utility. Project was accepted by GDAL community as #1763. Utility is going to be distributed with new version of GDAL 1.5.0, but it is usable also now with stable branch of GDAL and FWTools. |
For suggestions and new ideas please use Talk:GDAL2Tiles_SoC_2007.
Implementation of Raster Driver for GDAL library, which will allow to write PNG/JPG Pyramid Tile Structure as a newly 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:
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, Google Maps and other online viewers from any of applications which use GDAL library.
Idea for this project was suggested by FrankW at GDAL SoC Ideas.
Implementation details
Pyramid Tile Structure and Metadata
- Metadata from TMS Specification will be created as a main source of georeference (especially TileMap Resource XML).
- KML supports only EPSG:4326 (latlong with WGS84 datum) projection, so reprojection is needed if source projection is different. How to turn off unneeded tiles by Regions in KML?
- It would be nice to support zoom levels of Google Maps tiles (this have to be checked, maybe from Mapnik project, example of generated tiles. More info is available here: http://michal.guerquin.com/googlemaps.html and http://docs.codehaus.org/display/GEOSDOC/Google+Maps
GDAL Driver
- implements Create() function, so random access to format is possible (so for example direct warping of image into tiles will run).
GDAL2Tiles utility
- Command-line utility similar to existing GDAL utilities.
- Should be able to process files without proper georeference (to publish X-Ray images, vedute and other large bitmap files too).
Possible future extension (not necessarily part of SoC project)
- Support for Microsoft Virtual Earth - they have generator MapCruncher
- Support for NASA World Wind. Tile generation for World Wind is done via GDAL using the dstile utility available here. Source code is here. Does it have only fixed internal structure of tiles or tile structure (names of directories and png files) could be done by TMS recomendation?
- Maybe support of OSSIM Planet.
- Simple GUI for 'gdal2tiles' under Windows/Linux/Mac done with Python (one of WxWidgets/TKinter/EasyDialogs).
- Implementation of GDAL Reader for generated tile structure (could be based on gdal/frmts/wcs, thanks FrankW)
- Zoomify Tile Structure as alternative or modification of Zoomify with support for generated structure
- Maybe implementation of georeference for tilestructure by use of GML.
Schedule
- May 28: Designing the file format, XML Metadata formats(KML, TMS XML files, MS Virtual Earth, ...?) which will be supported have to be chosen and tested with their respective viewer applications, 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.
Competitors
Proprietary applications like: Arc2Earth have similar functionality. Several (mostly proprietary) generators for Google Earth tiles were mentioned on http://www.ogleearth.com/.
Microsoft Research project MapCruncher also generates tiles, but with metadata only for their MS Virtual Earth.
Zoomify could be now used as tiling program for SuperOverlay in GoogleEarth with free ZoomifyerEZ and generator ZoomifyKML (which I created as a part of my Master Thesis).
What new functionality this project brings
Clean open-source implementation of tile structure export. Any application which uses GDAL library will easily be able to export files into a tile structure. Supplied utility gdal2tiles will convert any supported file format with georeference into tiles, it will also 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 on a webserver without special server requirements (like MapServer is). Advantages of this approach are described in TMS Specification.
Reader could be implemented later, which will (with support on the side of UNM MapServer) allow to access published tile structure using WMS standard, where UNM MapServer will act as a proxy.
Who will use results of this project
Several organizations and individuals who handle processing of maps.
Institutions which will use the 'gdal2tiles' utility from this project, as I am cooperating with them:
- Moravian Library in Brno, Czech Republic
- Historical institute of Czech Academy of Sciences
- Czech National Library
- National Library of Scotland
- University of Connecticut Library (with their grant "Building a Globally Distributed Historical Sheet Map Set of Austro-Hungarian Topographic Maps, 1877-1914", cooperating with New York Public Library, University of Connecticut Library, and Library of the American Geographical Society. It is a grant about building a scalable workflow and toolset for map libraries to add cartographic content to the Web.)
Student's Biography
My name is Klokan Petr Přidal, I have finished Master degree in Applied Informatics at Masaryk University in Brno, now I am in the first semester of postgraduate study of Cartography at Czech Technical University in Prague. My Master thesis subject was "Processing and Digital Publishing of Historical Documents" (PDF of thesis in Czech).
I am familiar with open-source projects. I have experience with Linux/Solaris system administration. I like Python language, but I have also used other languages (C language, PHP). I have supplied some patches into Gnumeric (#330129, #334257). I founded a http://mplayerosx.sf.net/ project and I also won a competition in programming application for Mac using http://dictosx.sf.net/ (Objective-C). My primary desktop is Gnome and Linux, but I also use Mac, Windows and Solaris. I did programming for all of these platforms (mostly smaller projects).
I am interested in historical cartography, I have several presentations about old maps and free software. I made a czech web page about it at http://www.staremapy.cz/ and registered domain http://www.oldmapsonline.org/ (which is not in use yet).