Ps.output
The ps.out try to update the standard postscript output of Grass adding new feature to design borders, graticules, categorized legends, etc
Creating maps with same layout using ps.out
To make several maps with the same layout, we use three files: map_pre, map_post, and a master file. Also we need the map_# with the particular content of the map.
The master file, to repeat the creation of all maps with the same layout, is as:
#!/bin/bash
MAP=map_ps function makemap() { echo "#!/bin/bash" > $MAP cat map_pre >> $MAP cat $1 >> $MAP cat map_post >> $MAP chmod +x $MAP ./$MAP $1 rm $MAP }
makemap map_1 makemap map_2 ...
The file map_pre include all code to execute ps.out and design the basic elements of the map, for example, title, graticule, scalebar, north-arrow, etc.
A example content is:
OUTPUT=$1 ps.out -g out=$OUTPUT.ps << EOF
paper A4 left 2cm top 2cm landscape y end
scale 1:500000
grid format iho trim -1 major 50000 width .18mm color none end minor 25000 width .18mm color none style 2 end subminor 5 font name Univers size 10 color black end fcolor black end
vlines bz_lim type boundary label Límite del Bierzo lpos -1 line width .3mm color black end end
The file map_post include the final ending code, and perhaps the common legend style. For example,
vlegend Legend frame where 25cm 12cm ref center center offset 0 0 border .3mm fcolor white margin 12 end title name Univers-Bold size 10 extend 1.25 end font name Univers size 9 end end
EOF
echo "GO Go go: $OUTPUT.pdf" ps2pdf14 $OUTPUT.ps
The file map_# include the specific code to draw the particular maps. For example,
vareas risk_range label Probabilidad de infección legend 0 line width .01mm color none style 1 end fcolor GRASSRGB$.7 cat masked y setrule 1 Muy baja setrule 2 Baja setrule 3 Media setrule 4 Alta setrule 5 Muy alta end
vpoint cs_parcela label Intensidad de ataque where ch_pr > 0 symbol basic/circle line width .1mm color black end fcolor white$.3 size ch_prx 8 scale 5 2 masked y end