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) Module Correction
p. 23 NSF NFS (network file system)
p. 29, 36 tar tar -xvzf should be tar xvfz , same for cvfz
p. 46, 47 cs2cs – 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. 47 nc_stm location The correct name is ‘mync_spm’ and it is created on page 37 (Section 3.2)
p. 49, bottom gdalwarp To 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. 60 g.region also the raster map needs to be specified:
g.region rast=elevation res=30 -p
p. 61 g.region also the -a flag must be used to align:
g.region rast=ortho_2001_t792_1m res=10 -ap
p. 77 g.region, d.rast IMG_airBW_79200WC_3ft does not exist, the correct name of the raster map is ortho_2001_t792_1m
p. 81 v.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. 81 v.out.ogr

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

p. 81 v.out.ascii
v.out.ascii schools --> v.out.ascii schools_wake
p. 85 r.colors The 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. 106 r.mapcalc rand(low,high): generates random numbers between low <= x < high
p. 131, 3rd line from page bottom r.regression.line ‘medians (medX, medY)’ should read ‘means (medX, medY)’
p. 210 v.extrude v.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. 235 Statement: “It uses ‘nn’ … allows the user to define breaklines…”
is not possible since accepts only a single raster map as input.
p. 257 nviz The correct input raster maps need to be defined:
nviz lidar_dsm,lidar_dtm col=ortho_2001_t792_1m,ortho_2001_t792_1m
p. 354 install.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. 362 writeRAST6() The wrong map is written out if ‘zcol’ is not specified:
writeRAST6(annual_precip, "", zcol=3)
p. 376 Eq. A.58 index x-1 should be i-1
p. 401/Index r.param.scale The module name is missing from the Index, it is discussed on p. 149/150