Table of contents 2nd edition
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 ]
| 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 |