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

Dealing with the scale problem


The preceding illustration reveals a second problem with the DISTAL system: because the USA including Alaska is over 4,000 miles wide, accurately selecting a 10-mile search radius by clicking on a point on this map would be an exercise in frustration.

To solve this problem, we will implement a zoom feature so that the user can click more accurately on the desired starting point. Because the DISTAL system is implemented as a series of CGI scripts, our zoom feature is going to be rather basic: if the user holds down the Shift key while clicking, we zoom in on the clicked-on point. If the Shift key is not held down when the user clicks, we proceed with the search as usual.

Note

In a real web application, we would implement a complete slippy map interface that supports click-and-drag as well as on-screen controls to zoom both in and out. Doing this is way beyond what we can do with simple CGI scripts, however. We will return to the topic of slippy maps in Chapter...