Getting ready

  1. For this recipe, make sure you have the latest GDAL, at least version 1.10, as you will use it with the ogr2ogr the OGR OSM driver (http://www.gdal.org/drv_osm.html):
      $ ogrinfo --version GDAL 2.1.2, released 2016/10/24
      $ ogrinfo --formats | grep -i osm
      -> "OSM -vector- (rov): OpenStreetMap XML and PBF"
  1. As you will use PostgreSQL trigrams, install the PostgreSQL contrib package (which includes pg_trgm). The Windows EDB installer should already include this. In an Ubuntu 12.4 box, the following command will help you to do it:
      $ sudo apt-get install postgresql-contrib-9.1
  1. Make sure to add the pg_trgm extension to the database:
      postgis_cookbook=# CREATE EXTENSION pg_trgm;
      CREATE EXTENSION

You will need to use some OSM datasets included in the source for this chapter. (in the data/chp08 book's dataset directory). If you are using Windows, be sure to have installed the OSGeo4W suite, as suggested in the initial instructions for this chapter.

  1. If you are using Linux, follow the initial instructions for this chapter and create a Python virtual environment in order to keep a Python-isolated environment to be used for all the Python recipes of this book. Then, activate it as follows:
      $ source postgis-cb-env/bin/activate
  1. Once the environment has been activated, if you still haven't done so, you can install the Python packages needed for this recipe:
      (postgis-cb-env)$ pip install pygdal
      (postgis-cb-env)$ pip install psycopg2