Geocoding Addresses
A common need: given a physical (mailing) address, find the geographical
coordinates in order to display that location on a map. This is called
"geocoding."
Open Apps/Libraries
- Nominatim is
a project to use OpenStreetMap for geocoding. There is also a
MapQuest version.
- geocoder.us is a
(conditionally) free web server
- Uses TIGER, so it's US-only. Free for non-commercial purposes, and the engine is open-source so
anyone can make their own service.
- PAGC-Postal Address Geo-Coder
- A C library, on sourceforge. Takes as data any shapefile with sufficient attributes, such as is
available for USA (from TIGER) and Canada
- For open developers, there is
a geocoding client API in GDAL/OGR which talks to multiple geocoding
servers on the back end.
Geocoding with Web applications
- some will resolve street addresses in the U.S. and most international
city names
- Free
Geocoding Services (Dan Goldberg at Texas A&M)
- Uses TIGER, so it's US-only. Free for non-commercial purposes.
- Also has some more accurate data where they have coverage (e.g.,
parcels in Los Angeles)
- There are plenty of non-free/semi-free geocoding sites/services/APIs.
Some examples..
- batchgeocode.com
- Supports USA, and most countries in western Europe. It says "this site uses Yahoo's Geocoding API which is based on
NAVTEQ and
Tele Atlas street
data", hence it can give more accurate results than a TIGER-based
geocoder.
- It's rather slow, but free. Paid version is "10x faster".
- Eagle (Geocode.com / Tele Atlas)
- US Only, minimum $50 for 1000 addresses
-
SmartyStreets - US Only, up to 42 addresses for free, then
commercial
- Geocoding Service -
TravelGIS.com: free single-address lookup, and directs you to
NACGEO.com for
commercial geocoding of many addresses
- iBegin Geocoder is yet another
commercial site (up to 100/day free) with US/Canada coverage, although when
i tested, it could not resolve a US address.
USA Data
- the TIGER dataset is
the natural public-domain database to use, if creating your own geocoder
- alternately, it's fairly easy to geocode roughly by zip code
- all that is needed is a list of geographical locations for zip
codes.
- such a list is included with ArcGIS and other GIS programs
- nnoncommercial sources are typically out of date (e.g. 1990), however
the
SmileConnection site offers a free database, updated monthly, with
lat-lon point per zipcode
- there are many commercial sources for up-to-date zipcode data, e.g.
Zip Code USA
- the US
Gazetteer
can be used to look up city name in the US
- derived from the Census GICS
- GNIS: the USGS Geographic Names
Information System
- contains information for almost 2 million physical and cultural
geographic features in the United States and its territories
- GNIS
- Fact Sheet 127-95 has more information about the dataset
International Data
Geocoding from Internet Addresses
- MaxMind GeoIP
- a commercial (but inexpensive) database which maps IP address to
country, region, or city
- uses given are to "analyze web logs to locate clients, geo-target
banner ads, detect credit card fraud, auto-select country on forms,
prevent password sharing and abuse of service, and display native
language and currency."
- $50 for mapping to Country, $100 for Country/US State, $300 for City
- they claim 95% accuracy for the mapping to Country
- IP2Location
- another commercial service
- $50 for mapping to Country, $200 for Country and ISP or City, $500
for Lat-lon
- hostip.info
- Community-based project to geolocate IP addresses, making the
database freely available.
- the GeoURL project (GeoURL ICBM Address
Server)
- an experimental mapping of URLs to coordinates which indicate the
location of the thing which the URL describes, rather than the location
of the web server
- this allows you to find URLs by their proximity to a given location
- javainetlocator
- "The fastest, most accurate IP geolocation system in the universe.
Built by professionals. Freely distributed."
- provide instructions on how to build your own database
- IP:Country
- a Perl module which aims to provide country lookup - less ambitious
(and more reliable) than attempting to resolve to geographic location