| Open Source software and GIS | p. 1 |
| Open Source concept | p. 1 |
| GRASS as an Open Source GIS | p. 3 |
| The North Carolina sample data set | p. 5 |
| How to read this book | p. 5 |
| GIS concepts | p. 7 |
| General GIS principles | p. 7 |
| Geospatial data models | p. 7 |
| Organization of GIS data and system functionality | p. 11 |
| Map projections and coordinate systems | p. 13 |
| Map projection principles | p. 13 |
| Common coordinate systems and datums | p. 16 |
| Getting started with GRASS | p. 21 |
| First steps | p. 21 |
| Download and install GRASS | p. 21 |
| Database and command structure | p. 23 |
| Graphical User Interfaces for GRASS 6: QGIS and gis.m | p. 26 |
| Starting GRASS with the North Carolina data set | p. 27 |
| GRASS data display and 3D visualization | p. 30 |
| Project data management | p. 34 |
| Starting GRASS with a new project | p. 37 |
| Defining the coordinate system for a new project | p. 40 |
| Non-georeferenced xy coordinate system | p. 44 |
| Coordinate system transformations | p. 44 |
| Coordinate lists | p. 45 |
| Projection of raster and vector maps | p. 47 |
| Reprojecting with GDAL/OGR tools | p. 48 |
| GRASS data models and data exchange | p. 53 |
| Raster data | p. 54 |
| GRASS 2D and 3D raster data models | p. 54 |
| Managing regions, raster map resolution and boundaries | p. 56 |
| Import of georeferenced raster data | p. 58 |
| Import and geocoding of a scanned historical map | p. 66 |
| Raster data export | p. 69 |
| Vector data | p. 70 |
| GRASS vector data model | p. 70 |
| Import of vector data | p. 73 |
| Coordinate transformation for xy CAD drawings | p. 78 |
| Export of vector data | p. 80 |
| Working with raster data | p. 83 |
| Viewing and managing raster maps | p. 83 |
| Displaying raster data and assigning a color table | p. 83 |
| Managing metadata of raster maps | p. 86 |
| Raster map queries and profiles | p. 88 |
| Raster map statistics | p. 90 |
| Zooming and generating subsets from raster maps | p. 91 |
| Generating simple raster maps | p. 92 |
| Reclassification and rescaling of raster maps | p. 94 |
| Recoding of raster map types and value replacements | p. 97 |
| Assigning category labels | p. 99 |
| Masking and handling of no-data values | p. 103 |
| Raster map algebra | p. 105 |
| Integer and floating point data | p. 107 |
| Basic calculations | p. 108 |
| Working with "if" conditions | p. 109 |
| Handling of NULL values in r.mapcalc | p. 110 |
| Creating a MASK with r.mapcalc | p. 111 |
| Special graph operators | p. 112 |
| Neighborhood operations with relative coordinates | p. 113 |
| Raster data transformation and interpolation | p. 115 |
| Automated vectorization of discrete raster data | p. 115 |
| Generating isolines representing continuous fields | p. 118 |
| Resampling and interpolation of raster data | p. 119 |
| Overlaying and merging raster maps | p. 124 |
| Spatial analysis with raster data | p. 126 |
| Neighborhood analysis and cross-category statistics | p. 126 |
| Buffering of raster features | p. 133 |
| Cost surfaces | p. 135 |
| Terrain and watershed analysis | p. 140 |
| Landscape structure analysis | p. 153 |
| Landscape process modeling | p. 155 |
| Hydrologic and groundwater modeling | p. 155 |
| Erosion and deposition modeling | p. 158 |
| Final note on raster-based modeling and analysis | p. 166 |
| Working with voxel data | p. 166 |
| Working with vector data | p. 169 |
| Map viewing and metadata management | p. 169 |
| Displaying vector maps | p. 169 |
| Vector map metadata maintenance | p. 172 |
| Vector map attribute management and SQL support | p. 173 |
| SQL support in GRASS 6 | p. 174 |
| Sample SQL queries and attribute modifications | p. 181 |
| Map reclassification | p. 185 |
| Vector map with multiple attribute tables: layers | p. 186 |
| Digitizing vector data | p. 187 |
| General principles for digitizing topological data | p. 187 |
| Interactive digitizing in GRASS | p. 189 |
| Vector map queries and statistics | p. 192 |
| Map queries | p. 192 |
| Raster map statistics based on vector objects | p. 194 |
| Point vector map statistics | p. 196 |
| Geometry operations | p. 196 |
| Topological operations | p. 197 |
| Buffering | p. 203 |
| Feature extraction and boundary dissolving | p. 204 |
| Patching vector maps | p. 205 |
| Intersecting and clipping vector maps | p. 206 |
| Transforming vector geometry and creating 3D vectors | p. 209 |
| Convex hull and triangulation from points | p. 211 |
| Find multiple points in same location | p. 212 |
| Length of common polygon boundaries | p. 214 |
| Vector network analysis | p. 216 |
| Network analysis | p. 216 |
| Linear reference system (LRS) | p. 221 |
| Vector data transformations to raster | p. 227 |
| Spatial interpolation and approximation | p. 230 |
| Selecting an interpolation method | p. 230 |
| Interpolation and approximation with RST | p. 235 |
| Tuning the RST parameters: tension and smoothing | p. 237 |
| Estimating RST accuracy | p. 241 |
| Segmented processing | p. 244 |
| Topographic analysis with RST | p. 247 |
| Working with lidar point cloud data | p. 249 |
| Volume based interpolation | p. 257 |
| Adding third variable: precipitation with elevation | p. 258 |
| Volume and volume-temporal interpolation | p. 261 |
| Geostatistics and splines | p. 262 |
| Graphical output and visualization | p. 263 |
| Two-dimensional display and animation | p. 263 |
| Advanced map display in the GRASS monitor | p. 263 |
| Creating a 2D shaded elevation map | p. 266 |
| Using display tools for analysis | p. 267 |
| Monitor output to PNG or PostScript files | p. 269 |
| Creating hardcopy maps with ps.map | p. 271 |
| Visualization in 3D space with NVIZ | p. 273 |
| Viewing surfaces, raster and vector maps | p. 273 |
| Querying data and analyzing multiple surfaces | p. 279 |
| Creating animations in 3D space | p. 280 |
| Visualizing volumes | p. 283 |
| Coupling with an external OpenGL viewer Paraview | p. 284 |
| Image processing | p. 287 |
| Remote sensing basics | p. 287 |
| Spectrum and remote sensing | p. 287 |
| Import of image channels | p. 291 |
| Managing channels and colors | p. 292 |
| The feature space and image groups | p. 295 |
| Data preprocessing | p. 297 |
| Radiometric preprocessing | p. 297 |
| Deriving a surface temperature map from thermal channel | p. 300 |
| Radiometric transformations and image enhancements | p. 303 |
| Image ratios | p. 303 |
| Principal Component Transformation | p. 305 |
| Geometric feature analysis with matrix filters | p. 307 |
| Image fusion | p. 310 |
| Introduction to RGB and IHS color model | p. 310 |
| Image fusion with the IHS transformation | p. 311 |
| Image fusion with Brovey transform | p. 313 |
| Thematic classification of satellite data | p. 314 |
| Unsupervised radiometric classification | p. 316 |
| Supervised radiometric classification | p. 319 |
| Supervised SMAP classification | p. 322 |
| Multitemporal analysis | p. 323 |
| Segmentation and pattern recognition | p. 326 |
| Notes on GRASS programming | p. 331 |
| GRASS programming environment | p. 331 |
| GRASS source code | p. 332 |
| Methods of GRASS programming | p. 333 |
| Level of integration | p. 334 |
| Script programming | p. 335 |
| Automated usage of GRASS | p. 338 |
| Local mode: GRASS as GIS data processor | p. 338 |
| Web based: PyWPS - Python Web Processing Service | p. 340 |
| Notes on programming GRASS modules in C | p. 341 |
| Using GRASS with other Open Source tools | p. 347 |
| Geostatistics with GRASS and gstat | p. 348 |
| Spatial data analysis with GRASS and R | p. 353 |
| Reading GRASS data into R | p. 355 |
| Kriging in R | p. 358 |
| Using R in batch mode | p. 363 |
| GPS data handling | p. 364 |
| WebGIS applications with UMN/MapServer and OpenLayers | p. 365 |
| Appendix | p. 367 |
| Selected equations used in GRASS modules | p. 367 |
| Landscape process modeling | p. 381 |
| Definition of SQLite-ODBC connection | p. 383 |
| References | p. 385 |
| Index | p. 393 |
| Table of Contents provided by Ingram. All Rights Reserved. |