Geospatial Data Abstraction Library(GDAL) Sabya Sachi
Agenda Geospatial data Introduction to GDAL GDAL command line utilities
What is geospatial data? Data or information identifying the geographic location of features and boundaries on Earth Accessed, manipulated and analysed by Geographic Information System Two types: ▫Raster and Vector
Raster data ▫Contains rows and columns of data cells(pixels) ▫Each pixel stores a single value consisting of colour and some additional information ▫Stored in various formats- from tif and jpeg to BLOB as in RDBMS
Vector data ▫Geographical features expressed as vectors ▫Coordinates, points, lines, arcs and polygons ▫Geometries linked to database describing the attributes ▫Can be made to respect spatial attributes
Introduction to GDAL A open source library for reading and writing raster geospatial data formats Includes OGR library in its source tree which supports vector formats Has various command line utilities for data translation and processing Supports over 50 Raster formats Primarily developed by Frank Warmerdam until version when maintainership was transferred to GDAL/OGR Project management committee under Open Source geo spatial foundation
Crossplatform- supported on Linux, Windows, Mac Supports various softwares to read and write multiple data formats ▫Google Earth ▫Delta GIS ▫GRASS GIS ▫Orfeo Toolbox ▫………. Has all command line utilities compiled by Frank Warmerdam into a single software FWTools
GDAL Utility programs 22 utilities gdalinfo: report information about a file gdal_translate: Copy a raster file with control of output format gdaladdo: Add overview to a file gdalwarp: Warp an image into new coordinate system gdaltindex: Build a mapserver raster tile index gdalbuildvrt: Build a VRT from a list of datasets
gdal_countours: Countours from DEM gdaldem: Tools to analyze and visualize DEMs rgbgdal_merge.py: Build a quick mosaic from a set of images 2pct.py: Convert a 24 bit RGB to 8 bit paletted. pct2rgb.py: Convert a 8 bit paletted to 24 bit RGB gdal2tiles.py: Create a TML tile structure,KML and simple web viewer gdal_rasterize: Converts simple vector to raster
gdaltransform: Transform coordinates nearblack: Convert nearly black/white border to exact value gdal_retile.py: Retiles a set of tiles or build tiled pyramid levels gdal_grid: Create raster from scatter data gdal_proximity.py: Compute a raster proximity map gdal_polygonize.py: Generate polygons from raster gdal_sieve.py: Raster sieve filter gdal_fillnodata.py: Interpolate in non data regions gdal-config:Get options required to build software using GDAL
gdalinfo Lists various information about GDAL supported dataset Eg. Format driver, raster size, coordinate system, band data types, band min/max values, descriptions, nodata value etc… Syntax:
An example output
gdal_translate Converts data from one format into another Can also perform rescaling and resampling Syntax:
gdaladdo Build or rebuild overview images for most of the raster data formats Supports multiple resampling algorithms including nearest resampling cubic resampling etc. Syntax:
gdalwarp A utility for image mosaicing, reprojection and warping Mosiacing: Correcting geometric deformations Warping: Mapping a point to another in an mage without changing the data value at that point, results in distortion sometimes, aids in mosaicing.
Syntax: Supports image mosaicing only if there is existing output image Doesn’t adjust existing output image spatial extent
gdaltindex Builds a shapefile with a record for each input raster file Shapefile: Contain nontopological geometry and attribute information for the spatial features in a data set. If a shapefile already exists, new data is appended to it. Used with mapserver
Syntax:
gdaldem Used for analyzing and visualizing DEMs- Digital Elevation models Has seven modes of operation: ▫Hillshade ▫Slope ▫Aspect ▫Color relief ▫TRI(Terrain Ruggedness Index) ▫TPI(Topographic Position Index) ▫Roughness
Example: Original dem image 100% % % % %
gdaldem color-relief clip.tif ramp.txt colored.tif Coloured relief raster
gdaldem slope clip slope.tif -s Slope map
gdaldem aspect clip.tif aspect.tif Aspect map
gdaldem hillshade clip.tif hillshade.tif -z 5 -s Hillshade- colour relief
gdal_merge A python utility Automatically mosaic a set of images into a single one Images must be in same coordinate system Images have must have matching raster bands Resolution can be different Can overlap
Syntax:
Example :
Conclusion GDAL is currently a major project in open source community and commercial GIS community “ I see GDAL as the glibc/glibc++ of the geospatial software world. It's open, it provides core functionality, I can't understand how anybody gets anything done without it. ” - Howard Butler
References ata.htmlhttp:// ata.html mation_systemhttp://en.wikipedia.org/wiki/Geographic_infor mation_system Module/GIST_Vector.htmhttp:// Module/GIST_Vector.htm Module/GIST_Raster.htmhttp:// Module/GIST_Raster.htm
asterProcTutorialhttp://trac.osgeo.org/gdal/wiki/UserDocs/R asterProcTutorial n_modelhttp://en.wikipedia.org/wiki/Digital_elevatio n_model
THANK YOU