Skip to content

Geospatial Software Engineering 101

Kim Sundeen author photo

GeoInformatica Consulting
Bringing geospatial insight to life and into your hands!

This repository is the working outline for a book that teaches geospatial software engineering to experienced software engineers who are new to spatial data, spatial reasoning, and geospatial production systems.

The goal is to move readers from general software engineering knowledge into the scientific, mathematical, historical, practical, and emerging technology foundations needed to build reliable geospatial software in the modern era of cloud-native geospatial systems, GeoAI, and Geographic Retrieval Augmented Generation (GeoRAG).

GeoAI and GeoRAG conceptual illustration

Table of Contents

1. History of Geospatial Technology: An Early History

Chapter: Chapter 1: History of Geospatial Technology

1.1 Why Location Became a Computing Problem
1.2 Ancient Mapping, Navigation, Surveying, and Spatial Recordkeeping
1.3 Astronomy, Geodesy, and the Measurement of Earth
1.4 Colonial Mapping, Cadastral Systems, and the Politics of Maps
1.5 Military Cartography and Early Remote Observation
1.6 Paper Maps, Atlases, Gazetteers, and Coordinate Grids
1.7 Early Computers, Mainframes, and the Birth of Digital Mapping
1.8 The Canada Geographic Information System and Early GIS
1.9 Satellite Navigation, GPS, GLONASS, Galileo, and BeiDou
1.10 Landsat, Earth Observation, and Remote Sensing at Scale
1.11 Desktop GIS and the Rise of Commercial Geospatial Software
1.12 Open Geospatial Standards and the Open Source GIS Movement
1.13 Lessons from History for Modern Geospatial Engineers

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

2. Modern Geospatial Technology

Chapter: Chapter 2: Modern Geospatial Technology

2.1 What Makes Modern Geospatial Systems Different
2.2 Web Maps, Tile Servers, and Slippy Map Interfaces
2.3 Mobile Location Services and Real-Time Positioning
2.4 Cloud-Native Geospatial Architectures
2.5 Vector Tiles, Raster Tiles, and Multiscale Visualization
2.6 Spatial Databases and Query Engines
2.7 Distributed Geospatial Processing
2.8 Streaming Geospatial Data and Event-Driven Systems
2.9 Earth Observation Platforms and Analysis-Ready Data
2.10 Digital Twins, Smart Cities, and Sensor Networks
2.11 Indoor Mapping and Positioning Systems
2.12 Autonomous Vehicles, Robotics, and HD Maps
2.13 Geospatial APIs, SDKs, and Developer Platforms
2.14 Geospatial Infrastructure as Critical Infrastructure

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

3. Software Engineering Basics

Chapter: Chapter 3: Software Engineering Basics

3.1 What Geospatial Engineers Need from General Software Engineering
3.2 Programming Language Choices for Geospatial Work
3.3 Data Modeling, Schemas, and Type Systems
3.4 Algorithms, Complexity, and Performance Thinking
3.5 APIs, Services, and Contract Design
3.6 Databases, Indexes, Transactions, and Query Planning
3.7 Distributed Systems and Cloud Computing
3.8 Data Pipelines, Batch Jobs, and Streaming Jobs
3.9 Testing Strategies for Data-Heavy Applications
3.10 Observability, Logging, Metrics, and Tracing
3.11 Security, Privacy, and Access Control
3.12 DevOps, CI/CD, Containers, and Infrastructure as Code
3.13 Documentation, Reproducibility, and Engineering Communication
3.14 Technical Debt in Data and Geospatial Systems

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

4. Bridging the Gap to Geospatial Software Engineering

Chapter: Chapter 4: Bridging the Gap to Geospatial Software Engineering

4.1 Thinking Spatially as a Software Engineer
4.2 Spatial Questions vs. Non-Spatial Questions
4.3 Coordinates, Places, Features, Fields, and Networks
4.4 The Difference Between Geometry and Geography
4.5 Local, Regional, Global, and Planetary Scale
4.6 Precision, Accuracy, Resolution, and Uncertainty
4.7 Why Distance, Area, and Direction Are Harder Than They Look
4.8 Spatial Joins, Spatial Filters, and Topological Predicates
4.9 Projection Mistakes and Other Common Failure Modes
4.10 Spatial Indexes and Why They Matter
4.11 Designing Geospatial APIs for Non-Geospatial Consumers
4.12 Turning Business Requirements into Spatial Models
4.13 Debugging Geospatial Systems
4.14 Production Readiness for Geospatial Applications

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

5. Overview of Geospatial Data Structures

Chapter: Chapter 5: Overview of Geospatial Data Structures

Visual companion: Spatial Data Structure Visual Atlas

5.1 Points, Lines, Polygons, and Multipart Geometries
5.2 Geometry Collections and Feature Collections
5.3 Raster Grids, Pixels, Bands, and Cells
5.4 Vector Data vs. Raster Data
5.5 Coverages, Meshes, Voxels, and 3D Tiles
5.5a 3D Gaussian Splatting and Neural Scene Representations
5.6 Coordinate Reference Systems and Spatial Metadata
5.7 Topology, Adjacency, Connectivity, and Containment
5.8 Spatial Indexes: R-Trees, Quadtrees, Geohashes, H3, and S2
5.9 Network Graphs and Routeable Data
5.10 Time-Aware and Moving Object Data Structures
5.11 Point Clouds, LiDAR, and 3D Sensor Data
5.12 GeoJSON, WKT, WKB, GeoParquet, GeoPackage, Shapefile, KML, and GML
5.13 Cloud-Optimized GeoTIFF, Zarr, NetCDF, and STAC
5.14 Choosing the Right Data Structure for the Job

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

6. Geodesy, Coordinate Systems, and Map Projections

Chapter: Chapter 6: Geodesy, Coordinate Systems, and Map Projections

6.1 Earth Models: Sphere, Ellipsoid, Geoid, and Datums
6.2 Latitude, Longitude, Height, and Coordinate Axes
6.3 Geographic vs. Projected Coordinate Reference Systems
6.4 EPSG Codes and CRS Definitions
6.5 Datum Transformations and Coordinate Operations
6.6 Map Projection Families and Distortion
6.7 Distance, Area, Bearing, and Azimuth Calculations
6.8 Great-Circle, Rhumb-Line, and Geodesic Calculations
6.9 Vertical Datums and Elevation Reference Systems
6.10 Local Coordinate Systems and Engineering Grids
6.11 Handling CRS in Databases, APIs, and File Formats
6.12 Testing Projection-Sensitive Code
6.13 Common CRS Bugs in Production Systems

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

7. Spatial Mathematics and Computational Geometry

Chapter: Chapter 7: Spatial Mathematics and Computational Geometry

7.1 Vectors, Matrices, and Coordinate Transformations
7.2 Euclidean, Spherical, and Ellipsoidal Geometry
7.3 Bounding Boxes, Envelopes, and Convex Hulls
7.4 Point-in-Polygon Algorithms
7.5 Line Intersections, Segment Operations, and Robust Predicates
7.6 Buffers, Offsets, Simplification, and Generalization
7.7 Voronoi Diagrams, Delaunay Triangulation, and Tessellation
7.8 Graph Theory for Roads, Utilities, Rivers, and Movement
7.9 Interpolation and Spatial Estimation
7.10 Spatial Statistics and Spatial Autocorrelation
7.11 Error Propagation and Numerical Robustness
7.12 Computational Complexity in Spatial Algorithms
7.13 Practical Geometry Debugging

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

8. Spatial Databases and Query Systems

Chapter: Chapter 8: Spatial Databases and Query Systems

8.1 Why Spatial Databases Exist
8.2 Geometry Types, SRIDs, and Spatial Columns
8.3 Spatial SQL and Query Patterns
8.4 Spatial Index Internals and Query Planning
8.5 PostGIS Fundamentals
8.6 SpatiaLite, DuckDB Spatial, BigQuery GIS, Snowflake, and Other Engines
8.7 Raster in Databases
8.8 Tiling, Partitioning, and Large Spatial Tables
8.9 Data Validation and Topology Rules
8.10 Performance Tuning Spatial Queries
8.11 Versioning, Lineage, and Auditing Spatial Data
8.12 Multi-Tenant and Permissioned Geospatial Databases
8.13 Operational Patterns for Production Spatial Databases

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

9. Geospatial Data Engineering

Chapter: Chapter 9: Geospatial Data Engineering

9.1 Ingesting Spatial Data from Files, APIs, Sensors, and Streams
9.2 Extract, Transform, Load, and Extract, Load, Transform for Geospatial Data
9.3 Schema Design and Data Contracts
9.4 Data Cleaning, Repair, Deduplication, and Normalization
9.5 Reprojection, Resampling, Clipping, and Tiling
9.6 Batch Processing with GDAL, Spark, Dask, and Cloud Services
9.7 Stream Processing for Moving Objects and Events
9.8 Data Quality, Completeness, Freshness, and Fitness for Use
9.9 Metadata, Catalogs, STAC, and Discoverability
9.10 Orchestration with Airflow, Dagster, Prefect, and Similar Tools
9.11 Cost-Aware Cloud Data Pipelines
9.12 Reproducible Geospatial Data Products
9.13 Data Governance and Lifecycle Management

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

10. Remote Sensing and Earth Observation

Chapter: Chapter 10: Remote Sensing and Earth Observation

10.1 Remote Sensing Fundamentals
10.2 Satellites, Aircraft, Drones, and Ground Sensors
10.3 Passive vs. Active Sensors
10.4 Multispectral, Hyperspectral, Thermal, SAR, and LiDAR Data
10.5 Spatial, Spectral, Temporal, and Radiometric Resolution
10.6 Atmospheric Correction and Preprocessing
10.7 Mosaicking, Compositing, Cloud Masking, and Gap Filling
10.8 Vegetation, Water, Urban, Fire, Snow, and Change Indices
10.9 Classification, Segmentation, and Object Detection
10.10 Time-Series Analysis and Change Detection
10.11 Analysis-Ready Data and Cloud-Native EO Workflows
10.12 Earth Observation Platforms and Open Data Programs
10.13 Operational Remote Sensing Systems 10.14 Field Reality Capture, Mobile Mapping, and Gaussian Splatting for Inspection

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

11. Web Mapping and Geospatial Application Development

Chapter: Chapter 11: Web Mapping and Geospatial Application Development

11.1 Web Mapping Architecture
11.2 Map Rendering Pipelines
11.3 Raster Tiles, Vector Tiles, and Feature Services
11.4 Client-Side Mapping Libraries
11.5 Server-Side Map Rendering
11.6 Styling Maps and Cartographic Design for Developers
11.7 Search, Geocoding, Reverse Geocoding, and Place Autocomplete
11.8 Routing, Isochrones, and Travel-Time Applications
11.9 Real-Time Maps and Live Tracking
11.10 Offline Maps and Edge Constraints
11.11 Accessibility and Inclusive Map Design
11.12 Frontend Performance for Large Spatial Datasets
11.13 Building Maintainable Geospatial User Interfaces

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

12. Geospatial APIs, Standards, and Interoperability

Chapter: Chapter 12: Geospatial APIs, Standards, and Interoperability

12.1 Why Standards Matter in Geospatial Systems
12.2 OGC Standards and the Open Geospatial Ecosystem
12.3 WMS, WMTS, WFS, WCS, and OGC API Standards
12.4 STAC, COG, GeoParquet, GeoJSON, and Modern Cloud-Native Formats
12.5 Metadata Standards and Data Catalogs
12.6 Coordinate Reference System Interoperability
12.7 API Design for Spatial Filters, Bounding Boxes, and Tiles
12.8 Pagination, Streaming, and Large Result Sets
12.9 Authentication, Authorization, and Data Licensing
12.10 Contract Testing and Compatibility Testing
12.11 Integrating Proprietary, Open Source, and Public Data Systems
12.12 Designing for Long-Lived Geospatial Interfaces

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

13. Cartography, Visualization, and Spatial Communication

Chapter: Chapter 13: Cartography, Visualization, and Spatial Communication

13.1 Maps as Interfaces and Arguments
13.2 Cartographic Design Principles
13.3 Scale, Generalization, Symbolization, and Labeling
13.4 Color, Classification, and Visual Perception
13.5 Choropleth, Dot Density, Heatmap, Flow, and Network Maps
13.6 3D, Temporal, and Interactive Visualization
13.7 Uncertainty Visualization
13.8 Dashboard Design for Spatial Data
13.9 Avoiding Misleading Maps
13.10 Storytelling with Geospatial Data
13.11 Communicating Spatial Analysis to Non-Experts
13.12 Testing Map Usability

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

14. GeoAI, Machine Learning, and GeoRAG Concepts

Chapter: Chapter 14: GeoAI, Machine Learning, and GeoRAG Concepts

14.1 What Makes Geospatial Machine Learning Different
14.2 Feature Engineering for Spatial Data
14.3 Spatial Train-Test Splits and Leakage Prevention
14.4 Remote Sensing ML and Computer Vision
14.5 Graph ML for Roads, Utilities, Mobility, and Networks
14.6 Spatial Embeddings and Representation Learning
14.7 Foundation Models for Earth Observation
14.8 LLMs for Geospatial Workflows
14.9 Retrieval Augmented Generation for Spatial Knowledge
14.10 Geographic Retrieval Augmented Generation
14.11 Vector Databases, Spatial Indexes, and Hybrid Retrieval
14.12 Agentic Geospatial Workflows
14.13 Evaluating GeoAI and GeoRAG Systems
14.14 Bias, Uncertainty, Explainability, and Trust
14.15 Production ML Operations for Geospatial Models

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

15. Simulation, Modeling, and Spatial Decision Systems

Chapter: Chapter 15: Simulation, Modeling, and Spatial Decision Systems

15.1 Spatial Models vs. Spatial Simulations
15.2 Suitability Analysis and Multi-Criteria Decision Analysis
15.3 Hydrologic, Ecological, Urban, and Transportation Models
15.4 Agent-Based Modeling
15.5 Cellular Automata and Land-Use Change Models
15.6 Network Optimization and Location Allocation
15.7 Risk, Hazard, Exposure, and Vulnerability Modeling
15.8 Scenario Planning and What-If Analysis
15.9 Calibration, Validation, and Sensitivity Analysis
15.10 Human-in-the-Loop Spatial Decision Systems
15.11 Inspection Digital Twins and Gaussian Splatting Scene Models
15.12 Operationalizing Spatial Models in Software Products

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

16. Security, Privacy, Ethics, and Law in Geospatial Systems

Chapter: Chapter 16: Security, Privacy, Ethics, and Law in Geospatial Systems

16.1 Why Location Data Is Sensitive
16.2 Privacy Threat Models for Location Data
16.3 De-Identification, Aggregation, and Differential Privacy
16.4 Surveillance, Consent, and Responsible Use
16.5 Data Licensing, Intellectual Property, and Terms of Use
16.6 Indigenous Data Sovereignty and Community Data Governance
16.7 Bias, Representation, and Uneven Spatial Coverage
16.8 Critical Infrastructure and National Security Concerns
16.9 Secure Geospatial APIs and Access Control
16.10 Auditability and Compliance
16.11 Ethical Review for Geospatial Products
16.12 Responsible GeoAI and GeoRAG

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

17. Production Geospatial Architecture

Chapter: Chapter 17: Production Geospatial Architecture

17.1 Reference Architectures for Geospatial Systems
17.2 Monoliths, Services, Data Platforms, and Lakehouses
17.3 Cloud-Native Storage for Vector, Raster, Point Cloud, and Model Data
17.4 Compute Patterns: Serverless, Containers, Clusters, and GPUs
17.5 Caching, Tiling, Precomputation, and Materialized Views
17.6 Latency, Throughput, Cost, and Reliability Tradeoffs
17.7 Multi-Region and Global Spatial Systems
17.8 Observability for Spatial Pipelines and Map Services
17.9 Testing Production Geospatial Systems
17.10 Disaster Recovery and Data Rebuild Strategies
17.11 Migration Patterns for Legacy GIS
17.12 Operating Geospatial Platforms with Small Teams

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

18. Domain Applications and Real-World Solution Patterns

Chapter: Chapter 18: Domain Applications and Real-World Solution Patterns

18.1 Transportation, Logistics, Routing, and Fleet Management
18.2 Urban Planning, Zoning, Land Administration, and Cadastre
18.3 Climate, Weather, Disaster Response, and Resilience
18.4 Agriculture, Forestry, Water, and Natural Resources
18.5 Energy, Utilities, Telecom, and Infrastructure
18.5a Field Inspection, Reality Capture, and Gaussian Splatting Workflows
18.6 Public Health, Epidemiology, and Humanitarian Response
18.7 Insurance, Finance, Real Estate, and Risk Analytics
18.8 Defense, Intelligence, and Public Safety
18.9 Retail, Site Selection, and Market Analysis
18.10 Environmental Monitoring and Conservation
18.11 Maritime, Aviation, and Global Mobility
18.12 Product Patterns Shared Across Domains

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

19. Learning Labs and Capstone Projects

Chapter: Chapter 19: Learning Labs and Capstone Projects

19.1 Setting Up a Geospatial Development Environment
19.2 Build a Spatial Database from Public Data
19.3 Build a Web Map from Vector Tiles
19.4 Build a Geocoding and Search Workflow
19.5 Build a Routing and Isochrone Service
19.6 Build a Remote Sensing Change Detection Pipeline
19.7 Build a Cloud-Native Raster Processing Workflow
19.8 Build a Real-Time Moving Object Tracker
19.9 Build a GeoAI Classification Workflow
19.10 Build a GeoRAG Assistant over Spatial Documents and Datasets
19.11 Build a Gaussian Splatting Field Inspection Workflow
19.12 Build a Production-Style Geospatial API
19.13 Capstone: Design and Ship an End-to-End Geospatial Product

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

Chapter: Chapter 20: Future Geospatial Technologies and Trends

20.1 The Future of Cloud-Native Geospatial
20.2 Geospatial Foundation Models and Multimodal AI
20.3 Autonomous Mapping and Real-Time World Models
20.4 Edge Geospatial Computing and On-Device Intelligence
20.5 Spatial Computing, AR, VR, and Mixed Reality
20.5a Gaussian Splatting, Neural Rendering, and Photorealistic Field Inspection
20.6 Digital Earth, Digital Twins, and Planetary-Scale Simulation
20.7 Quantum Computing and Optimization for Geospatial Problems
20.8 Privacy-Preserving Spatial Analytics
20.9 Open Data, Open Science, and Reproducible Geospatial Research
20.10 Human-AI Collaboration in Geospatial Decision-Making
20.11 Emerging Standards and Interoperability Directions
20.12 Skills Geospatial Engineers Will Need Next
20.13 How to Keep Learning as the Field Changes

Topics:

  • Theory
  • Math
  • Tools of the Trade
  • Examples of Real-World Solutions
  • Working Practice Examples

References


GeoInformatica Consulting logo