Outline
- Revise package layout
- Unit tests: geocoders, distance, geohashing, GPX, HTML microformat, RDF vocabulary, point & location classes, units module, pretty-printing
- Parsers module
- Geotagged HTML
- Geo RDF vocabulary
- GPX files
- ISO 6709
- Geohash support
- Switch to logging instead of print statements
- Use Python 2.3-compatible syntax and built-ins
- Reverse geocoding support
- Accuracy support
- Keep geocoders up to date with services
- Module for formatting points, distances and angles in common human-readable notations
- Move documentation to Google Code wiki
- Add entry points for geocoders
Details
Revised package layout
- geopy - Root package
- geocoders - Subpackage for geocoders
- google.py - Google geocoder
- yahoo.py - Yahoo geocoder
- ...
- parsers - Subpackage for parsing formats
- distance.py - Calculating and manipulating distances between points
- format.py - Pretty-print points, distances and angles
- geohash.py - Geohash encoding and decoding
- location.py - Associate names and other metadata with points
- point.py - Encapsulation of latitude, longitude, and altitude
- units.py - Conversion routines for distance and angle units
- util.py - Miscellaneous helper functions
- tests - Unit tests
Unit tests
The tests directory was added to trunk in r40.
Parsers module
Geotagged HTML support
Support for ICBM and geo meta tags and Geo microformat added in r34. Needs tests.
GPX file support
Under development (began in r34).
ISO 6709 support
To do.
Geo RDF vocabulary
Under development (began in r34).
Geohash support
Added in r34. Tests added in r43.
Entry points
For example, the google entry point in the geopy.geocoders namespace should point to the `geopy.geocoders.google.Google class.
Other potential namespaces: geopy.distance, geopy.ellipsoids
The parsers module will eventually contain both readers and writers for various formats. Maybe a better module name would be formats or serialization (or s11n).