In the following python code I have three data layers while I need to show only two of them by default as the program executes. So the Places and District layer should be checked as the map is opened and the Country layer should be unchecked/turned off. What should I write in LayerControl for this?
import folium
import pandas
data=pandas.read_csv("Previous.csv")
data = data[data['Death'] > 0]
lat = list(data["Latitude"])
lon = list(data["Longitude"])
dat = list(data["Date"])
are = list(data["Area"])
sym = list(data["Symptoms"])
tra = list(data["Area_traveled"])
sou = list(data["Source"])
dea = list(data["Death"])
def color_producer(elevation):
if elevation <= 1:
return 'orange'
elif 1 < elevation <= 3:
return 'red'
elif 3 < elevation :
return 'darkred'
fga = folium.FeatureGroup(name="Places")
map = folium.Map(location=[23.789412, 90.351756], zoom_start=7, tiles="Mapbox Bright")
for lt, ln, co, mo, vi, up, na, de in zip(lat, lon, dat, are, sym, tra, sou, dea):
fga.add_child(folium.CircleMarker(location=[lt, ln], radius = str(de), popup= "<br><a href="+na+">Link </a></b>" + na + "<br><b>Area: </b>" + co + "<br><b>Symptoms : </b>" + vi + "<br><b>Area traveled : </b>" + mo+ "<br><b>Source : </b>" + up,
fill = 'true', fill_color = color_producer(de), color = 'grey', fill_opacity=0.7))
fgp = folium.FeatureGroup(name="District")
fgp.add_child(folium.GeoJson(open("dist.geojson",encoding = "utf-8-sig").read(), style_function=lambda x: {'fillColor':'grey' if x['properties']['Death'] == 0
else 'darkred'}))
fgq = folium.FeatureGroup(name="Country")
fgq.add_child(folium.GeoJson(open("world.json",encoding = "utf-8-sig").read(), style_function=lambda x: {
'fillColor': 'none'}))
map.add_child(fga)
map.add_child(fgp)
map.add_child(fgq)
map.add_child(folium.LayerControl())
map.save("Corona.html")