import math as m import urllib3 #def degree_to_coord(lat,long,zoom): # x=256/(m.pi*2)*2**zoom*(long+m.pi) # y=256/(m.pi*2)*2**zoom*(m.pi-m.log(m.tan(m.pi/4+lat/2))) # return(int(x//256),int(y//256)) def degree_to_coord(lat,long,zoom): (x,y) = degree_to_real_coord(lat,long,zoom) return(int(x//256),int(y//256)) def degree_to_real_coord(lat,long,zoom): x=256/(m.pi*2)*2**zoom*(long+m.pi) y=256/(m.pi*2)*2**zoom*(m.pi-m.log(m.tan(m.pi/4+lat/2))) return(x,y) def degree_to_url(lat_deg,long_deg,zoom): (x,y)= degree_to_coord(m.radians(lat_deg),m.radians(long_deg),zoom) return(coord_to_url(x,y,zoom)) def coord_to_url(x,y,zoom): return(f"https://tile.openstreetmap.org/{zoom}/{x%(2**zoom)}/{y%(2**zoom)}.png") def coord_to_download(x,y,zoom,filename): user_agent = {'user-agent': 'map_viewer'} http = urllib3.PoolManager(10,headers=user_agent) print(coord_to_url(x,y,zoom)) url = http.urlopen('GET', coord_to_url(x,y,zoom)) f = open(filename,"wb") f.write(url.data) f.close() def degree_to_download(lat_deg,long_deg,zoom,filename): user_agent = {'user-agent': 'map_viewer'} http = urllib3.PoolManager(10,headers=user_agent) print(degree_to_url(lat_deg,long_deg,zoom)) url = http.urlopen('GET', degree_to_url(lat_deg,long_deg,zoom)) f = open(filename,"wb") f.write(url.data) f.close()