AreaFillPatterns

From GRASS-Wiki
Jump to navigation Jump to search

ps.map's vector area filling command will let you set a fill pattern (hatching). You can create custom patterns. User contributed patterns can be found on this page.

Alternative: QGIS will let you load a GRASS map (with the GDAL GRASS-plugin installed) and change the area fill pattern on-screen.


Contributions

Please include a small example graphic. Upload instructions.

Also please include your name and some sort of license information.
e.g. "© 2006 Sara Grassuser, released into the public domain without restriction." This way others may freely improve and further distribute your work (e.g. it can be distributed with the next official GRASS release).

Authoring instructions

Use the ps.map vareas command's pat instruction with the full path to pattern file. The pattern file contains header and simple PS commands. It is similar to EPS but more limited, meaning that while each pattern file is a true EPS file, most EPS files are not usually useful as pattern files because they contain restricted commands. Color and width of patterns are set by fcolor and width instructions until overwritten in the pattern file. The pattern may be scaled with the scale instruction. Several standard hatching patterns are provided in $GISBASE/etc/paint/patterns/. You can also create your own custom pattern files in a text editor.

Example use

vareas fields
  pat $GISBASE/etc/paint/patterns/brick.eps
  where label ~ 'Natl. Forest'
  fcolor green
  end

Example Pattern files

  • Standard pattern files can be found in $GISBASE/etc/paint/patterns/ or from the SVN web interface. There are now a few more patterns than are shown here (zigzag and railroad), and the broken lines in these sample images (eg diag_down) have been fixed.

PostScript version of this image (created with ps.map and v.mkgrid)

Not shown: (new)

  • horiz_zigzag.eps
  • vert_zigzag.eps
  • railroad_down.eps
  • railroad_up.eps

Vertical line

As an example, here is the entire contents of the drawing rules file for the vertical line pattern (|):

%!PS-Adobe-2.0 EPSF-1.2
%%BoundingBox: 0 0 10 10
newpath
5 0 moveto
5 10 lineto
stroke

within a 10x10 bounding box it simply moves the pen to x=5,y=0 and draws a line to x=5,y=10. This pattern is then tiled over and over again within the fill area.

User contributions

-