Open Source GIS: A GRASS GIS Approach
Markus Neteler, Helena Mitasova
2. Edition 2004, 424 pages
ISBN: 1-4020-8064-6
Kluwer Academic Publishers/Springer, Boston
Book Series: The Kluwer international series in Engineering and Computer Science: Volume 773

[ New edition 2007 ]


Table of contents
  List of Figures xiii
  List of Tables xix
  Foreword xxi
  Preface to the First Edition xxv
  Preface to the Second Edition xxvii
  Acknowledgments xxix
     
1 Open Source software and GIS 1
1.1 Open Source concept 1
1.2 GRASS as an Open Source GIS 3
1.3 How to read this book 4
     
2 GIS concepts 7
2.1 General GIS principles 7
2.1.1 Geospatial data models 7
2.1.2 Organization of GIS data 11
2.1.3 GIS functionality 12
2.2 Map projections and coordinate systems 13
2.2.1 Map projection principles 14
2.2.2 Common coordinate systems 17
2.2.3 North American and European Datums 20
     
3 Getting started with GRASS 23
3.1 First steps 23
3.1.1 Download and install GRASS 23
3.1.2 Database and command structure 25
3.1.3 Starting GRASS with demo database Spearfish 28
3.1.4 GRASS file and location management 31
3.2 Starting GRASS with a new project 34
3.2.1 Latitude-Longitude 35
3.2.2 Universal Transverse Mercator 39
3.2.3 State Plane 42
3.2.4 Non-georeferenced xy coordinate system 44
3.3 Coordinate system transformations 45
3.3.1 Coordinates lists 46
3.3.2 Map layers 48
3.3.3 Reprojecting with GDAL/OGR tools 49
     
4 GRASS data models and data exchange 53
4.1 Raster data 53
4.1.1 GRASS raster data model 53
4.1.2 Managing raster map resolution and boundaries 55
4.1.3 Import of georeferenced raster data 57
4.1.4 Import and geocoding of scanned maps 61
4.1.5 Export 67
4.2 Vector data 68
4.2.1 GRASS vector data model 68
4.2.2 Import of vector data 70
4.2.3 Export of vector data 78
4.3 Sites data 80
4.3.1 GRASS sites data model 80
4.3.2 Import of sites data 81
4.3.3 Export of sites data 83
     
5 Working with raster data 85
5.1 Viewing and managing raster map layers 85
5.1.1 Displaying raster data and assigning a color table 85
5.1.2 Raster map queries and profiles 87
5.1.3 Zooming and generating subsets from raster maps 88
5.1.4 Managing metadata of raster maps 90
5.1.5 Reclassification of raster maps 91
5.1.6 Assigning category labels 93
5.1.7 Masking and handling of no-data values 97
5.2 Raster map algebra 99
5.3 Raster data transformation and interpolation 105
5.3.1 Automated vectorization of discrete raster data 105
5.3.2 Generating isolines representing continuous fields 107
5.3.3 Raster data transformation to sites 108
5.3.4 Interpolation of raster data and resampling 108
5.3.5 Recoding of raster map types and value replacements 110
5.4 Spatial analysis with raster data 111
5.4.1 Map statistics and neighborhood analysis 111
5.4.2 Overlaying and merging raster maps 115
5.4.3 Buffering of raster features 118
5.4.4 Cost surfaces 120
5.4.5 DEM and watershed analysis 123
5.4.6 Landscape structure analysis and modeling 129
     
6 Working with Vector Data 131
6.1 Digitizing vector data 131
6.1.1 General principles for digitizing topological data 132
6.1.2 Digitizing in GRASS 133
6.2 Metadata and attributes management 139
6.2.1 Managing metadata of vector maps 140
6.2.2 Map attributes modifications 140
6.3 Viewing and analysis 141
6.3.1 Displaying vector map layers 141
6.3.2 Intersecting and clipping vector maps 142
6.3.3 Map reclassification 144
6.3.4 Feature extraction from vector data 145
6.4 Vector data transformations to/from raster and sites 145
6.4.1 Automatic vectorization of raster data 146
6.4.2 Direct transformation of vector data to raster or sites 147
6.4.3 Interpolating raster surfaces from contour lines 147
     
7 Working with site data 151
7.1 Creating site data 151
7.1.1 Digitizing site data 151
7.1.2 Generating site data within GRASS 152
7.2 Viewing and managing site data 154
7.2.1 Displaying site data and creating subsets 154
7.2.2 Computing basic statistics 156
7.3 Transformation from sites to rasters and spatial interpolation 157
7.3.1 Selecting an interpolation method 157
7.3.2 Interpolating with RST: tuning the parameters 160
7.3.3 Estimating accuracy 165
7.3.4 Interpolating large data sets 166
7.3.5 Surfaces with faults 171
7.3.6 Adding third variable: precipitation with elevation 171
7.3.7 Volume and volume-temporal interpolation 174
7.3.8 Geostatistics and splines 175
     
8 Graphical output and visualization 177
8.1 Two-dimensional display and animation 177
8.1.1 Displaying map layers using the GRASS monitor 177
8.1.2 Creating a 2D shaded elevation map 180
8.1.3 Monitor output to PNG and HTML files 181
8.1.4 Animations in 2D space 183
8.2 Visualization in 3D space with NVIZ 184
8.2.1 Viewing multiple map layers 184
8.2.2 Querying and analyzing data in nviz 189
8.2.3 Creating animations in 3D space 191
8.2.4 Visualizing volumes 195
8.3 Creating hardcopy maps 196
8.3.1 Map generation with ps.map 196
8.3.2 Map design with Xfig and Skencil 198
     
9 Satellite image processing 201
9.1 Remote sensing basics 201
9.1.1 Spectrum and remote sensing 201
9.1.2 Satellite sensors 203
9.2 Satellite data import and export 206
9.2.1 Import of raw and geocoded satellite data 206
9.2.2 Export of multi-channel data sets 209
9.3 Understanding a satellite data set 209
9.3.1 Managing channels and colors 209
9.3.2 The feature space and image groups 213
9.4 Geometric and radiometric preprocessing 215
9.4.1 Geometric preprocessing 215
9.4.2 Radiometric preprocessing 222
9.4.3 Application: Deriving a surface temperature map from thermal channel 228
9.5 Radiometric transformations and image enhancements 231
9.5.1 Image ratios 231
9.5.2 Principal Component Transformation 231
9.6 Geometric feature analysis 233
9.6.1 Matrix filter: Spatial convolution filtering 234
9.6.2 Edge detection 236
9.7 Image fusion 237
9.7.1 Introduction to RGB and IHS color model 237
9.7.2 RGB color composites 238
9.7.3 Image fusion with IHS transformation 239
9.7.4 Image fusion with Brovey transformation 241
9.8 Thematic reclassification of satellite data 242
9.8.1 Unsupervised radiometric reclassification 245
9.8.2 Supervised radiometric reclassification 248
9.8.3 Supervised SMAP reclassification 251
     
10 Processing of aerial photos 253
10.1 Brief introduction to aerial photogrammetry 253
10.2 From aerial photo to orthophoto 257
10.3 Orthophoto generation 257
10.3.1 Aerial photo and LOCATIONs preparation 258
10.3.2 Orthophoto generation from vertical aerial photos 260
10.3.3 Generating orthophotos from oblique aerial photos 266
10.4 Segmentation and pattern recognition for aerial images 268
     
11 Notes on GRASS programming 271
11.1 GRASS programming environment 271
11.1.1 GRASS source code 272
11.1.2 Methods of GRASS programming 273
11.1.3 Level of integration 273
11.2 Script programming 274
11.3 Automated usage of GRASS 280
11.4 Notes on programming GRASS modules in C 282
     
12 Using GRASS: Application Examples 289
12.1 Working with Digital Elevation Models: erosion risk assessment 289
12.1.1 Computation of the LS factor 290
12.1.2 Estimating R, K, and C factors 296
12.1.3 Computing and analyzing erosion risk 298
12.2 GIS modeling for land management 301
12.2.1 Building the GIS database 302
12.2.2 Deriving new map layers 308
12.2.3 Land use analysis, problems and solutions 316
     
13 Using GRASS with other Open Source tools 327
13.1 Geostatistics with GRASS and gstat 328
13.2 Spatial data analysis with GRASS and R 333
13.2.1 Spearfish data set analysis 335
13.2.2 Maas river bank soils data analysis 344
13.2.3 Using R in batch mode 352
13.3 GPS data handling 354
13.4 WebGIS applications with UMN/MapServer 356
     
Appendices   366
A Using UNIX text tools for GIS data preparation 367
B Selected equations used in GRASS modules 371
B.1 Basic Statistics 371
B.2 Interpolation 372
B.3 Topographic analysis 373
B.4 Insolation 378
C UMN/MapServer sample configuration 383
C.1 UMN/MapServer definition file 383
C.2 UMN/MapServer HTML template 386
     
Index   389

$Date: 2008-06-05 20:15:30 +0200 (Thu, 05 Jun 2008) $

Markus Neteler, Helena Mitasova, June 2004