This gem wraps very common Geo lookups to either FIPS data or the collection of international data lookups. All codes on the app are FIPS codes.
Installation
Add this line to your application's Gemfile:
gem 'geolookup'
And then execute:
$ bundle
Or install it yourself as:
$ gem install geolookup
Usage
There are functions within fips and country_info to convert codes to Country and US states.
Examples
# US State Examples:
# Code to US state abbreviation
Geolookup::USA::State.code_to_abbreviation(1)
# => "AL"
# Code to US state name
Geolookup::USA::State.code_to_name(1)
# => "Alabama"
# US State Name to US state code
Geolookup::USA::State.name_to_code("Alabama")
# => 1
# US State abbreviation to name
Geolookup::USA::State.abbreviation_to_name("AL")
# => "Alabama"
# US State name to abbreviation
Geolookup::USA::State.name_to_abbreviation("Alabama")
# => "AL"
# US State name / Abbreviation to lat and long
Geolookup::USA::State.name_to_lat_long("Alabama")
# => [ 32318231, -86602298]
Geolookup::USA::State.abbreviation_to_lat_long("AL")
# => [ 32318231, -86602298]
# US State Code to Lat and Long
Geolookup::USA::State.code_to_lat_long(1)
# => [ 32318231, -86602298]
# US State Names
Geolookup::USA::State.names
# => ["Alabama", "Alaska", ...]
# US State Abbreviations
Geolookup::USA::State.abbreviations
# => ["AL", "AK", "AZ", ...]
# US Domenstic Abbreviations
Geolookup::USA::State.domestic_abbreviations
# => ["CA", "AZ", ...]
# US Domenstic names
Geolookup::USA::State.domestic_names
# => ["California", "Arizona", ...]
# US state codes and abbreviations
Geolookup::USA::State.codes_and_abbreviations
# => {1: "AL", 2: "AK", ...}
# US state codes and names
Geolookup::USA::State.codes_and_names
# => {1: "Alabama", 2: "Alaska", ...}
# US state abbreviations and names
Geolookup::USA::State.abbreviations_and_names
# => {AL: "Alabama", AK: "Alaska", ...}
# US State Codes
Geolookup::USA::State.codes
# => [1, 2, 4, ...]
# US Territory State Codes
Geolookup::USA::State.territory_state_codes
# => [60, 66, 69, ...]
# US Territory State Names
Geolookup::USA::State.territory_state_names
# => ["American Samoa", "Guam", ...]
# US District State Codes
Geolookup::USA::State.district_state_codes
# => [11]
# US District State Names
Geolookup::USA::State.district_state_names
# => ["District of Columbia"]
# Determine if state is territory
# With code
Geolookup::USA::State.territory?(60)
# => true
Geolookup::USA::State.territory?('60')
# => true
# With state name
Geolookup::USA::State.territory?('Guam')
# => true
# With state abbreviation
Geolookup::USA::State.territory?('GU')
# => true
Geolookup::USA::State.territory?('AZ')
# => false
# Determine if state is district
# With code
Geolookup::USA::State.district?(11)
# => true
Geolookup::USA::State.district?('11')
# => true
# With state name
Geolookup::USA::State.district?('District of Columbia')
# => true
# With state abbreviation
Geolookup::USA::State.district?('DC')
# => true
Geolookup::USA::State.district?('FL')
# => false
# US County Examples:
# Given a state code and county code return the county name
Geolookup::USA::County.code_to_name(1, 1)
# => "AUTAUGA"
# Given a state code and county code return the lat and long for that county
Geolookup::USA::County.code_to_lat_long(1, 1)
# => [32534930, -86642790]
# Given a state code and county name return the county code
Geolookup::USA::County.name_to_code(1, 'Autauga')
# => 1
# Country Examples:
Geolookup::Country.name_to_code("American Samoa")
# => "AS"
Geolookup::Country.code_to_name("AS")
# => "American Samoa"
Geolookup::Country.lat_long("American Samoa")
# => [ -14333300, -170000000 ]
Geolookup::USA::AreaCodes.find('202')
# => {country: 'US', description: '', service: 'y', state: 'DC', type: 'general purpose code'}
Geolookup::USA::Zipcodes.lat_long('90012')
# => {:lat_int=>39715698, :long_int=>-104814319}
Geolookup::Country::PhoneCodes.country_to_phone_code("US")
# => 1
# Region Examples:
Geolookup::Region.country_abbr_and_region_code_to_region_name(country_abbr: "AD", region_code: "02")
# => "Canillo"
Geolookup::Region.country_abbr_and_region_code_to_region_name(country_abbr: :ad, region_code: "02")
# => "Canillo"
Geolookup::Region.country_abbr_and_region_code_to_region_name(country_abbr: "ZZ", region_code: "02")
# => nil
Geolookup::Region.country_abbr_and_region_code_to_region_name(country_abbr: "AD", region_code: "ZZ")
# => nil
For additional functions and documentation please look in geolookup/fips.rb and geolookup/country.rb.
Contributing
- Fork it ( http://github.com/Spokeo/geolookup/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Write specs!
- Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Running the Specs
$ rake