file-geocoder
Geocodes a file (JSON or CSV). Requires a Google-style geocoder.
For example:
Given a CSV,
address, city, state, zip
135 Morrisey Blvd, Boston, MA, 02125
1150 15th Street NW, Washington, DC, 20071
242 West 41st Street, New York, NY, 10036
file-geocoder adds several geocoding fields (what's the deal with GeocodeAdminAreaLevel1?):
address, city, state, zip, GeocodeLat, GeocodeLng, GeocodeStatus, GeocodeLocality, GeocodeAdminAreaLevel1, GeocodeCountry, GeocodeAddress
135 Morrisey Blvd, Boston, MA, 02125, 42.293929, -71.047218, ROOFTOP, Boston, MA, United States, "135 Morrisey Blvd, Boston, MA, 02125"
1150 15th Street NW, Washington, DC, 20071, 38.904711, -77.034647, ROOFTOP, Washington, DC, United States, "1150 15th Street NW, Washington, DC, 20071"
242 West 41st Street, New York, NY, 10036, 40.755819, -73.988402, ROOFTOP, New York, NY, United States, "242 West 41st Street, New York, NY, 10036"
Usage examples
file-geocoder \
-f myaddresses.json \
-a address,city,state,zip
Geocode a CSV file, hit Google, throttle geocoding requests to 1 per second (read up on their usage limits):
file-geocoder \
-f myaddresses.csv \
-a address,city,state,zip \
-h maps.googleapis.com \
-p 80 \
-s 1
Your laptop battery died before the geocoder finished. No problem. file-geocoder stores its work on a .db file. Let's resume the geocoding:
file-geocoder \
-d myaddresses.db \
-a address,city,state,zip
Progress bar!
Install
npm install file-geocoder -g