Ich muss die Stadt und Staat von einer Postleitzahl finden. Kennt jemand ein gutes Plugin/API, das ich dazu verwenden kann?Beste Postleitzahl Plugin für Ruby
Antwort
gem install geokit
In IRB:
require 'geokit'
geo = GeoKit::Geocoders::MultiGeocoder.multi_geocoder('90210')
if geo.success
geo.state # => CA
geo.city # => Beverly Hills
end
Siehe Jasons Antwort. Es funktioniert gut.
Das Problem ist, dass die USPS keine Bulk-Downloads ihrer Postleitzahllisten erlaubt, es sei denn, Sie zahlen dafür. Google-API, die in der Perle von Splashlin erwähnt verwendet wird, scheint nicht mehr die Stadt und den Staat zu unterstützen, gibt sie stattdessen nun die Vorwahl:
require 'open-uri'
require 'json'
json = JSON::parse(open('http://maps.google.com/maps/geo?q=852581').read)
puts json
# >> {"name"=>"852581", "Status"=>{"code"=>602, "request"=>"geocode"}}
Diese Seite zeigt einige Möglichkeiten, wie Sie Ihre eigene Rolle könnte. Die Quellen der Daten möglicherweise nicht mehr aktuell sein aber:
Eine leichtere Option ist die Area gem.
require 'area'
'11211'.to_region #=> "Brooklyn, NY"
nur implementiertes Gebiet, und ich muss sagen - es ist ziemlich beeindruckend! viel Gefühl zum api als geokit. –
Wenn der Bereich Ihre Geocoding-Bedürfnisse deckt, ist es wirklich ein schönes Juwel. – theIntuitionist
Heh. Eine Bibliothek, die eine Kernklasse wie String verändert, würde ich nicht als "leicht" bezeichnen. – Dogweather
Am meisten ausgezeichnete Fang! Ich habe Geokit vergessen. –
https://github.com/geokit/geokit – scarver2