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.
Chapter 7: Indexing Lines and Polygons
Indexing Lines and Polygons
The previous two chapters focused on indexing points (and region quadtrees are designed for raster data, which can of course be treated as regularly placed points). We should have developed the confidence that spatial indexing significantly expedites spatial query, albeit at the initial cost of creating the trees, plus a certain amount of storage to maintain the trees. But overall, the benefit far exceeds the cost for repeated use. In this chapter, we introduce two more indexing approaches, designed for lines and polygons.
7.1 Polygonal map quadtrees
We have seen how quadtrees can be used to index points by partitioning the space as long as there are still points left to be inserted into the tree. Here, we use ...