Cairo driver

From GRASS-Wiki
Revision as of 03:00, 27 November 2007 by ⚠️HamishBowman (talk | contribs) (summary)
Jump to navigation Jump to search

Cairo display driver

(under development)



The Cairo driver generates PNG, BMP, PPM, PS, PDF or SVG images from GRASS display commands, using the Cairo graphics library. The image format is selected from the extension of the output file.


much of this page is based on this grass-dev thread:

http://thread.gmane.org/gmane.comp.gis.grass.devel/22786

To compile GRASS 6.3 with Cairo support, make sure you have the cairo.h include file (in Debian/Etch it's in the libcairo2-dev package)

Then build grass with:

make USE_CAIRO=1


If all went well, 'd.mon -l' should list the drivers as available monitors.


Examples

Example using the driver directly:

export GRASS_CAIROFILE=spearfish.png
export GRASS_WIDTH=800
export GRASS_HEIGHT=800

d.mon start=cairo
d.rast map=elevation.10m
d.vect map=streams width=1 color=blue fcolor=aqua type=area,line
d.vect map=roads width=2
d.mon stop=cairo


Example using d.out.file:

d.mon x0
d.rast map=elevation.10m
d.vect map=streams width=1 color=blue fcolor=aqua type=area,line
d.vect map=roads width=2

d.out.file -c sf_cairo format=png size=800,800

A more complicated example using d.out.file:

r.shaded.relief map=elevation.dem
r.watershed elev=elevation.dem basin=watershed.basin thresh=10000

d.mon x1
d.shadedmap rel=elevation.dem.shade drape=watershed.basin bright=30
d.vect streams color=aqua fcolor=aqua type=area,line
d.vect roads where="label ~ 'light-duty road'" color=grey
d.vect roads where="label ~ 'unimproved'" color=orange
d.vect roads where="label ~ 'secondary highway'" color=100:100:100 width=2
d.vect roads where="label ~ 'primary highway'" color=50:50:50 width=2
d.vect railroads col=red width=2
d.vect roads where="label = 'interstate'" color=black width=3

d.vect archsites icon=basic/star size=25 fcolor=yellow

d.font Andale_Mono
echo "Spearfish, SD" | d.text color=black at=28.6,53.5 -b


d.out.file -c sf_cairo2 format=png