76 lines
2.0 KiB
Python
76 lines
2.0 KiB
Python
import requests
|
|
import json
|
|
from geopy.geocoders import Nominatim
|
|
|
|
# url = 'http://nominatim.openstreetmap.org/'
|
|
|
|
# params = {'q': '157+High+Street,+Prestatyn,+Conwy', 'format': 'json', 'addressdetails': 1, 'limit': 1}
|
|
|
|
# response = requests.get(url, params=params).json()
|
|
|
|
# print(type(response))
|
|
# print(len(response))
|
|
# print(response)
|
|
|
|
# json_response = response[0]
|
|
|
|
# print(json.dumps(json_response, sort_keys=False, indent=4, separators=(',', ': ')))
|
|
|
|
url = 'http://nominatim.openstreetmap.org/reverse'
|
|
|
|
# geolocator = Nominatim()
|
|
geolocator = Nominatim(user_agent="Test_normalizer") # user_agent is a parameter to the Nominatim class
|
|
|
|
address, (latitude, longitude) = geolocator.reverse("40.752067, -73.977578")
|
|
print(address, latitude, longitude)
|
|
|
|
params = {'q': '157+High+Street,+Prestatyn,+Conwy', 'format': 'json', 'addressdetails': 1, 'limit': 1}
|
|
|
|
streetname = '157 High Street'
|
|
cityname = 'Prestatyn'
|
|
statename = 'Conwy'
|
|
countryname = 'UK'
|
|
postcode = 'LL19 9AP'
|
|
|
|
address, (latitude, longitude) = geolocator.geocode({'street': streetname, 'postalcode': postcode})
|
|
|
|
print(address, latitude, longitude)
|
|
|
|
|
|
def osm_address_lookup(dict, geolocator):
|
|
if 'address' in dict:
|
|
streetname = dict['address'][0]
|
|
postcode = dict['address'][-2]
|
|
address, (latitude, longitude) = geolocator.geocode({'street': streetname, 'postalcode': postcode})
|
|
else:
|
|
print("No address.")
|
|
|
|
lat = dict['location']['lat']
|
|
lon = dict["location"]['lon']
|
|
latlon = dict["location"]['lat'] + "," + dict["location"]['lon']
|
|
if 'location' in dict:
|
|
print(geolocator.reverse(latlon))
|
|
else:
|
|
pass
|
|
|
|
address = [
|
|
"61 Coldharbour Lane",
|
|
"Hayes",
|
|
"Middlesex",
|
|
"UB3 3EE",
|
|
"England"
|
|
]
|
|
|
|
location = {
|
|
"lat": "51.50828",
|
|
"lon": "-0.4145179"
|
|
}
|
|
|
|
dict = {'address': address, 'location': location}
|
|
geolocator = Nominatim()
|
|
osm_address_lookup(dict, geolocator)
|
|
|
|
dict = {'location': location}
|
|
geolocator = Nominatim()
|
|
osm_address_lookup(dict, geolocator)
|