Ps.output

From GRASS-Wiki
Revision as of 18:50, 27 September 2010 by ⚠️Ejtizado (talk | contribs)
Jump to navigation Jump to search

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