Ps.output: Difference between revisions
⚠️Ejtizado (talk | contribs) No edit summary  | 
				⚠️Ejtizado (talk | contribs)  No edit summary  | 
				||
| Line 9: | Line 9: | ||
=== -e ===  | === -e ===  | ||
Make an output file without the postscript header. Useful when is embebed into other ps.out map.  | Make an output file without the postscript header. Useful when is embebed into other ''ps.out'' map.  | ||
=== -g ===  | === -g ===  | ||
Use the extended PostScript of Ghostscript (for transparent colors)  | Use the extended PostScript of Ghostscript (for transparent colors only)  | ||
=== -s ===    | === -s ===    | ||
| Line 40: | Line 40: | ||
Examples of decorations:  | Examples of decorations:  | ||
''north 700000 4700000'' [[File:ps_out_north1.png]],  ''north 5cm 16.5cm -'' [[File:ps_out_north2.png]], maplimits [[File:ps_out_maplimits.png]]  | ''north 700000 4700000'' [[File:ps_out_north1.png]],  ''north 5cm 16.5cm -'' [[File:ps_out_north2.png]], maplimits [[File:ps_out_maplimits.png]]  | ||
''compass 700000 4700000 10000 10.2345'' [[File:ps_out_compass.png]]    | |||
== Common elements on the map ==  | == Common elements on the map ==  | ||
=== Graticule ===  | === Graticule ===  | ||
Draw a graticula around the map.   | |||
[[File:ps_out_iho.png]] IHO  | |||
[[File:ps_out_can.png]] CAN  | |||
[[File:ps_out_out.png]] OUT  | |||
[[File:ps_out_in.png]] IN  | |||
==== grid ====  | ==== grid ====  | ||
Revision as of 17:39, 8 October 2010
The ps.out try to update the standard postscript output of Grass adding new feature to design borders, graticules, categorized legends, etc
Command line flags
-d
Draw a 1x1 cm grid on paper to help the placement of the elements of the map.
 bottom-left corner of an A4 paper draw with flag -d 
-e
Make an output file without the postscript header. Useful when is embebed into other ps.out map.
-g
Use the extended PostScript of Ghostscript (for transparent colors only)
-s
Draw the small digit of coordinate numbers in lower instead upper.
Generic Instructions
Map paper and decorations
paper
The block paper has an online value to define the base size of the paper. Valid options are: B0-6, A0-6, Legal, Ledger, Tabloid, Executive, or Folio. For all, the default left and right margins are 0.5 inch, and 1 inch in top and bottom margins. Custom dimensions are possibles with commands height and width while margins with the commands left, right, top, and bottom.
Also, in ps.out is possible define the backcolor of the paper (color), orientation (landscape), default font (font) and free draw of decorates as watermarks before any feature of the map is drawn (draw).
draw
The block draw run over map and all is clipped to the map limits.
However, it's has an optional value to modify this. Valid options are: (1) paper: run before any map feature is drawn (equivalent to place inside paper block); and (2) free: run after all map features are drawn then it's draw over map but not clipped.
Examples of decorations:
north 700000 4700000 
,  north 5cm 16.5cm - 
, maplimits 
compass 700000 4700000 10000 10.2345 
 
Common elements on the map
Graticule
Draw a graticula around the map.
grid
geogrid
Map types
Raster maps: raster
Vector maps: vareas
Line maps: vlines
Point maps: vpoints
Map legends: vlegend, rlegend
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: 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
    draw
      color 70:70:70
      linewidth .4mm
      rect 22cm 2cm 28cm 19cm 240:240:240
        color black
        font OffensiveBold 10 .8
        text 25cm 6cm "MAIN TITLE"
    end
 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





