|Version 16 (modified by 11 years ago) ( diff ),|
Initial work done by by Zubin Mithra (zubin71)
A python module for a geolocator using
- Google API
- Yahoo API
Input: service_name, location name
Output format: JSON (easy front end parsing)
Basic Google/Yahoo webservice calls are in
These have been tied to the front-end Location Selector in a basic form. Using the service requires entering part of an address in the Street Address text area, and optionally including a country in the hierarchical control, then clicking the "Geocoder Search," link. The geocoder service will be queried, and results will be displayed to the user in a popup. The user can select an address from the list, and the selected address will be used to populate the Street Address and zipcode in that text area, as well as the latitude and longitude lines. See below for a list of features that should be added to this functionality.
Unfortunately at this very moment, the front-end feature is turned off due to a bug in dealing with inconsistent data returns from the Google service.
GeoNames support needs adding (there is some GeoNames functionality in S3GIS).
Output most likely to be used in: OpenLayers
A simple controller function would be nice to access the module classes
- functionality for BBOX
- provision to get results from all services
- provision to get results in multiple formats(xml, JSON, kml)
- support caching
- administration option to selection the geocoding service (Google, Yahoo, or both).
- GeoNames tie-ins in the location selector
- better hierarchical selector fill-in for selected results. That is, fill in the country and province/state. Filling in the country will require translating the two or three-letter country code to the real country name that appears int the hierarchy.
- Make the Google and Yahoo controller services merely wrappers around the more robust geocoding classes (per a comment in those controller).
- Review of Geocoders: http://lin-ear-th-inking.blogspot.com/2010/03/open-source-geocoders.html