The book “Open Source GIS:A GRASS GIS Approach” (ISBN: 1-4020-7088-8) was submitted to the publisher in February 2002 (at the same time GRASS 5.0.0pre3 has been released). To help the readers of the book with ongoing improvements and changes in GRASS we will maintain this web page for a while.

In general please refer to the NEWS file for a list of changes between GRASS 5.0.0pre3 and the current version.
For your convenience we list some of the changes here:

General GRASS changes:

There are many places in the book where we use ‘cd $LOCATION'. To allow for parallel sessions of GRASS with different LOCATIONs this variable no longer exists. It can be composed now by joining the variables $GISDBASE, $LOCATION_NAME and $MAPSET. The GRASS command ‘eval `g.gisenv`‘ will print related variable settings. Therefore use ‘cd $GISDBASE/$LOCATION_NAME/$MAPSET‘ instead of ‘cd $LOCATION‘.

Related change for script programming: every script must have at beginning:

Gmakefiles contain a DEP line now (needed to support optional GRASS shared libraries)

Module changes (selected changes only):

Book Page(s)

Module

Change in GRASS

generally

d.zoom

The mouse button functions have been changed after the book was published.

p. 108

d.barscale

d.barscale was updated and also the ‘at=’ parameter order has been changed from y,x to x,y. after the book was published. The command for page 108 is nowd.barscale at=5,90

p. 111

r.slope.aspect

The color table for curvatures was not written in GRASS 5.0.0pre3. This was fixed in pre4 so that you do not have to re-define the color table for the curvature map any longer.

p. 123

v.in.shape

was completely rewritten in GRASS5.0pre4 (should work much better now)

p. 130

v.transform

reads binary files now in GRASS5.0pre4 (not ASCII any more, so v.in.ascii/v.out.ascii sequence is no longer required)

p.128/143

v.alabel/v.llabel

category label support added in GRASS5.0pre4

p.140

v.trim

this command was disabled as it needs bugfixing

p. 145

v.cutter

The ‘-u’ flag no longer exists. Parameters were renamed: now the parameter ‘input=’ instead of ‘data=’ must be used. The ‘type=area’ (or both line and area) parameter must be used. So the command should be:v.cutter cutter=rstrct.areas input=soils out=soils.cut type=area

p. 167

s.surf.rst

added optional anisotropy in GRASS5.0pre4 as described in the book

p. 170

s.surf.rstcv

s.surf.rstcv module with crossvalidation added (Jaro submit?)

p. 310

Wake example

For illustration we’ll add online figures here: URL to be added

p. 311

m.in.e00

in GRASS5.0pre3 the imported file has huge negative integer number for no-data which needs to be changed to NULL (e.g. by r.null), this problem was fixed in GRASS5.0pre4 (here the import works as described in the book)

p. 313

The number 50000 is the map scale 1:50000. Always the true map scale should be given when importing SHAPE files.

general

Do we still need to exit GRASS to change LOCATION?
Switching between LOCATIONs is partially supported since pre4 or later, using any of:

Gmakefiles contain a DEP line now (needed to support optional GRASS shared libraries)

GISDBASE isn’t meant to be an “environment variable”, it’s a setting in $GISRC. Although most of the GRASS documentation is totally confused on this issue, as was some of the code as well (mostly, code written in Bourne shell, Tcl or PERL; code written in C used G_getenv(), which got it right).