diff --git a/Basic-Scripts/Covid_Visulaiser_India/README.md b/Basic-Scripts/Covid_Visulaiser_India/README.md new file mode 100644 index 00000000..49d0f6b7 --- /dev/null +++ b/Basic-Scripts/Covid_Visulaiser_India/README.md @@ -0,0 +1,23 @@ +# How to Use + +- Clone the project + +- run ```pip install -r requirements.txt``` + +- ```python3 main.py``` + +- It will launch a google-chrome tab showing the map, if you dont have chrome installed open the generated `map.html` with any browser. + + +-------------------------------------------------------------------------------------------------------------------- + + + +![map of india](map.png) + + +This project visualises the current COVID position of India on a map using Folium + +Hover over the markers and click it :p + +(will extend it to more countries later) diff --git a/Basic-Scripts/Covid_Visulaiser_India/main.py b/Basic-Scripts/Covid_Visulaiser_India/main.py new file mode 100644 index 00000000..18db8e37 --- /dev/null +++ b/Basic-Scripts/Covid_Visulaiser_India/main.py @@ -0,0 +1,69 @@ +import os +import folium +import requests +import json + +r = requests.get(url='https://api.covid19india.org/data.json') +statewise_covid_data = json.loads(r.content)['statewise'] + +with open('capital_data.json', 'r') as f: + json_text = f.read() + +city_data = json.loads(json_text) + + +for i in range(1, len(statewise_covid_data)): + for j in range(len(city_data)): + if statewise_covid_data[i]['statecode'] == city_data[j]['statecode']: + city_data[j]['confirmed'] = statewise_covid_data[i]['confirmed'] + city_data[j]['deaths'] = statewise_covid_data[i]['deaths'] + break + + +mp = folium.Map(location=[city_data[1]['lat'], + city_data[1]['lng']], zoom_start=5) + +for i in range(len(city_data)): + if 'deaths' not in city_data[i]: + continue + if float(city_data[i]['deaths']) > 50: + folium.Marker(location=[city_data[i]['lat'], city_data[i]['lng']], + popup=city_data[i]['state'], + icon=folium.Icon( + color='darkred', icon_color='white', icon='remove-sign',), + tooltip='deaths: ' + + city_data[i]['deaths'] + ' confirmed: ' + + city_data[i]['confirmed'] + ).add_to(mp) + elif float(city_data[i]['deaths']) > 20: + folium.Marker(location=[city_data[i]['lat'], city_data[i]['lng']], + popup=city_data[i]['state'], + icon=folium.Icon( + color='red', icon_color='white', icon='ban-circle',), + tooltip='deaths: ' + + city_data[i]['deaths'] + ' confirmed: ' + + city_data[i]['confirmed'] + ).add_to(mp) + elif float(city_data[i]['deaths']) > 0: + folium.Marker(location=[city_data[i]['lat'], city_data[i]['lng']], + popup=city_data[i]['state'], + icon=folium.Icon( + color='orange', icon_color='white', icon='warning-sign',), + tooltip='deaths: ' + + city_data[i]['deaths'] + ' confirmed: ' + + city_data[i]['confirmed'] + ).add_to(mp) + + elif float(city_data[i]['deaths']) == 0: + folium.Marker(location=[city_data[i]['lat'], city_data[i]['lng']], + popup=city_data[i]['state'], + icon=folium.Icon( + color='green', icon_color='white', icon='ok-circle',), + tooltip='deaths: ' + + city_data[i]['deaths'] + ' confirmed: ' + + city_data[i]['confirmed'] + ).add_to(mp) + +mp.save('map.html') + +os.system('google-chrome map.html &') diff --git a/Basic-Scripts/Covid_Visulaiser_India/map.png b/Basic-Scripts/Covid_Visulaiser_India/map.png new file mode 100644 index 00000000..9e3afd57 Binary files /dev/null and b/Basic-Scripts/Covid_Visulaiser_India/map.png differ diff --git a/Basic-Scripts/Covid_Visulaiser_India/requirements.txt b/Basic-Scripts/Covid_Visulaiser_India/requirements.txt new file mode 100644 index 00000000..a746740b --- /dev/null +++ b/Basic-Scripts/Covid_Visulaiser_India/requirements.txt @@ -0,0 +1 @@ +folium==0.10.1