ShapeFile
This plugin supports reading shapefiles. They can also be read using the [wiki:OGR] Plugin, but the shape plugin is better tested and more mature.
The shapefile plugin will run fastest if you build indexes for your shapefiles using the 'shapeindex' command line tool installed when you build Mapnik.
For other plugins see: PluginArchitecture
To check if the raster plugin built and was installed correctly you can do:
>>> from mapnik import DatasourceCache as c
>>> 'shape' in c.plugin_names()
True
See: http://svn.mapnik.org/trunk/docs/api_docs/python/mapnik-module.html#Shapefile
To style a layer use any of the Symbolizers like Point, Polygon, or Line, depending on the geometry type.
See the docstring at: http://svn.mapnik.org/trunk/docs/api_docs/python/mapnik-module.html#Shapefile
Plugin datasource initialization example code can be found on PluginArchitecture.
A Shapefile datasource may be created as follows:
#!C
{
parameters p;
p["type"]="shape";
p["file"]="path/to/my/shapefile.shp";
// Bridges
Layer lyr("Vector");
lyr.set_datasource(datasource_cache::instance()->create(p));
lyr.add_style("vector");
m.addLayer(lyr);
}
== XML ==
#!xml
<Layer name="vector" srs="+init=epsg:4236">
<StyleName>polygon</StyleName>
<Datasource>
<Parameter name="type">shape</Parameter>
<!-- you can also point to your shapefile without the 'shp' extention -->
<Parameter name="file">/path/to/your/shapefile.shp</Parameter>
</Datasource>
</Layer>