Rails Geo Plugins

This page grew out of a series of blog entries that culminated in Comparing Rails Geo Plugins. It is an attempt to pull together some sense of the particular strengths of the range of Ruby on Rails plugins concerned with geography. It is not guaranteed to be comprehensive or entirely up to date, but if there are any egregious omissions, please leave a comment or get in touch and I’ll do what I can to bring it up to date.

Rails Geo Plugins
  Auto-geocoding ActiveRecord models Multi-provider geo-coding Distance based finds Distance based :through finds Google map output Yahoo map output
GeoKit

(plugin index)
Y Y Y N N N

acts_as_geocodable


(
plugin index
)
Y Y* Y N N N
acts_as_geocode

(plugin index)
Website currently down. No trace to be found.

actsaslocateable


(plugin index)
N N Y Y N N
YM4R

plugin index | github
N N N N Y Y

(* through companion gem)

Also worth mentioning are SpatialAdapter and GeoRuby (from the same developer as YM4R) which respectively provide ActiveRecord support for MySql Spatial and PostGIS geometric columns, and ruby data types for that information.

A recent addition is this Ruby library for the Geonames API which provides a nice way to interface with the GeoNames database of 2.2 million populated places. Properly harnessed, that service begins to make it possible to allow your users to describe their location in natural language and convert that into machine-parseable co-ordinates.