= Google Summer of Code = GDAL participates in the [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] under the OSGeo umbrella. * [wiki:SoCProjects 2007 Projects and 2008 Proposals] == 2008 Project Candidates == The following applications appear to relate to GDAL/OGR. You need to be logged into the Google dashboard to follow the links. * [http://code.google.com/soc/2008/osgeo/app.html?csaid=MxYLAApacyYIORoIXQheXntVaUYHRw4JUntIbBAAEloAUnI%3D%0A GDAL Read/Write Driver for TMS Tiles] (Václav Klusák) * [http://code.google.com/soc/2008/osgeo/app.html?csaid=Mx8LGApfcyYIORoIXQheXntVaUpTRQ0CUHtIbkFXSg9UCnY%3D%0A GDAL2Tiles Improvement] (Petr Pridal) * [http://code.google.com/soc/2008/osgeo/app.html?csaid=NRIWFwpDbC4JIRIkHgpYX28XLUlUQ10GUXRVbUlSF1gJUnNQYA%3D%3D%0A Openstreetmap OGR Driver] (Olga Mardar) == 2008 Ideas List == These are suggestions. Students are encouraged to come up with their own ideas as well. 1. Implement GeoPNG/GeoJPEG by embedding coordinate system and geotransformation information (possibly in GML) as chunks in PNG and JPEG files (see GML JP2 for a model of how this might be done). * [http://portal.opengeospatial.org/files/?artifact_id=13252 GMLJP2 Specification] * GMLJP2 Code: [http://svn.osgeo.org/gdal/trunk/gdal/gcore/gdaljp2metadata.cpp gdaljp2metadata.cpp] [http://svn.osgeo.org/gdal/trunk/gdal/gcore/gdalgmlcoverage.cpp gdalgmlcoverage.cpp] * [http://trac.osgeo.org/gdal/ticket/1742] was an attempt to provide georeferencing to PNG, GIF and JPEG datasets. The format itself used lacks standardization, but the mechanisms used can be usefull. 2. [http://svn.osgeo.org/gdal/trunk/gdal/frmts/png PNG Driver (using libpng)] * [http://svn.osgeo.org/gdal/trunk/gdal/frmts/jpeg JPEG Driver (using libjpeg)] 3. OGR WFS read (or read/write) driver using existing OGR GML driver for feature parsing. * [http://portal.opengeospatial.org/files/?artifact_id=14145 OGC WFS Specification] * [http://www.opengeospatial.org/standards/wfs The OpenGIS Web Feature Service (WFS) Implementation Specification] * [http://www.gdal.org/ogr/ogr_drivertut.html OGR Driver Tutorial] 4. Implementation of alternative driver for GML 2 and GML 3 using [http://expat.sourceforge.net/ Expat XML Parser] 5. Implementation of read-only WFS driver using GML driver based on the Expat XML Parser. 6. Develop a driver for GeoRSS * [http://georss.org GeoRSS specification] 7. Develop a driver for [http://www.openstreetmap.org/ OpenStreetMap] protocol * [http://wiki.openstreetmap.org/index.php/Protocol OSM Protocol Stack] 8. Develop a driver for IBM DB2 and its Spatial Extender * [http://www-306.ibm.com/software/data/spatial/db2spatial/ DB2 Spatial Extender] 9. Extend [http://gdal.org/ogr/drv_geojson.html GeoJSON] driver with cashing capabilities when accessing remote datasource. 10. Development of Java bindings. 11. GDAL/OGR for Windows CE: porting new drivers 12. Development of [http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29 C# language] [http://www.swig.org SWIG] bindings for [http://en.wikipedia.org/wiki/.NET_Compact_Framework .NET Compact Framework] and creating test applications for it. 13. Creating an ASP.NET multithreading testbed for the GDAL C# bindings, by using the [http://msdn2.microsoft.com/en-us/library/3dasc8as(VS.80).aspx thread pool] approach. 14. Development of bindings for new programming languages: [http://www.lua.org/ Lua], [http://en.wikipedia.org/wiki/Ada_%28programming_language%29 Ada] ([http://en.wikipedia.org/wiki/GNAT GNAT]), ''put your favorite language here'' 15. Development of GDAL Read/Write Driver for tiles, derived from [http://www.gdal.org/gdal2tiles.html GDAL2Tiles utility]. 16. GDAL2Tiles - support for TMS tiles with global-mercator profile to make overlays with Google Maps, MS Virtual Earth, etc. possible. 17. Extend the HDF5 driver to support writing datasets. This should include an effort to produce HDF5 datasets according to NASA HDF5 metadata conventions where possible. HDF5 is a new generation format expected to be widely used for science data products from NASA and other agencies. 18. GDAL_CALC.PY - Development of a simple raster calculator based on Python+GDAL. Use sample: % gdal_calc a=img1.tif b=img2.tif c=img3.tif -calc c=((a+b)/2) 19. Develop an enhanced KML driver using Google's [http://code.google.com/p/libkml/ libkml] library. A new driver based around Google's reference implementation would fix some limitations in the current driver (no multi-geometries, no KMZ support, etc), make it easier to keep the driver up to date as KML evolves, and should generally make it easier for GDAL software to exchange data with Google Earth. Both OGR (vector) and GDAL (raster) KML drivers could be developed.