{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "5af63f76",
"metadata": {},
"outputs": [],
"source": [
"from pathlib import Path\n",
"import requests\n",
"import shutil\n",
"import folium"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "761e55bc",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "ccefa7cc",
"metadata": {},
"outputs": [],
"source": [
"from IPython.display import display"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ea6544a1",
"metadata": {},
"outputs": [],
"source": [
"SCRIPT_DIR = Path('.').resolve()\n",
"INPUT_DIR = SCRIPT_DIR / 'input'\n",
"OUTPUT_DIR = SCRIPT_DIR / 'output'\n",
"OUTPUT_DIR.mkdir(exist_ok=True)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "a9215b30",
"metadata": {},
"outputs": [],
"source": [
"INPUT_FILE = INPUT_DIR / 'wuerzburg_trees.parquet'\n",
"INPUT_URL = \"https://opendata.wuerzburg.de/api/explore/v2.1/catalog/datasets/sls-klimabaeume/exports/parquet?lang=en&timezone=Europe%2FBerlin\"\n",
"USER_AGENT = {'User-agent': 'Mozilla/5.0'}"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "763799d4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"C:\\Users\\eric.duminil\\git\\circulargreensimcity\\python_scripts\\parse_wurzburg_open_data\\input\\wuerzburg_trees.parquet already here.\n"
]
}
],
"source": [
"def download_file(download_url, download_path):\n",
" with requests.get(download_url, stream=True, headers=USER_AGENT) as r:\n",
" with open(download_path, 'wb') as f:\n",
" shutil.copyfileobj(r.raw, f)\n",
"\n",
"\n",
"if INPUT_FILE.exists() and INPUT_FILE.stat().st_size > 0:\n",
" print(f\"{INPUT_FILE} already here.\")\n",
"else:\n",
" print(f\"Downloading {INPUT_URL}\")\n",
" download_file(INPUT_URL, INPUT_FILE)\n",
" print(\" Done\")\n",
"\n",
"df = pd.read_parquet(INPUT_FILE, engine='fastparquet')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "c8c647de",
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_parquet('input/wuerzburg_trees.parquet', engine='fastparquet')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "8ce189f0",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" species_german | \n",
" latitude | \n",
" longitude | \n",
" soil_composition | \n",
" vol_water_content_30 | \n",
" vol_water_content_100 | \n",
" permittivity_30 | \n",
" permittivity_100 | \n",
" conductivity_30 | \n",
" conductivity_100 | \n",
" usable_field_capacity_30 | \n",
" usable_field_capacity_100 | \n",
" temperature_30 | \n",
" temperature_100 | \n",
" battery_percentage | \n",
" timestamp | \n",
" koordinaten | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 23631 | \n",
" Tilia Cordata Greenspire | \n",
" Stadt-Linde | \n",
" 49.793440 | \n",
" 9.940730 | \n",
" Boden Ringpark | \n",
" 37.0 | \n",
" 27.0 | \n",
" 22.34 | \n",
" 15.17 | \n",
" 19.3 | \n",
" 21.8 | \n",
" 117.647059 | \n",
" 58.823529 | \n",
" 25.06 | \n",
" 23.19 | \n",
" 59.0 | \n",
" 2023-07-12 10:18:26 | \n",
" b'\\x01\\x01\\x00\\x00\\x00o\\xbb\\xd0\\\\\\xa7\\xe1#@K\\x... | \n",
"
\n",
" \n",
" 1 | \n",
" 5463.1 | \n",
" Ulmus New Horizon | \n",
" Ulme New Horizon | \n",
" 49.796000 | \n",
" 9.932720 | \n",
" Eigensubstrat Gartenamt | \n",
" 45.0 | \n",
" 33.0 | \n",
" 30.84 | \n",
" 18.86 | \n",
" 20.9 | \n",
" 0.0 | \n",
" 176.190476 | \n",
" 119.047619 | \n",
" 25.26 | \n",
" 25.12 | \n",
" 56.0 | \n",
" 2023-07-12 10:04:33 | \n",
" b'\\x01\\x01\\x00\\x00\\x00v\\xa6\\xd0y\\x8d\\xdd#@\\xd9... | \n",
"
\n",
" \n",
" 2 | \n",
" 58413 | \n",
" Ulmus New Horizon | \n",
" Ulme New Horizon | \n",
" 49.796580 | \n",
" 9.941690 | \n",
" Boden-Sand-Lehm 4 | \n",
" 22.0 | \n",
" 34.0 | \n",
" 11.81 | \n",
" 20.14 | \n",
" 0.0 | \n",
" 19.1 | \n",
" 55.555556 | \n",
" 122.222222 | \n",
" 26.51 | \n",
" 24.40 | \n",
" 58.0 | \n",
" 2023-07-12 10:57:41 | \n",
" b'\\x01\\x01\\x00\\x00\\x00\\xc3\\xf0\\x111%\\xe2#@\\xe7... | \n",
"
\n",
" \n",
" 3 | \n",
" 58753 | \n",
" Acer Platanoides | \n",
" Spitz-Ahorn | \n",
" 49.782000 | \n",
" 9.956770 | \n",
" VulkaTree | \n",
" 44.0 | \n",
" 31.0 | \n",
" 30.32 | \n",
" 17.33 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 139.130435 | \n",
" 82.608696 | \n",
" 24.94 | \n",
" 19.20 | \n",
" 59.0 | \n",
" 2023-07-12 10:47:32 | \n",
" b'\\x01\\x01\\x00\\x00\\x00}\\x96\\xe7\\xc1\\xdd\\xe9#@j... | \n",
"
\n",
" \n",
" 4 | \n",
" 5540 | \n",
" Tilia Cordata Greenspire | \n",
" Stadt-Linde | \n",
" 49.793180 | \n",
" 9.933190 | \n",
" Boden-Sand-Lehm 4 | \n",
" 35.0 | \n",
" 36.0 | \n",
" 20.65 | \n",
" 21.61 | \n",
" 19.2 | \n",
" 0.0 | \n",
" 127.777778 | \n",
" 133.333333 | \n",
" 23.13 | \n",
" 19.85 | \n",
" 60.0 | \n",
" 2023-07-12 10:06:59 | \n",
" b'\\x01\\x01\\x00\\x00\\x00\\x92\\xe8e\\x14\\xcb\\xdd#@\\... | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 158720 | \n",
" 05_Ersatz_3_7023.2 | \n",
" Unbekannt | \n",
" Unbekannt | \n",
" 49.791642 | \n",
" 9.935594 | \n",
" VulkaTree | \n",
" 59.0 | \n",
" NaN | \n",
" 53.11 | \n",
" NaN | \n",
" 38.1 | \n",
" NaN | \n",
" 137.837838 | \n",
" NaN | \n",
" 24.10 | \n",
" NaN | \n",
" 57.0 | \n",
" 2024-07-22 10:23:46 | \n",
" b'\\x01\\x01\\x00\\x00\\x00\\x96j*<\\x06\\xdf#@.\\xd3\\x... | \n",
"
\n",
" \n",
" 158721 | \n",
" 5463.1 | \n",
" Ulmus New Horizon | \n",
" Ulme New Horizon | \n",
" 49.796000 | \n",
" 9.932720 | \n",
" Eigensubstrat Gartenamt | \n",
" 36.0 | \n",
" 33.0 | \n",
" 22.05 | \n",
" 19.29 | \n",
" 19.5 | \n",
" 0.0 | \n",
" 90.322581 | \n",
" 80.645161 | \n",
" 23.42 | \n",
" 21.82 | \n",
" 29.0 | \n",
" 2024-07-22 11:25:45 | \n",
" b'\\x01\\x01\\x00\\x00\\x00v\\xa6\\xd0y\\x8d\\xdd#@\\xd9... | \n",
"
\n",
" \n",
" 158722 | \n",
" 05_Ersatz_3_7023.2 | \n",
" Unbekannt | \n",
" Unbekannt | \n",
" 49.791642 | \n",
" 9.935594 | \n",
" VulkaTree | \n",
" 59.0 | \n",
" NaN | \n",
" 53.06 | \n",
" NaN | \n",
" 38.2 | \n",
" NaN | \n",
" 137.837838 | \n",
" NaN | \n",
" 24.10 | \n",
" NaN | \n",
" 57.0 | \n",
" 2024-07-22 11:24:16 | \n",
" b'\\x01\\x01\\x00\\x00\\x00\\x96j*<\\x06\\xdf#@.\\xd3\\x... | \n",
"
\n",
" \n",
" 158723 | \n",
" Gartenamt_Kontroll_2 | \n",
" Unbekannt | \n",
" Unbekannt | \n",
" 49.797012 | \n",
" 10.001281 | \n",
" Eigensubstrat Gartenamt | \n",
" 0.0 | \n",
" NaN | \n",
" 0.00 | \n",
" NaN | \n",
" 0.0 | \n",
" NaN | \n",
" -25.806452 | \n",
" NaN | \n",
" 0.00 | \n",
" NaN | \n",
" 77.0 | \n",
" 2024-07-22 11:35:41 | \n",
" b'\\x01\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\xf8\\xa7\\x00... | \n",
"
\n",
" \n",
" 158724 | \n",
" 65851 | \n",
" Fraxinus Angustifolia Raywood | \n",
" Esche Raywood | \n",
" 49.791200 | \n",
" 9.927240 | \n",
" VulkaTree | \n",
" 49.0 | \n",
" 37.0 | \n",
" 37.43 | \n",
" 22.84 | \n",
" 0.0 | \n",
" 19.8 | \n",
" 110.810811 | \n",
" 78.378378 | \n",
" 25.76 | \n",
" 21.08 | \n",
" 31.0 | \n",
" 2024-07-22 11:35:44 | \n",
" b'\\x01\\x01\\x00\\x00\\x00\\t\\x16\\x873\\xbf\\xda#@0L\\... | \n",
"
\n",
" \n",
"
\n",
"
158725 rows × 19 columns
\n",
"
"
],
"text/plain": [
" tree_number species_latin species_german \\\n",
"0 23631 Tilia Cordata Greenspire Stadt-Linde \n",
"1 5463.1 Ulmus New Horizon Ulme New Horizon \n",
"2 58413 Ulmus New Horizon Ulme New Horizon \n",
"3 58753 Acer Platanoides Spitz-Ahorn \n",
"4 5540 Tilia Cordata Greenspire Stadt-Linde \n",
"... ... ... ... \n",
"158720 05_Ersatz_3_7023.2 Unbekannt Unbekannt \n",
"158721 5463.1 Ulmus New Horizon Ulme New Horizon \n",
"158722 05_Ersatz_3_7023.2 Unbekannt Unbekannt \n",
"158723 Gartenamt_Kontroll_2 Unbekannt Unbekannt \n",
"158724 65851 Fraxinus Angustifolia Raywood Esche Raywood \n",
"\n",
" latitude longitude soil_composition vol_water_content_30 \\\n",
"0 49.793440 9.940730 Boden Ringpark 37.0 \n",
"1 49.796000 9.932720 Eigensubstrat Gartenamt 45.0 \n",
"2 49.796580 9.941690 Boden-Sand-Lehm 4 22.0 \n",
"3 49.782000 9.956770 VulkaTree 44.0 \n",
"4 49.793180 9.933190 Boden-Sand-Lehm 4 35.0 \n",
"... ... ... ... ... \n",
"158720 49.791642 9.935594 VulkaTree 59.0 \n",
"158721 49.796000 9.932720 Eigensubstrat Gartenamt 36.0 \n",
"158722 49.791642 9.935594 VulkaTree 59.0 \n",
"158723 49.797012 10.001281 Eigensubstrat Gartenamt 0.0 \n",
"158724 49.791200 9.927240 VulkaTree 49.0 \n",
"\n",
" vol_water_content_100 permittivity_30 permittivity_100 \\\n",
"0 27.0 22.34 15.17 \n",
"1 33.0 30.84 18.86 \n",
"2 34.0 11.81 20.14 \n",
"3 31.0 30.32 17.33 \n",
"4 36.0 20.65 21.61 \n",
"... ... ... ... \n",
"158720 NaN 53.11 NaN \n",
"158721 33.0 22.05 19.29 \n",
"158722 NaN 53.06 NaN \n",
"158723 NaN 0.00 NaN \n",
"158724 37.0 37.43 22.84 \n",
"\n",
" conductivity_30 conductivity_100 usable_field_capacity_30 \\\n",
"0 19.3 21.8 117.647059 \n",
"1 20.9 0.0 176.190476 \n",
"2 0.0 19.1 55.555556 \n",
"3 0.0 0.0 139.130435 \n",
"4 19.2 0.0 127.777778 \n",
"... ... ... ... \n",
"158720 38.1 NaN 137.837838 \n",
"158721 19.5 0.0 90.322581 \n",
"158722 38.2 NaN 137.837838 \n",
"158723 0.0 NaN -25.806452 \n",
"158724 0.0 19.8 110.810811 \n",
"\n",
" usable_field_capacity_100 temperature_30 temperature_100 \\\n",
"0 58.823529 25.06 23.19 \n",
"1 119.047619 25.26 25.12 \n",
"2 122.222222 26.51 24.40 \n",
"3 82.608696 24.94 19.20 \n",
"4 133.333333 23.13 19.85 \n",
"... ... ... ... \n",
"158720 NaN 24.10 NaN \n",
"158721 80.645161 23.42 21.82 \n",
"158722 NaN 24.10 NaN \n",
"158723 NaN 0.00 NaN \n",
"158724 78.378378 25.76 21.08 \n",
"\n",
" battery_percentage timestamp \\\n",
"0 59.0 2023-07-12 10:18:26 \n",
"1 56.0 2023-07-12 10:04:33 \n",
"2 58.0 2023-07-12 10:57:41 \n",
"3 59.0 2023-07-12 10:47:32 \n",
"4 60.0 2023-07-12 10:06:59 \n",
"... ... ... \n",
"158720 57.0 2024-07-22 10:23:46 \n",
"158721 29.0 2024-07-22 11:25:45 \n",
"158722 57.0 2024-07-22 11:24:16 \n",
"158723 77.0 2024-07-22 11:35:41 \n",
"158724 31.0 2024-07-22 11:35:44 \n",
"\n",
" koordinaten \n",
"0 b'\\x01\\x01\\x00\\x00\\x00o\\xbb\\xd0\\\\\\xa7\\xe1#@K\\x... \n",
"1 b'\\x01\\x01\\x00\\x00\\x00v\\xa6\\xd0y\\x8d\\xdd#@\\xd9... \n",
"2 b'\\x01\\x01\\x00\\x00\\x00\\xc3\\xf0\\x111%\\xe2#@\\xe7... \n",
"3 b'\\x01\\x01\\x00\\x00\\x00}\\x96\\xe7\\xc1\\xdd\\xe9#@j... \n",
"4 b'\\x01\\x01\\x00\\x00\\x00\\x92\\xe8e\\x14\\xcb\\xdd#@\\... \n",
"... ... \n",
"158720 b'\\x01\\x01\\x00\\x00\\x00\\x96j*<\\x06\\xdf#@.\\xd3\\x... \n",
"158721 b'\\x01\\x01\\x00\\x00\\x00v\\xa6\\xd0y\\x8d\\xdd#@\\xd9... \n",
"158722 b'\\x01\\x01\\x00\\x00\\x00\\x96j*<\\x06\\xdf#@.\\xd3\\x... \n",
"158723 b'\\x01\\x01\\x00\\x00\\x00\\x01\\x00\\x00\\xf8\\xa7\\x00... \n",
"158724 b'\\x01\\x01\\x00\\x00\\x00\\t\\x16\\x873\\xbf\\xda#@0L\\... \n",
"\n",
"[158725 rows x 19 columns]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "57133341",
"metadata": {},
"outputs": [],
"source": [
"interesting_columns = ['tree_number', 'species_latin', 'latitude', 'longitude']"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "4850e91c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 3 | \n",
" 58753 | \n",
" Acer Platanoides | \n",
" 49.782000 | \n",
" 9.956770 | \n",
"
\n",
" \n",
" 425 | \n",
" 06_Ersatz_01_58753 | \n",
" Acer Platanoides | \n",
" 49.781994 | \n",
" 9.959306 | \n",
"
\n",
" \n",
" 10702 | \n",
" 06_Ersatz_01_58753 | \n",
" Acer Platanoides | \n",
" 49.781994 | \n",
" 9.959306 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"3 58753 Acer Platanoides 49.782000 9.956770\n",
"425 06_Ersatz_01_58753 Acer Platanoides 49.781994 9.959306\n",
"10702 06_Ersatz_01_58753 Acer Platanoides 49.781994 9.959306"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 7 | \n",
" 65851 | \n",
" Fraxinus Angustifolia Raywood | \n",
" 49.7912 | \n",
" 9.92724 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"7 65851 Fraxinus Angustifolia Raywood 49.7912 9.92724"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 28816 | \n",
" 54838 | \n",
" Fraxinus Ornus | \n",
" 49.77794 | \n",
" 9.93879 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"28816 54838 Fraxinus Ornus 49.77794 9.93879"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 11925 | \n",
" 8971.1 | \n",
" Gleditsia Triacanthos Inermis | \n",
" 49.79037 | \n",
" 9.92953 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"11925 8971.1 Gleditsia Triacanthos Inermis 49.79037 9.92953"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 9 | \n",
" 36312 | \n",
" Robinia Pseudoacacia | \n",
" 49.7913 | \n",
" 9.96101 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"9 36312 Robinia Pseudoacacia 49.7913 9.96101"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 5 | \n",
" 54976 | \n",
" Sophora Japonica | \n",
" 49.78955 | \n",
" 9.93318 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"5 54976 Sophora Japonica 49.78955 9.93318"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 23631 | \n",
" Tilia Cordata Greenspire | \n",
" 49.79344 | \n",
" 9.94073 | \n",
"
\n",
" \n",
" 4 | \n",
" 5540 | \n",
" Tilia Cordata Greenspire | \n",
" 49.79318 | \n",
" 9.93319 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"0 23631 Tilia Cordata Greenspire 49.79344 9.94073\n",
"4 5540 Tilia Cordata Greenspire 49.79318 9.93319"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 30 | \n",
" 58762 | \n",
" Tilia Tomentosa Brabant | \n",
" 49.78558 | \n",
" 9.959380 | \n",
"
\n",
" \n",
" 424 | \n",
" 01_Ersatz_2_58762 | \n",
" Tilia Tomentosa Brabant | \n",
" 49.78550 | \n",
" 9.959306 | \n",
"
\n",
" \n",
" 10455 | \n",
" 01_Ersatz_2_58762 | \n",
" Tilia Tomentosa Brabant | \n",
" 49.78550 | \n",
" 9.959306 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"30 58762 Tilia Tomentosa Brabant 49.78558 9.959380\n",
"424 01_Ersatz_2_58762 Tilia Tomentosa Brabant 49.78550 9.959306\n",
"10455 01_Ersatz_2_58762 Tilia Tomentosa Brabant 49.78550 9.959306"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 8 | \n",
" 5445 | \n",
" Tilia Vulgaris Pallida | \n",
" 49.79619 | \n",
" 9.93103 | \n",
"
\n",
" \n",
" 9075 | \n",
" 42374 | \n",
" Tilia Vulgaris Pallida | \n",
" 49.79761 | \n",
" 9.93270 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"8 5445 Tilia Vulgaris Pallida 49.79619 9.93103\n",
"9075 42374 Tilia Vulgaris Pallida 49.79761 9.93270"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 5463.1 | \n",
" Ulmus New Horizon | \n",
" 49.79600 | \n",
" 9.93272 | \n",
"
\n",
" \n",
" 2 | \n",
" 58413 | \n",
" Ulmus New Horizon | \n",
" 49.79658 | \n",
" 9.94169 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"1 5463.1 Ulmus New Horizon 49.79600 9.93272\n",
"2 58413 Ulmus New Horizon 49.79658 9.94169"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 11914 | \n",
" 56822 | \n",
" Ulmus Rebona | \n",
" 49.78703 | \n",
" 9.92758 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"11914 56822 Ulmus Rebona 49.78703 9.92758"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 10 | \n",
" 7023.2 | \n",
" Unbekannt | \n",
" 49.791660 | \n",
" 9.935570 | \n",
"
\n",
" \n",
" 430 | \n",
" 05_Ersatz_3_7023.2 | \n",
" Unbekannt | \n",
" 49.791642 | \n",
" 9.935594 | \n",
"
\n",
" \n",
" 10459 | \n",
" 05_Ersatz_3_7023.2 | \n",
" Unbekannt | \n",
" 49.791642 | \n",
" 9.935594 | \n",
"
\n",
" \n",
" 10464 | \n",
" Gartenamt_Kontroll_2 | \n",
" Unbekannt | \n",
" 49.797012 | \n",
" 10.001281 | \n",
"
\n",
" \n",
" 10465 | \n",
" Gartenamt_Kontroll_1 | \n",
" Unbekannt | \n",
" 49.796866 | \n",
" 10.001541 | \n",
"
\n",
" \n",
" 11431 | \n",
" Gartenamt_Kontroll_2 | \n",
" Unbekannt | \n",
" 49.797012 | \n",
" 10.001281 | \n",
"
\n",
" \n",
" 11446 | \n",
" Gartenamt_Kontroll_1 | \n",
" Unbekannt | \n",
" 49.796866 | \n",
" 10.001541 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"10 7023.2 Unbekannt 49.791660 9.935570\n",
"430 05_Ersatz_3_7023.2 Unbekannt 49.791642 9.935594\n",
"10459 05_Ersatz_3_7023.2 Unbekannt 49.791642 9.935594\n",
"10464 Gartenamt_Kontroll_2 Unbekannt 49.797012 10.001281\n",
"10465 Gartenamt_Kontroll_1 Unbekannt 49.796866 10.001541\n",
"11431 Gartenamt_Kontroll_2 Unbekannt 49.797012 10.001281\n",
"11446 Gartenamt_Kontroll_1 Unbekannt 49.796866 10.001541"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: []\n",
"Index: []"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"species = 'species_latin'\n",
"coordinates = ['latitude', 'longitude']\n",
"df[interesting_columns].drop_duplicates().groupby(species).apply(display)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "4adc45ea",
"metadata": {},
"outputs": [],
"source": [
"lat_min, lon_min, lat_max, lon_max = df[coordinates].agg(['min', 'max']).stack().values"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "4bdd0adb",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 424 | \n",
" 01_Ersatz_2_58762 | \n",
" Tilia Tomentosa Brabant | \n",
" 49.7855 | \n",
" 9.959306 | \n",
"
\n",
" \n",
" 10455 | \n",
" 01_Ersatz_2_58762 | \n",
" Tilia Tomentosa Brabant | \n",
" 49.7855 | \n",
" 9.959306 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"424 01_Ersatz_2_58762 Tilia Tomentosa Brabant 49.7855 9.959306\n",
"10455 01_Ersatz_2_58762 Tilia Tomentosa Brabant 49.7855 9.959306"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 430 | \n",
" 05_Ersatz_3_7023.2 | \n",
" Unbekannt | \n",
" 49.791642 | \n",
" 9.935594 | \n",
"
\n",
" \n",
" 10459 | \n",
" 05_Ersatz_3_7023.2 | \n",
" Unbekannt | \n",
" 49.791642 | \n",
" 9.935594 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"430 05_Ersatz_3_7023.2 Unbekannt 49.791642 9.935594\n",
"10459 05_Ersatz_3_7023.2 Unbekannt 49.791642 9.935594"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 425 | \n",
" 06_Ersatz_01_58753 | \n",
" Acer Platanoides | \n",
" 49.781994 | \n",
" 9.959306 | \n",
"
\n",
" \n",
" 10702 | \n",
" 06_Ersatz_01_58753 | \n",
" Acer Platanoides | \n",
" 49.781994 | \n",
" 9.959306 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"425 06_Ersatz_01_58753 Acer Platanoides 49.781994 9.959306\n",
"10702 06_Ersatz_01_58753 Acer Platanoides 49.781994 9.959306"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 23631 | \n",
" Tilia Cordata Greenspire | \n",
" 49.79344 | \n",
" 9.94073 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"0 23631 Tilia Cordata Greenspire 49.79344 9.94073"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 9 | \n",
" 36312 | \n",
" Robinia Pseudoacacia | \n",
" 49.7913 | \n",
" 9.96101 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"9 36312 Robinia Pseudoacacia 49.7913 9.96101"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 9075 | \n",
" 42374 | \n",
" Tilia Vulgaris Pallida | \n",
" 49.79761 | \n",
" 9.9327 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"9075 42374 Tilia Vulgaris Pallida 49.79761 9.9327"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 8 | \n",
" 5445 | \n",
" Tilia Vulgaris Pallida | \n",
" 49.79619 | \n",
" 9.93103 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"8 5445 Tilia Vulgaris Pallida 49.79619 9.93103"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 5463.1 | \n",
" Ulmus New Horizon | \n",
" 49.796 | \n",
" 9.93272 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"1 5463.1 Ulmus New Horizon 49.796 9.93272"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 28816 | \n",
" 54838 | \n",
" Fraxinus Ornus | \n",
" 49.77794 | \n",
" 9.93879 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"28816 54838 Fraxinus Ornus 49.77794 9.93879"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 5 | \n",
" 54976 | \n",
" Sophora Japonica | \n",
" 49.78955 | \n",
" 9.93318 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"5 54976 Sophora Japonica 49.78955 9.93318"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 4 | \n",
" 5540 | \n",
" Tilia Cordata Greenspire | \n",
" 49.79318 | \n",
" 9.93319 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"4 5540 Tilia Cordata Greenspire 49.79318 9.93319"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 11914 | \n",
" 56822 | \n",
" Ulmus Rebona | \n",
" 49.78703 | \n",
" 9.92758 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"11914 56822 Ulmus Rebona 49.78703 9.92758"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 2 | \n",
" 58413 | \n",
" Ulmus New Horizon | \n",
" 49.79658 | \n",
" 9.94169 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"2 58413 Ulmus New Horizon 49.79658 9.94169"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 3 | \n",
" 58753 | \n",
" Acer Platanoides | \n",
" 49.782 | \n",
" 9.95677 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"3 58753 Acer Platanoides 49.782 9.95677"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 30 | \n",
" 58762 | \n",
" Tilia Tomentosa Brabant | \n",
" 49.78558 | \n",
" 9.95938 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"30 58762 Tilia Tomentosa Brabant 49.78558 9.95938"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 7 | \n",
" 65851 | \n",
" Fraxinus Angustifolia Raywood | \n",
" 49.7912 | \n",
" 9.92724 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"7 65851 Fraxinus Angustifolia Raywood 49.7912 9.92724"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 10 | \n",
" 7023.2 | \n",
" Unbekannt | \n",
" 49.79166 | \n",
" 9.93557 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"10 7023.2 Unbekannt 49.79166 9.93557"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 11925 | \n",
" 8971.1 | \n",
" Gleditsia Triacanthos Inermis | \n",
" 49.79037 | \n",
" 9.92953 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"11925 8971.1 Gleditsia Triacanthos Inermis 49.79037 9.92953"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 10465 | \n",
" Gartenamt_Kontroll_1 | \n",
" Unbekannt | \n",
" 49.796866 | \n",
" 10.001541 | \n",
"
\n",
" \n",
" 11446 | \n",
" Gartenamt_Kontroll_1 | \n",
" Unbekannt | \n",
" 49.796866 | \n",
" 10.001541 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"10465 Gartenamt_Kontroll_1 Unbekannt 49.796866 10.001541\n",
"11446 Gartenamt_Kontroll_1 Unbekannt 49.796866 10.001541"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" tree_number | \n",
" species_latin | \n",
" latitude | \n",
" longitude | \n",
"
\n",
" \n",
" \n",
" \n",
" 10464 | \n",
" Gartenamt_Kontroll_2 | \n",
" Unbekannt | \n",
" 49.797012 | \n",
" 10.001281 | \n",
"
\n",
" \n",
" 11431 | \n",
" Gartenamt_Kontroll_2 | \n",
" Unbekannt | \n",
" 49.797012 | \n",
" 10.001281 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tree_number species_latin latitude longitude\n",
"10464 Gartenamt_Kontroll_2 Unbekannt 49.797012 10.001281\n",
"11431 Gartenamt_Kontroll_2 Unbekannt 49.797012 10.001281"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: []\n",
"Index: []"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[interesting_columns].drop_duplicates().groupby('tree_number').apply(display)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "4e0e91f0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"C:\\Users\\eric.duminil\\git\\circulargreensimcity\\python_scripts\\parse_wurzburg_open_data\\output\\wuerzburg_trees.html has been written.\n"
]
},
{
"data": {
"text/html": [
"Make this Notebook Trusted to load map: File -> Trust Notebook
"
],
"text/plain": [
""
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interactive_map = folium.Map()\n",
"interactive_map.fit_bounds([(lat_min, lon_min), (lat_max, lon_max)])\n",
"\n",
"for same, grouped_df in df.groupby('tree_number'):\n",
" tree = grouped_df.iloc[0]\n",
" table = grouped_df.drop(coordinates, axis=1).describe().to_html()\n",
" tree_id = tree['tree_number']\n",
" lat = tree['latitude']\n",
" lon = tree['longitude']\n",
" species = tree['species_latin']\n",
" species_de = tree['species_german']\n",
" soil = tree['soil_composition']\n",
" times = grouped_df['timestamp'].agg(['min', 'max'])\n",
" folium.Circle(\n",
" location=[lat, lon],\n",
" tooltip=f\"{species} ({species_de})\",\n",
" radius=50, # [m]\n",
" color=\"black\",\n",
" weight=1,\n",
" fill_opacity=0.9,\n",
" opacity=1,\n",
" fill_color=\"green\",\n",
" fill=False, # gets overridden by fill_color\n",
" popup=f\"Tree #{tree_id}, {species} ({species_de}).
\"\n",
" f\"{lat}°N {lon}°E, in {soil}
\"\n",
" f\"From {times['min']} to {times['max']}\\n{table}\",\n",
"\n",
" ).add_to(interactive_map)\n",
"\n",
"output_map = OUTPUT_DIR / INPUT_FILE.with_suffix('.html').name\n",
"interactive_map.save(output_map)\n",
"\n",
"print(f\"{output_map} has been written.\")\n",
"interactive_map"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "269eb6f7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"