Book Image

Python Geospatial Development - Third Edition

By : Erik Westra
Book Image

Python Geospatial Development - Third Edition

By: Erik Westra

Overview of this book

Geospatial development links your data to locations on the surface of the Earth. Writing geospatial programs involves tasks such as grouping data by location, storing and analyzing large amounts of spatial information, performing complex geospatial calculations, and drawing colorful interactive maps. In order to do this well, you’ll need appropriate tools and techniques, as well as a thorough understanding of geospatial concepts such as map projections, datums, and coordinate systems. This book provides an overview of the major geospatial concepts, data sources, and toolkits. It starts by showing you how to store and access spatial data using Python, how to perform a range of spatial calculations, and how to store spatial data in a database. Further on, the book teaches you how to build your own slippy map interface within a web application, and finishes with the detailed construction of a geospatial data editor using the GeoDjango framework. By the end of this book, you will be able to confidently use Python to write your own geospatial applications ranging from quick, one-off utilities to sophisticated web-based applications using maps and other geospatial data.
Table of Contents (20 chapters)
Python Geospatial Development Third Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Spatial indexes


One of the defining characteristics of a spatial database is the ability to create and use "spatial" indexes to speed up geometry-based searches. These indexes are used to perform spatial operations, such as identifying all the features that lie within a given bounding box, identifying all the features within a certain distance of a given point, or identifying all the features that intersect with a given polygon.

Spatial indexes are one of the most powerful features of spatial databases, and it is worth spending a moment becoming familiar with how they work. Spatial indexes don't store the geometry directly; instead, they calculate the bounding box for each geometry and then index the geometries based on their bounding boxes. This allows the database to quickly search through the geometries based on their position in space:

The bounding boxes are grouped into a nested hierarchy based on how close together they are, as shown in the following illustration:

The hierarchy of nested...