{"cells":[{"metadata":{"_kg_hide-input":true,"_kg_hide-output":true,"trusted":true},"cell_type":"code","source":"\n!pip install python-googlegeocoder","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"PAGE = 0 # can be between 0 and 9","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true,"_kg_hide-input":true,"_kg_hide-output":false},"cell_type":"code","source":"\n\n\nimport pandas as pd\nfrom tqdm import tqdm\ndf = pd.read_csv('/kaggle/input/birdsong-recognition/train.csv')\n\nlocations = df.drop_duplicates('location').iloc[PAGE::10] # showing every 10th location - since there are way too many!\n\nimport folium\n\nlocs = folium.Map(location=[45, -122],zoom_start=5)\n\nfrom googlegeocoder import GoogleGeocoder\nKEY = '???????????????????????????????????????' # sry, had to remove this, can be obtained here -- https://console.cloud.google.com/google/maps-apis/credentials\n\ndef get_latlon(location):\n    geocoder = GoogleGeocoder(KEY)\n    search = geocoder.get(location)\n    return (search[0].geometry.location.lat, search[0].geometry.location.lng)\n\nfor d in tqdm(locations.to_dict(orient='records')):\n    \n    lat, lon = d['latitude'],d['longitude']\n    \n    if lat == 'Not specified':\n        try:\n            lat, lon=get_latlon(d['location'])\n        except KeyboardInterrupt:\n            raise\n        except:\n            continue\n    \n    folium.Marker((lat, lon), popup=d['location']).add_to(locs)\n        \nlocs","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}