Skip to content

bibanul/tiger-geocoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geocoder

Amazon Ready Server instance from $1/hr no quotas. US Geocoder module that works on top of free TIGER Line data file from US Census bureau.
Uses PostGIS min 2.x. Do your own geocoding for high volume and avoid paying to 3rd party providers.

If you need to run a ready installed dedicated JSON API server in Amazon's AWS see instructions here:
http://www.TigerGeocoder.com

Assumes you have a readily available PostGIS 2 + PostgreSQL 9.1+
installed that also has TIGER 2010 database loaded (about 95 GiB). Instructions on
installing Tiger are found here: http://postgis.net for postgis module and
http://postgis.net/docs/manual-2.0/postgis_installation.html#loading_extras_tiger_geocoder

###Installation:

npm install tiger-geocoder

or to run a REST JSON API server in Amazon EC2 see here:
http://www.TigerGeocoder.com

Usage

You can pass a string representation of a location and a callback function to geocoder.geocode. It will accept: full street address, street and zip/city+state, zipcode, city + state.

###Example:

var geocoder = require('tiger-geocoder');

// Geocoding
geocoder.geocode("15337 Cherry ln, Markham, IL", options, function ( err, data ) {
  // do something with data
});

geocoder.geocode("Cherry ln, Markham, IL", options, function ( err, data ) {
  // do something with data
});

geocoder.geocode("Markham, IL", options, function ( err, data ) {
  // do something with data
});

geocoder.geocode("60428", options, function ( err, data ) {
  // do something with data
});


// Reverse Geocoding
geocoder.reverseGeocode( 33.7489, -84.3789, options, function ( err, data ) {
  // do something with data
});

You have an option to use the native JSON result or request it to be formatted to match a popular provider such as Google, Bing etc. Google response style will look like standard Google JSON Output

You can pass in an optional options hash as a last argument, useful for setting the following:

conString: a connection string to your postgres TIGER database. If not provided it will attempt to read it from heroku HEROKU_POSTGRESQL_BLUE_URL or default to tcp://username:password@localhost/geocoder
redisString: a connection string to an instance of a redis to use. local redis will be used otherwise.
cacheTTL: the Time-To-Live for the redis cache entry, defaults to 1 month
responseFormat: empty string will use internal JSOn format, 'google' will return it in google maps V3 JSON format

###Testing: nodeunit test-tiger-geocoder

Roadmap

  • Add support for response mapping for BING, Mapquest, Yahoo etc

About

US Geocoder module that works on top of TIGER Line data file from US Census bureau

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published