Skip to content

Instantly share code, notes, and snippets.

@databyjp
Created February 21, 2020 06:32
Show Gist options
  • Save databyjp/d670718925c66990a1b17ba0358f4f5f to your computer and use it in GitHub Desktop.
Save databyjp/d670718925c66990a1b17ba0358f4f5f to your computer and use it in GitHub Desktop.
# ========== GET ARENA LOCATIONS ==========
arena_csv = 'srcdata/arenas_list.csv'
arena_df = pd.read_csv(arena_csv)
arena_df = arena_df.assign(full_loc=arena_df.arena_name + ', ' + arena_df.arena_city)
def get_loc_resp(srch_str):
import time
import requests
with open('../locationiq_token.txt', 'r') as f:
prv_tkn = f.read().strip()
# LocationIQ - 2 requests / second limit for free account
time.sleep(0.5)
API_url = "https://us1.locationiq.com/v1/search.php?key=" + prv_tkn + "&q=" + srch_str + "&format=json"
loc_resp = requests.get(API_url)
return loc_resp
def get_lat_long(srch_str):
import json
try:
logger.info(f'Searching for {srch_str}')
loc_resp = get_loc_resp(srch_str)
lat = json.loads(loc_resp.text)[0]['lat']
lon = json.loads(loc_resp.text)[0]['lon']
dispname = json.loads(loc_resp.text)[0]['display_name']
logger.info(f'Found {dispname}')
except:
logger.exception('Something went wrong :(')
lat = 0.0
lon = 0.0
return lat, lon
arena_df = arena_df.assign(arena_loc=arena_df['full_loc'].apply(get_lat_long))
arena_df = arena_df.assign(lat=arena_df.arena_loc.apply(lambda x: x[0]).astype(float))
arena_df = arena_df.assign(lon=arena_df.arena_loc.apply(lambda x: x[1]).astype(float))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment