2020-06-14 00:58:52 +02:00
|
|
|
from folium import Map, Marker
|
2020-06-12 19:21:50 +02:00
|
|
|
from pandas import DataFrame, json_normalize
|
|
|
|
|
2020-06-13 18:23:34 +02:00
|
|
|
from app.data_request import request_dataset
|
2020-06-14 00:58:52 +02:00
|
|
|
from constants import COLUMNS, COORDINATES
|
2020-05-27 20:13:45 +02:00
|
|
|
|
|
|
|
|
2020-06-05 13:48:47 +02:00
|
|
|
def create_dataframe(dataset) -> DataFrame:
|
|
|
|
"""
|
2020-06-14 00:58:52 +02:00
|
|
|
Creates a DataFrame from a JSON response
|
2020-06-05 13:48:47 +02:00
|
|
|
"""
|
2020-06-13 21:58:17 +02:00
|
|
|
json = request_dataset(dataset)
|
2020-06-05 15:24:16 +02:00
|
|
|
df = json_normalize(data=json, record_path=["records"], errors="ignore",)
|
2020-06-10 21:48:44 +02:00
|
|
|
filtered_df = df.filter(items=COLUMNS[dataset])
|
|
|
|
return filtered_df
|
2020-06-14 00:58:52 +02:00
|
|
|
|
|
|
|
|
|
|
|
def create_map(df):
|
|
|
|
"""
|
|
|
|
Creates a Map with markers from the DataFrame
|
|
|
|
"""
|
|
|
|
m = Map(location=COORDINATES, zoom_start=12)
|
|
|
|
for index, row in df.iterrows():
|
2020-06-15 01:18:44 +02:00
|
|
|
lng, lat = row["fields.geo_shape.coordinates"]
|
|
|
|
Marker(location=[lat, lng]).add_to(m)
|
2020-06-14 00:58:52 +02:00
|
|
|
m.save("app/templates/map.html")
|