Book Image

PostGIS Cookbook

Book Image

PostGIS Cookbook

Overview of this book

Table of Contents (18 chapters)
PostGIS Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Geocoding with geopy and PL/Python


In this recipe, you will geocode addresses using a web geocoding API such as Google Maps, Yahoo! Maps, geocoder.us, GeoNames, and so on. Be sure to read the Terms of Services of these APIs carefully before using them in production.

The geopy Python library (http://code.google.com/p/geopy/) offers a convenient, uniform access to all of these web services. Therefore, you will use it to create a PL/Python PostgreSQL function that can be used in your SQL commands to query all of these engines.

Getting ready

  1. Install geopy globally. (You cannot use a virtual environment in this case, as the user running the PostgreSQL service needs to access it on its Python path.)

    In a Debian/Ubuntu box, it is as easy as typing the following:

    $ sudo pip install geopy
    

    In Windows, you can use the following command:

    > pip install geopy
    
  2. If you still did not use PL/Python, verify whether your PostgreSQL server installation supports it. The Windows EDB installer should already include...