On Wed, 24 Nov 2010, Henri Bergius wrote: > Spot > ---- > A spot is an actual location on a map. This consists of WGS-84 > latitude and longitude. Optionally spots may have an altitude, > timestamp, accuracy and a human-readable description.
You surely would like to call this a "point" instead? Also, are you thinking of only doing WGS-84 here? > Spot should also be able to calculate distance and direction to other > spots, and to provide a bounding box around them at a given radius. "Bounding box at a radius" ... that doesn't make sense. A box is not a circle :P > Geocoding > --------- > Geocoding is a service for converting human-readable locations to > actual coordinates (spots). There should be an interface for geocoding > utilizing various online geocoding services like GeoNames and > OpenStreetMap Nominatim. Users of the component should be able to > create their own geocoding service implementations. > > Reverse geocoding > ----------------- > Reverse geocoding is a service for converting actual coordinates > (spots) into human-readable locations. There should be an interface > for reverse geocoding utilizing various online geocoding services like > GeoNames and OpenStreetMap Nominatim. Users of the component should be > able to create their own reverse geocoding service implementations. All of those services provide information in a slightly different way though. Especially with admin-levels. There ought to be an abstraction for this. > IP geocoding > ------------ > IP geocoding is a service for converting an IP address to an > approximate geographical location of the network. This can be used to > locate users of a website for instance, in cases where browser > geolocationing is not possible. The IP geocoding interface should be > able to talk to at least HostIP web service to perform geocoding. > > 1: > http://mail-archives.apache.org/mod_mbox/incubator-zeta-dev/201011.mbox/%[email protected]%3e > 2: https://github.com/bergie/midgardmvc_helper_location I am missing a few other location things that would also make sense: - Obtaining the location through Google's geolocation services: http://talks.php.net/show/maps-afup10/18 and http://talks.php.net/show/maps-ipc10/22 (by providing ssid/mac addresses). - Skyhook also provides an interface. cheers, Derick -- http://derickrethans.nl | http://xdebug.org Like Xdebug? Consider a donation: http://xdebug.org/donate.php twitter: @derickr and @xdebug
