Wrapper for various offline geocoding libraries


License
MIT
Install
pip install micro-geocode==0.1.33

Documentation

micro_geocode

Multilibrary geocoding microservice

docker-compose up
curl "$(docker-machine ip default)":5000/api/ui

Deployment

It is intended to be deployed in docker in a private network and accessed using a REST/swagger interface over HTTP.

Server

Run run_app.sh to start.

Application will be served on port 5000.

Use ngninx in front of web server or you can't do HTTPS or other fancy tricks.

Go to http://0.0.0.0:5000/api/ui to see a working, autogenerated UI.

3rd party services require keys:

  • Geonames
  • Google Maps

This server should only run inside of a firewalled, internal network. It has no particular security.

Client

Use sample code in micro_geocode_client

from bravado.client import SwaggerClient

client = SwaggerClient.from_url(spec_url="http://0.0.0.0:5000/swagger.yaml")
print(client)
result = client.geocode.geocode(location="takoma park, md").result(timeout=4)
print(result)
results = client.geocode_many.geocode_many(locations=
                                                ["takoma park, md", "washington, dc"]).result(timeout=4)
print(results)

Contributors

Developed at Burson-Marsteller. At end of life, released under MIT in lieu of deletion.

Some libraries vendorized in /src_libs3/ because of various setup problems.