Files
pa-pyscript/map/script.py

31 lines
1.0 KiB
Python

from pyodide.http import open_url
import folium, json
# import geopandas as gpd
def style(x):
match (x["properties"]["plz"][0]):
case "0": return {"color": "yellow"}
case "1": return {"color": "orange"}
case "2": return {"color": "tomato"}
case "3": return {"color": "violet"}
case "4": return {"color": "dodgerblue"}
case "5": return {"color": "blue"}
case "6": return {"color": "gold"}
case "7": return {"color": "green"}
case "8": return {"color": "mediumseagreen"}
case "9": return {"color": "slateblue"}
return {"color": "black"}
# geo_json = json.loads(gpd.read_file("./plz-1stellig.shp", dtype={"plz": str}).to_json())
geo_json = json.loads(open_url("./plz-2stellig.geojson").read())
m = folium.Map(location=[50.4, 9.6], zoom_start=6)
folium.GeoJson(
geo_json,
name="Postleitzahl",
style_function=lambda x: style(x),
tooltip=folium.features.GeoJsonTooltip(fields=['plz'], aliases=["Postleitzahl"]),
).add_to(m)
folium.LayerControl().add_to(m)
m