Skip to content

Latest commit

 

History

History
82 lines (63 loc) · 2.24 KB

README.md

File metadata and controls

82 lines (63 loc) · 2.24 KB

reverse-geocode

get reverse-geocoded data for latitude and longitude values

Build Status NPM Version NPM Download

Features

  • Zero dependencies
  • Quick city level lookups
  • Only US, Canada and Australia dataset as of now, more coming soon.

How to use

  • Include package in your project
npm install --save reverse-geocode
or
yarn add reverse-geocode
  • Use package to get geo data from lat-long values. Specify a country code, which should match /locations/{countryCode}.json. USA, Australia, and Canada are provided.
const reverse = require('reverse-geocode')
console.log(reverse.lookup(37.8072792, -122.4780652, 'us'))

/*
{ zipcode: '94129',
  state_abbr: 'CA',
  latitude: '37.799840',
  longitude: '-122.46167',
  city: 'San Francisco',
  state: 'California',
  distance: 1.6610566475026183 }
 */
const reverse = require('reverse-geocode')
console.log(reverse.lookup(50.447444, -104.418513, 'ca'))
/*
{ country: 'CA',
  zipcode: 'S4Z',
  region: 'Regina Northeast',
  state: 'Saskatchewan',
  state_abbr: 'SK',
  city: 'Regina',
  latitude: 50.4497,
  longitude: -104.5323,
  distance: 8.06066680024397 }
*/

More sample outputs are in test snapshots.

Data Format

The contents of a location data file is a simple JSON array, of location data:

;[
  {
    zipcode: '59221',
    state_abbr: 'MT',
    latitude: '47.900376',
    longitude: '-104.13403',
    city: 'Fairview',
    state: 'Montana',
  },
]

Find country postalcode data from a provider of your choice, format as above, and save into /locations/ as {countryCode}.JSON. Then, specify the same country code.

For a good time, save all data to all.json and specify 'all' to the reverse.lookup method.

Credits