Errata 3rd Edition

Open Source GIS: A GRASS GIS Approach
Markus Neteler, Helena Mitasova
3. Edition 2008, 406 pages
ISBN: 978-0-387-35767-6
Springer, New York
Book Series: The International Series in Engineering and Computer Science: Volume 773


Book Page(s)ModuleCorrection
p. 23NSFNFS (network file system)
p. 29, 36tartar -xvzf should be tar xvfz , same for cvfz
p. 46, 47cs2cs– an extended list of projections is generated with ‘cs2cs -lP’- last line on p. 46 should say: see EPSG code 2163,
epsg:3358 is for the initial coord. system NC State Plane
p. 47nc_stm locationThe correct name is ‘mync_spm’ and it is created on page 37 (Section 3.2)
p. 49, bottomgdalwarpTo maintain the resolution, it is recommended to use ‘-tr xres yres’:

gdalwarp -t_srs "`g.proj -wf`" -tr 28.5 28.5 -te $w $s $e $n \
         p016r035_7t20020524_z17_nn30.tif \
p. 60g.regionalso the raster map needs to be specified:
g.region rast=elevation res=30 -p
p. 61g.regionalso the -a flag must be used to align:
g.region rast=ortho_2001_t792_1m res=10 -ap
p. 77g.region, d.rastIMG_airBW_79200WC_3ft does not exist, the correct name of the raster map is ortho_2001_t792_1m
p. 81v.out.ogr
v.out.ogr soils soils --> v.out.ogr soils_general
v.out.ogr schools --> v.out.ogr schools_wake
v.out.ogr roads --> v.out.ogr roads_major
p. 81v.out.ogr

is missing in the mapset, see errata for v.extrude below how to create it from the vector map facility

p. 81v.out.ascii
v.out.ascii schools --> v.out.ascii schools_wake
p. 85r.colorsThe numeric value related to the color was missing for “brown”. Additionally, from GRASS 6.4 onwards, the RGB triplets have to be separated by colons (255 255 0 -> 255:255:0):

 > 0% aqua
 > 20% green
 > 100 255:255:0   #yellow
 > 120 orange
 > 157 brown
 > end
p. 106r.mapcalcrand(low,high): generates random numbers between low <= x < high
p. 131, 3rd line from page bottomr.regression.line‘medians (medX, medY)’ should read ‘means (medX, medY)’
p. 210v.extrudev.extrude requires polygons as input to extrude to 3D house blocks:

 v.extract P079215 out=bldg_resid where="layer='BLDG_RESID_BL'"
 v.extract P079215 out=bldg_cmcl where="layer='BLDG_COMMER_BL'"

# add these new commands:
 v.type bldg_resid out=bldg_resid_bnd type=line,boundary
 v.centroids bldg_resid_bnd out=bldg_resid_pol
 v.type bldg_cmcl out=bldg_cmcl_bnd type=line,boundary
 v.centroids bldg_cmcl_bnd out=bldg_cmcl_pol

 # add height of the building (use new input maps)
 v.extrude -t bldg_resid_pol out=bldg_resid_3d height=10 \
 v.extrude -t bldg_cmcl_pol  out=bldg_cmcl_3d height=15 \
p. “It uses ‘nn’ … allows the user to define breaklines…”
is not possible since accepts only a single raster map as input.
p. 257nvizThe correct input raster maps need to be defined:
nviz lidar_dsm,lidar_dtm col=ortho_2001_t792_1m,ortho_2001_t792_1m
p. 354install.packages()The command is incomplete:
# non-Mac users
install.packages(c("spgrass6", "gstat"), dependencies = TRUE)
# Mac users
install.packages(c(“spgrass6”, “gstat”), type=”source”, dependencies = TRUE)
p. 362writeRAST6()The wrong map is written out if ‘zcol’ is not specified:
writeRAST6(annual_precip, "", zcol=3)
p. 376Eq. A.58index x-1 should be i-1
p. 401/Indexr.param.scaleThe module name is missing from the Index, it is discussed on p. 149/150