1. Introduction
How computers solve problems
How computers represent the world : data modelling
Structure of a computer
Pseudocode and computer programming
2. Databases
Relational database
Storing spatial data in a relational database
Solutions to the problems of storing spatial data in RDBMS
3. Vector data structures
Simple storage of vector data
Topological storage of vector data
Topology
Example of DIME
Topological data structures
Simple data structure
4. Vector algorithms for lines
Simple line intersection algorithm
Dealing with wiggly lines
Calculations on lines
Line intersection
5. Vector algorithms for areas
Calculations on areas : single polygons
Calculations on areas : multiple polygons
Point in polygon : simple algorithm
Back to topology for a better algorithm
6. The efficiency of algorithms
How is algorithm efficiency measured?
Efficiency of the line intersection algorithm
More on algorithm efficiency
7. Raster data structures
Raster data in databases
Raster data structures : the array
Saving space : run length encoding and quadtrees
Data structures for images
8. Raster algorithms
Raster algorithms : attribute query for run length encoded data
Raster algorithms : attribute query for quadtrees
Raster algorithms : area calculations
9. Data structures for surfaces
Data models for surfaces
Algorithms for creating grid surface models
Algorithms for creating a triangulated irregular network
Grid creation revised
10. 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
11. 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
12. Strategies for efficient data access
Tree data structures
Indexing and storing 2D data using both coordinates
Space-filling curves for spatial data
Spatial filling curves and data clustering
Space-filling curves for indexing spatial data
Caching
13. Heuristics for spatial data
Travelling salesman problem
Location allocation
Metaheuristics
Computability and decidability.