OpenGeoDB is a database with ZIP/Area codes, and Geolocations for Germany. Your task is to build a Python based interface to opengeodb. Four Kinds of functionallity are required:
1) Given a ZIP-Code, dump all data in OpenGeoDB related to that location
2) Given two ZIP Codes, calculate the distance between the locations.
3) Given a List of Zip Codes (E.G. Shop locations) and an additional Zip Code (customer), order that list by distance to the additional zipcode.
The Software should be written in Python and use sqlite as an backend. It will be published under an BSD License so you can use it in other Projects. See [login to view URL] for background.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) The code produced should follow PEP 8 - "Style Guide for Python Code" and result in a pylint score of 8 or more. It also should come with Unittests using coverage.py.
3) USe of OpenSource Software is encouraged.
## Platform
FreeBSD 5.4, Python 2.4