import folium
import pandas

data=pandas.read_csv("Volcanoes.txt")

lat=list(data["LAT"])
lon=list(data["LON"])
elev=list(data["ELEV"])

def color_producer(e):
    if e<1000:
        return "green"
    elif 1000 <= e <3000:
        return "orange"
    else:
        return "red"
map=folium.Map([38.58,-99.89],zoom_start=6,tiles="Stamen Terrain")

fgv= folium.FeatureGroup(name="Volcanoes")

for lt,lo,el in zip(lat,lon,elev):
    fgv.add_child(folium.CircleMarker(location=[lt,lo],radius=6,popup=str(el)+" m",fill_color=color_producer(el),color='white',fill=True,fill_opacity=0.7))

fgp= folium.FeatureGroup(name="Population")

fgp.add_child(folium.GeoJson(data=open('world.json', 'r', encoding='utf-8-sig').read(),
style_function=lambda x: {'fillColor':'blue' if x['properties']['POP2005'] < 10000000
else 'orange' if 10000000 <= x['properties']['POP2005'] < 20000000 else 'red'}))

map.add_child(fgv)
map.add_child(fgp)
map.add_child(folium.LayerControl())

map.save("Map2.html")
