Geographic information systems (GIS) have become increasingly important in helping us understand complex social, economic, and natural dynamics where spatial components play a key role. The critical algorithms used in GIS, however, are notoriously difficult to both teach and understand, in part due to the lack of a coherent representation. GIS Algorithms attempts to address this problem by combining rigorous formal language with example case studies and student exercises. Using Python code throughout, Xiao breaks the subject down into three fundamental areas:  • Geometric Algorithms  • Spatial Indexing  • Spatial Analysis and Modelling With its comprehensive coverage of the many algorithms involved, GIS Algorithms is a key new textbook in this complex and critical area of geography.

### Basic Geometric Operations

Basic Geometric Operations

Imagine a vast sheet of paper on which straight Lines, Triangles, Squares, Pentagons, Hexagons, and other figures, instead of remaining fixed in their places, move freely about, on or in the surface, but without the power of rising above or sinking below it, very much like shadows – only hard with luminous edges – and you will then have a pretty correct notion of my country and countrymen.

Edwin A. Abbott, Flatland: A Romance of Many Dimensions

This chapter focuses on the essential algorithms in GIS that involve geometric operations. We first introduce the calculation of distance between two points and then move on to geometric objects with higher dimensions, including algorithms to determine properties such as point-in-polygon, point distance to ...