With GIS technology increasingly available to a wider audience on devices from apps on smartphones to satnavs in cars, many people routinely use spatial data in a way which used to be the preserve of GIS specialists. However spatial data is stored and analyzed on a computer still tends to be described in academic texts and articles which require specialist knowledge or some training in computer science. Developed to introduce computer science literature to geography students, GIS Fundamentals, Second Edition provides an accessible examination of the underlying principles for anyone with no formal training in computer science.
See What’s New in the Second Edition:
- Coverage of the use of spatial data on the Internet
- Chapters on databases and on searching large databases for spatial queries
- Improved coverage on route-finding
- Improved coverage of heuristic approaches to solving real-world spatial problems
- International standards for spatial data
The book begins with a brief but detailed introduction to how computers work and how they are programmed, giving anyone with no previous computer science background a foundation to understand the remainder of the book. As with all parts of the book there are also suggestions for further sources of reading. The book then describes the ways in which vector and raster data can be stored and how algorithms are designed to perform fundamental operations such as detecting where lines intersect. From these simple beginnings the book moves into the more complex structures used for handling surfaces and networks and contains a detailed account of what it takes to determine the shortest route between two places on a network. The final sections of the book review problems, such as the "Travelling Salesman" problem, which are so complex that it is not known whether an optimum solution exists.
Using clear, concise language, but without sacrificing technical rigour, the book gives readers an understanding of what it takes to produce systems which allow them to find out where to make their next purchase and how to drive to the right place to collect it.
Table of Contents
How Computers Solve Problems
How Computers Represent the World: Data Modelling
The Structure of a Computer
Pseudocode and Computer Programming
What Are Databases and Why Are They Important?
Storing Spatial Data in a Relational Database
Solutions to the Problems of Storing Spatial Data in RDBMS
Vector Data Structures
Simple Storage of Vector Data
Topological Storage of Vector Data
So What Is Topology?
And How Does It Help? The Example of DIME
More on Topological Data Structures
And a Return to Simple Data Structures
Vector Algorithms for Lines
Simple Line Intersection Algorithm
Why the Simple Line Intersection Algorithm Would Not Work: A Better Algorithm
Dealing with Wiggly Lines
Calculations on Lines: How Long Is a Piece of String?
Line Intersection: How It Is Really Done
Vector Algorithms for Areas
Calculations on Areas: Single Polygons
Calculations on Areas: Multiple Polygons
Point in Polygon: Simple Algorithm
… and Back to Topology for a Better Algorithm
The Efficiency of Algorithms
How Is Algorithm Efficiency Measured?
Efficiency of the Line Intersection Algorithm
More on Algorithm Efficiency
Raster Data Structures
Raster Data in Databases
Raster Data Structures: The Array
Saving Space: Run Length Encoding and Quadtrees
Data Structures for Images
Raster Algorithms: Attribute Query for RunLength Encoded Data
Raster Algorithms: Attribute Query for Quadtrees
Raster Algorithms: Area Calculations
Data Structures for Surfaces
Data Models for Surfaces
Algorithms for Creating Grid Surface Models
Algorithms for Creating a Triangulated Irregular Network
Grid Creation Revisited
Algorithms for Surfaces
Elevation, Slope and Aspect
Hydrological Analysis Using a TIN
Determining Flow Direction Using a Gridded DEM
Using the Flow Directions for Hydrological Analysis
Data Structures and Algorithms for Networks
Networks in Vector and Raster
Shortest Path Algorithm
Data Structures for Network Data
Faster Algorithms for Finding the Shortest Route
Strategies for Efficient Data Access
Tree Data Structures
Indexing and Storing D Data Using Both Coordinates
Space-Filling Curves for Spatial Data
Spatial Filling Curves and Data Clustering
Space-Filling Curves for Indexing Spatial Data
Heuristics for Spatial Data
Travelling Salesman Problem
Computability and Decidability
Stephen Mark Wise is a senior lecturer in the Department of Geography at the University of Sheffield, UK. His teaching and research is mostly concerned with GIS.
"Steve Wise has produced a book that is a marvelous complement to GIS courses, taking the reader on an excursion back to the fundamentals of spatial representation. Vectors, rasters, surfaces and networks are explained in depth and enrich the study of GIS to the point where students can progress their knowledge of the field to practical and professional applications."
––Michael Batty, Centre for Advanced Spatial Analysis, University College London, UK
"After having had the pleasure of being reviewer of the first edition of the book, it is great to see the success continued in the second version. Given the transition from stand-alone GIS to a crucial component in the information infrastructure of today’s society, the extended coverage of data management in the new version is an important improvement. …the book gives clear insight into the Geo-ICT machinery to a much wider audience than just computer scientists."
––Peter van Oosterom, Delft University of Technology, South Holland, Netherlands
Clearly and engagingly written, and importantly free from unnecessary jargon, this text provides a helpful and well-considered overview of the ‘inside’ workings of GIS. This is a book for students and other GI users wishing to develop more than just good software skills by strengthening their knowledge and understanding of the science and technology that underpins GIS.
—Graham Smith, UNIGIS UK, Manchester Metropolitan University
To gain access to the instructor resources for this title, please visit the Instructor Resources Download Hub.
You will be prompted to fill out a regist