17-03-2011, 09:41 AM
Presented by:
Sabya Sachi
[attachment=10356]
Geospatial Data Abstraction Library(GDAL)
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 1.3.2 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% 255 255 255
75% 235 220 175
50% 190 185 135
25% 240 250 150
0% 50 180 50
• gdaldem color-relief clip.tif ramp.txt colored.tif
Coloured relief raster
• gdaldem slope clip slope.tif -s 111120
Slope map
• gdaldem aspect clip.tif aspect.tif
Aspect map
• gdaldem hillshade clip.tif hillshade.tif -z 5 -s 111120
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