How to convert longitude and latitude to street address How to convert longitude and latitude to street address python python

How to convert longitude and latitude to street address


99% of the time, most people link you to Google Maps's API. Not a bad answer. HOWEVER -- Beware of the prohibited uses, usage limits and Terms of Use! While a distributed app many not run afoul of the usage limit, it is quite limiting for a web app. The TOS does not allow you to repurpose Google's data into an app with your skin on it. You would hate to have your business plan derailed by a cease and desist letter from Google, no?

All is not lost. There are several open sources of data, including US Government sources. Here are a few of the best:

The US Census Tiger Database, in particular, supports reverse geocoding and is free and open for US addresses. Most other databases derive from it in the US.

Geonames and OpenStreetMap are user supported in the Wikipedia model.


You could try https://mapzen.com/pelias it's open source and actively being developed.

For example: http://pelias.mapzen.com/reverse?lat=40.773656&lon=-73.9596353

returns (after formatting):

{   "type":"FeatureCollection",   "features":[      {         "type":"Feature",         "properties":{            "id":"address-node-2723963885",            "type":"osmnode",            "layer":"osmnode",            "name":"151 East 77th Street",            "alpha3":"USA",            "admin0":"United States",            "admin1":"New York",            "admin1_abbr":"NY",            "admin2":"New York",            "local_admin":"Manhattan",            "locality":"New York",            "neighborhood":"Upper East Side",            "text":"151 East 77th Street, Manhattan, NY"         },         "geometry":{            "type":"Point",            "coordinates":[-73.9596265, 40.7736566]         }      }   ],   "bbox":[-73.9596265, 40.7736566, -73.9596265, 40.7736566],   "date":1420779851926}