This plugin supports the GDAL library in order to read a lot of spatial geo raster data from multiple formats.

For other plugins see: PluginArchitecture

Installation

Make sure that running python scons/scons.py shows the following line

Checking for gdal-config --libs... yes
Checking for gdal-config --cflags... yes

To check if the gdal plugin built and was installed correctly you can do:

>>> from mapnik import DatasourceCache as c
>>> 'gdal' in c.plugin_names()
True

Parameters

parameter value description default
file string file of the raster to be read
base string base path where to search for file parameter
shared boolean wheter to open the dataset in shared mode (allowing save of resources when using multiple access to the same files) or not false

Styling

To style a layer from GDAL use the RasterSymbolizer

Usage

This plugin in Mapnik >= 0.7.0 supports reading overviews created with http://www.gdal.org/gdaladdo.html

Python

style=Style()
rule=Rule()
rule.symbols.append(RasterSymbolizer())
style.rules.append(rule)
map.append_style('Raster Style',style)
lyr = Layer('GDAL Layer from TIFF file')
lyr.datasource = Gdal(base='/path/to/your/data',file='raster.tif')
lyr.styles.append('Raster Style')

See the docstring at: http://svn.mapnik.org/trunk/docs/api_docs/python/mapnik-module.html#Gdal

XML

<!-- NOTE: must be in the same SRS as your map-->
<Layer name="GDAL Layer from TIFF file">
        <StyleName>raster</StyleName>
        <Datasource>
                <Parameter name="type">gdal</Parameter>
                <Parameter name="file">/path/to/your/data/raster.tiff</Parameter>
        </Datasource>
</Layer>

C++

Plugin datasource initialization example code can be found on PluginArchitecture.

A GDAL datasource may be created as follows:

{
    parameters p;
    p["type"]="gdal";
    p["file"]="/path/to/your/data/raster.tiff";

    Layer lyr("GDAL Layer from TIFF file");
    set_datasource(datasource_cache::instance()->create(p));
    lyr.add_style("raster");
    m.addLayer(lyr);
}

Further References