[ANN] Geocoding Goodness

I've implemented ruby bindings for the three major geocoding APIs as gems:

Yahoo! -- yahoo-geocode
Google -- google-geocode
geocoder.us -- geocoder-us

And as a bonus, you get a Yahoo! search gem to search either the web or for locations, yahoo-search.

The bindings all have similar APIs, but return different objects depending upon what information the API reliably provides. Yahoo! gives the most information, followed by Google, followed by geocoder.us.

Yahoo!:

http://dev.robotcoop.com/Libraries/yahoo-geocode/index.html

   require 'rubygems'
   require 'yahoo/geocode'

   yg = Yahoo::Geocode.new application_id
   locations = yg.locate '701 First Street, Sunnyvale, CA'
   p location.first.coordinates

(and searching for locations)

http://dev.robotcoop.com/Libraries/yahoo-search/index.html

   require 'rubygems'
   require 'yahoo/local_search'

   yls = Yahoo::LocalSearch.new application_id
   results, = yls.locate 'pizza', 94306, 2
   results.each do |location|
     puts "#{location.title} at #{location.address}, #{location.city}"
   end

Google:

http://dev.robotcoop.com/Libraries/google-geocode/index.html

   require 'rubygems'
   require 'google_geocode'

   gg = GoogleGeocode.new application_id
   location = gg.locate '1600 Amphitheater Pkwy, Mountain View, CA'
   p location.coordinates

geocoder.us:

http://dev.robotcoop.com/Libraries/geocoder-us/index.html

   require 'rubygems'
   require 'geocoder_us'

   gu = GeocoderUs.new 'username', 'password'
   p gu.locate('1924 E Denny Way, Seattle, WA')

···

--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com

very cool eric. we'll probably use these this summer so people can view their
city as it looks at night from space.

cheers.

-a

···

On Wed, 14 Jun 2006, Eric Hodel wrote:

I've implemented ruby bindings for the three major geocoding APIs as gems:

Yahoo! -- yahoo-geocode
Google -- google-geocode
geocoder.us -- geocoder-us

--
suffering increases your inner strength. also, the wishing for suffering
makes the suffering disappear.
- h.h. the 14th dali lama

I've implemented ruby bindings for the three major geocoding APIs as gems:

<snip>

Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

  Very very cool Eric. I have uses for this that I have been putting off for a while now :wink:

-Ezra

···

On Jun 13, 2006, at 2:55 PM, Eric Hodel wrote:

THANK YOU!

···

On 6/14/06, Ezra Zygmuntowicz <ezmobius@gmail.com> wrote:

On Jun 13, 2006, at 2:55 PM, Eric Hodel wrote:

> I've implemented ruby bindings for the three major geocoding APIs
> as gems: