Table of contents 3rd edition

Open Source GIS: A GRASS GIS Approach
Markus Neteler, Helena Mitasova
3. Edition 2007, 426 pages
Springer, New York
ISBN-10: 038735767X
ISBN-13: 978-0-387-35767-6
e-ISBN-13: 978-0-387-68574-8
Book Series: The International Series in Engineering and Computer Science: Volume 773

1 Open Source software and GIS 1
1.1 Open Source concept1
1.2 GRASS as an Open Source GIS3
1.3 The North Carolina sample data set5
1.4 How to read this book5
2 GIS concepts 7
2.1 General GIS principles7
2.1.1 Geospatial data models7
2.1.2 Organization of GIS data and system functionality11
2.2 Map projections and coordinate systems13
2.2.1 Map projection principles13
2.2.2 Common coordinate systems and datums16
3 Getting started with GRASS 21
3.1 First steps21
3.1.1 Download and install GRASS21
3.1.2 Database and command structure23
3.1.3 Graphical User Interfaces for GRASS 6: QGIS and gis.m26
3.1.4 Starting GRASS with the North Carolina data set27
3.1.5 GRASS data display and 3D visualization30
3.1.6 Project data management34
3.2 Starting GRASS with a new project37
3.2.1 Defining the coordinate system for a new project40
3.2.2 Non-georeferenced xy coordinate system44
3.3 Coordinate system transformations44
3.3.1 Coordinate lists45
3.3.2 Projection of raster and vector maps47
3.3.3 Reprojecting with GDAL/OGR tools48
4 GRASS data models and data exchange 53
4.1 Raster data54
4.1.1 GRASS 2D and 3D raster data models54
4.1.2 Managing regions, raster map resolution and boundaries56
4.1.3 Import of georeferenced raster data58
4.1.4 Import and geocoding of a scanned historical map66
4.1.5 Raster data export69
4.2 Vector data70
4.2.1 GRASS vector data model70
4.2.2 Import of vector data73
4.2.3 Coordinate transformation for xy CAD drawings78
4.2.4 Export of vector data80
5 Working with raster data 83
5.1 Viewing and managing raster maps83
5.1.1 Displaying raster data and assigning a color table83
5.1.2 Managing metadata of raster maps86
5.1.3 Raster map queries and profiles88
5.1.4 Raster map statistics90
5.1.5 Zooming and generating subsets from raster maps91
5.1.6 Generating simple raster maps92
5.1.7 Reclassification and rescaling of raster maps94
5.1.8 Recoding of raster map types and value replacements97
5.1.9 Assigning category labels99
5.1.10 Masking and handling of no-data values103
5.2 Raster map algebra105
5.2.1 Integer and floating point data107
5.2.2 Basic calculations108
5.2.3 Working with “if” conditions109
5.2.4 Handling of NULL values in r.mapcalc110
5.2.5 Creating a MASK with r.mapcalc111
5.2.6 Special graph operators112
5.2.7 Neighborhood operations with relative coordinates113
5.3 Raster data transformation and interpolation115
5.3.1 Automated vectorization of discrete raster data115
5.3.2 Generating isolines representing continuous fields118
5.3.3 Resampling and interpolation of raster data119
5.3.4 Overlaying and merging raster maps124
5.4 Spatial analysis with raster data126
5.4.1 Neighborhood analysis and cross-category statistics126
5.4.2 Buffering of raster features133
5.4.3 Cost surfaces135
5.4.4 Terrain and watershed analysis140
5.4.5 Landscape structure analysis153
5.5 Landscape process modeling155
5.5.1 Hydrologic and groundwater modeling155
5.5.2 Erosion and deposition modeling158
5.5.3 Final note on raster-based modeling and analysis166
5.6 Working with voxel data166
6 Working with vector data 169
6.1 Map viewing and metadata management169
6.1.1 Displaying vector maps169
6.1.2 Vector map metadata maintenance172
6.2 Vector map attribute management and SQL support173
6.2.1 SQL support in GRASS 6174
6.2.2 Sample SQL queries and attribute modifications181
6.2.3 Map reclassification185
6.2.4 Vector map with multiple attribute tables: layers186
6.3 Digitizing vector data187
6.3.1 General principles for digitizing topological data187
6.3.2 Interactive digitizing in GRASS189
6.4 Vector map queries and statistics192
6.4.1 Map queries192
6.4.2 Raster map statistics based on vector objects194
6.4.3 Point vector map statistics196
6.5 Geometry operations196
6.5.1 Topological operations197
6.5.2 Buffering203
6.5.3 Feature extraction and boundary dissolving204
6.5.4 Patching vector maps205
6.5.5 Intersecting and clipping vector maps206
6.5.6 Transforming vector geometry and creating 3D vectors209
6.5.7 Convex hull and triangulation from points211
6.5.8 Find multiple points in same location212
6.5.9 Length of common polygon boundaries214
6.6 Vector network analysis216
6.6.1 Network analysis216
6.6.2 Linear reference system (LRS)221
6.7 Vector data transformations to raster227
6.8 Spatial interpolation and approximation230
6.8.1 Selecting an interpolation method230
6.8.2 Interpolation and approximation with RST235
6.8.3 Tuning the RST parameters: tension and smoothing237
6.8.4 Estimating RST accuracy241
6.8.5 Segmented processing244
6.8.6 Topographic analysis with RST247
6.9 Working with lidar point cloud data249
6.10 Volume based interpolation257
6.10.1 Adding third variable: precipitation with elevation258
6.10.2 Volume and volume-temporal interpolation261
6.10.3 Geostatistics and splines262
7 Graphical output and visualization 263
7.1 Two-dimensional display and animation263
7.1.1 Advanced map display in the GRASS monitor263
7.1.2 Creating a 2D shaded elevation map266
7.1.3 Using display tools for analysis267
7.1.4 Monitor output to PNG or PostScript files269
7.2 Creating hardcopy maps with ps.map271
7.3 Visualization in 3D space with NVIZ273
7.3.1 Viewing surfaces, raster and vector maps273
7.3.2 Querying data and analyzing multiple surfaces279
7.3.3 Creating animations in 3D space280
7.3.4 Visualizing volumes283
7.4 Coupling with an external OpenGL viewer Paraview284
8 Image processing 287
8.1 Remote sensing basics287
8.1.1 Spectrum and remote sensing287
8.1.2 Import of image channels291
8.1.3 Managing channels and colors292
8.1.4 The feature space and image groups295
8.2 Data preprocessing297
8.2.1 Radiometric preprocessing297
8.2.2 Deriving a surface temperature map from thermal channel300
8.3 Radiometric transformations and image enhancements303
8.3.1 Image ratios303
8.3.2 Principal Component Transformation305
8.4 Geometric feature analysis with matrix filters307
8.5 Image fusion310
8.5.1 Introduction to RGB and IHS color model310
8.5.2 Image fusion with the IHS transformation311
8.5.3 Image fusion with Brovey transform313
8.6 Thematic classification of satellite data314
8.6.1 Unsupervised radiometric classification316
8.6.2 Supervised radiometric classification319
8.6.3 Supervised SMAP classification322
8.7 Multitemporal analysis323
8.8 Segmentation and pattern recognition326
9 Notes on GRASS programming 331
9.1 GRASS programming environment331
9.1.1 GRASS source code332
9.1.2 Methods of GRASS programming333
9.1.3 Level of integration334
9.2 Script programming335
9.3 Automated usage of GRASS338
9.3.1 Local mode: GRASS as GIS data processor338
9.3.2 Web based: PyWPS – Python Web Processing Service340
9.4 Notes on programming GRASS modules in C341
10 Using GRASS with other Open Source tools 347
10.1 Geostatistics with GRASS and gstat348
10.2 Spatial data analysis with GRASS and R353
10.2.1 Reading GRASS data into R355
10.2.2 Kriging in R358
10.2.3 Using R in batch mode363
10.3 GPS data handling364
10.4 WebGIS applications with UMN/MapServer and OpenLayers365
A Appendix 367
A.1 Selected equations used in GRASS modules367
A.2 Landscape process modeling381
A.3 Definition of SQLite-ODBC connection383
References 385
Index 393