-
Notifications
You must be signed in to change notification settings - Fork 50
Geocoding
This is the one hard part about going open source geo.
- Yonder - Compare geocoding results from multiple providers.
- GeoPy - Python library has a Yahoo and some opensource options.
- https://github.com/straup/js-geocoder
- https://github.com/straup/js-geolocation
- https://github.com/straup/js-reversegeocoder
- Edina Unlock - Excels with historic places but also uses modern UK data, and global modern places via GeoNames.org and Natural Earth.
- pySHPgeocode - This Python package reverse geocodes data points to shapefile regions. It is developed primarily for assigning administrative region codes to a set of geo coordinates (in standard latitude/longitude). All you need is a shapefile of the regions you want to geocode to.
- OSM Nominatim - Used in OpenStreetMap, tied to OSM data.
- OSM Imposm.geocoder - Optimized for German addresses.
- MapQuest's version of Nominatim - Warning, assumes USA addresses.
- GeoCommons GeoCoder - an open-source Geocoder using open data mostly just for the US using Census geography files
- Gisgraphy - an open-source Geocoder using open data
###Not a batch geocoder, but useful:
- http://aaronland.info/iamhere/ - Decimal degrees, DDMMSS, geohash, and WOE ID place reverse geocode.
- Geonames Reverse Geocoder services list
###What's in a location?###
Location Types:
- Street Address: - An address consists of a street number, a street name, and a quadrant (NE, NW, SE, SW). The address number and street name are required.
Example: 441 4th ST NW
Results in a point XY, matches free text to points, polys, or street segment lines with addy ranges.
-
Intersection: - An Intersection consists of two streets. Example: 14th ST NW and Pennsylvania Avenue NW, or 14th ST NW & Pennsylvania Avenue NW, or 16th ST NW over Military RD NW, or Military RD NW under 16th ST NW Results in a point XY, matches free text to points, polys.
-
Block: - A block consists of a street and any other cross streets. Example: 4th ST NW from D Street NW to E Street NW or 400 Block of 4th St NW Results in a point XY or line segment, matches free text to points, polys, or street segment lines with addy ranges.
-
Place, POI Names: - A place name consists of common place names (neighborhoods etc.) and public/institutional building names. Example: "White House" or "Dupont Circle" or "Wilson Building" or "Wilson High School" or "Woodrow Wilson House" Results in a point XY or polygon, matches free text to points, polys.
-
Cities: - Both incorporated and unincorporated. Results in a point XY or polygon, matches free text to points, polys.
-
Zipcodes: - Used for postal routing. Results in a point XY or polygon, matches free text to points, polys.
-
States, counties, countries: - Other administrative units. Results in a point XY or polygon, matches free text to points, polys.
Image source: DC MAR