Compare commits

..
9 Commits
Author SHA1 Message Date
Gitea 091c8d6f19 final changes 2019-10-27 13:10:10 +01:00
christian 4697018a6e stuff 2019-10-27 09:10:37 +01:00
christian 72d9888633 Merge branch 'master' of gitea:christian/bloomhunt 2019-10-27 08:13:11 +01:00
christian e806183842 add link 2019-10-27 08:12:58 +01:00
Gitea eadf3b1f2b Merge branch 'master' of https://git.flavigny.de/christian/bloomhunt 2019-10-27 08:03:43 +01:00
Gitea f9d0247c3b cahnge urls 2019-10-27 08:03:37 +01:00
christian 4ca61e4d5f Merge branch 'master' of gitea:christian/bloomhunt 2019-10-27 08:00:51 +01:00
christian 9bf75feaf1 improve map 2019-10-27 07:59:25 +01:00
christian 10ec5fbbf5 add prediction 2019-10-27 06:45:07 +01:00
16 changed files with 620 additions and 37 deletions
+66 -4
View File
@@ -1,21 +1,83 @@
#map1 { #map1 {
height: 43% height: 46%
} }
#map2 { #map2 {
margin-top: 10px; margin-top: 10px;
height: 43%; height: 46%;
margin-bottom: 7px; margin-bottom: 10px;
}
#p_date {
position: absolute;
left: 25px;
bottom: 60px;
}
#logo_side {
width: 90%;
margin-left: 5%;
margin-top: 10%;
}
#central {
margin:0 auto;
}
#right a {
color: #aaaaaa;
text-decoration: none;
}
#right a:visited {
color: #779;
}
#right a:hover {
color: #99a;
}
#left {
width: 75%;
float: left;
}
#right {
width: 24%;
float: right;
}
div.yearno {
pointer-events: none;
position: absolute;
z-index: 1000;
font-size: 19pt;
background-color: white;
border-radius: 5px;
padding: 5px;
color: 333333;
border: 2px solid rgba(0, 0, 0, 0.3);
}
#div19 {
top: 4%;
left: 2%;
}
#div29 {
top: 50%;
left: 2%;
} }
.slider { .slider {
-webkit-appearance: none; -webkit-appearance: none;
width: 100%; width: 100%;
float: right;
height: 15px; height: 15px;
border-radius: 5px; border-radius: 5px;
background: #d3d3d3; background: #d3d3d3;
outline: none; outline: none;
opacity: 0.7; opacity: 0.9;
-webkit-transition: .2s; -webkit-transition: .2s;
transition: opacity .2s; transition: opacity .2s;
} }
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

+46 -13
View File
@@ -18,25 +18,52 @@
<body> <body>
<div id="map1"></div> <div id="central">
<div id="map2"></div>
<div style="pointer-events: none; position: absolute; top: 30px; right: 40px; z-index: 1000">2019</div> <div id="left">
<div style="pointer-events: none; position: absolute; top: 310px; right: 40px; z-index: 1001">2029</div>
<div id="map1"></div>
<div id="map2"></div>
<div class="slidecontainer"> <div id="div19" class="yearno">2019</div>
<input type="range" min="1" max="365" value="180" class="slider" id="myRange" <div id="div29" class="yearno">2029</div>
<div id="p_date" class="yearno"></div>
<div class="slidecontainer">
<input type="range" min="1" max="365" value="180" class="slider" id="myRange"
oninput="updateMap(this.value)"> oninput="updateMap(this.value)">
</div>
</div>
<div id="right">
<img id="logo_side" src="{% static 'spring_logo.png' %}"/>
<center>
<p><a href="{% url 'mobile:index' %}">Take part</a> in a global movement
monitoring effects of climate change.</p>
</center>
<center>
</center>
</div>
</div> </div>
<p id="p_date"></p>
<script> <script>
const monthNames = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
var p_date = document.getElementById("p_date"); var p_date = document.getElementById("p_date");
var map1 = L.map('map1').setView([49.4093524, 8.6931736], 15); var map1 = L.map('map1', {zoomControl: false}).setView([49.4093524, 8.6931736], 15);
var map2 = L.map('map2').setView([49.4093524, 8.6931736], 15); L.control.zoom({
position:'topright'
}).addTo(map1);
var map2 = L.map('map2', {zoomControl: false}).setView([49.4093524, 8.6931736], 15);
L.control.zoom({
position:'topright'
}).addTo(map2);
map1.sync(map2); map1.sync(map2);
map2.sync(map1); map2.sync(map1);
@@ -80,7 +107,7 @@ function mk_not_bloom_icon(label) {
function mk_bloom_icon(label) { function mk_bloom_icon(label) {
return new L.DivIcon({ return new L.DivIcon({
className: 'bloom-icon', className: 'bloom-icon',
html: '<img class="no-bloom-icon" src="{% static 'map/tree_blooming.png' %}"/>' + html: '<img class="no-bloom-icon" src="{% static 'map/tree_blooming_pink.png' %}"/>' +
'<span>' + label + '</span>', '<span>' + label + '</span>',
iconAnchor: [15, 30] iconAnchor: [15, 30]
}); });
@@ -109,11 +136,13 @@ function mk_bloom_icon(label) {
class Tree { class Tree {
constructor(name, bloom_start, xcoord, ycoord) { constructor(name, bloom_start, species, xcoord, ycoord) {
this.name = name; this.name = name;
this.bloom_start = bloom_start; this.bloom_start = bloom_start;
this.species = species;
this.marker = L.marker([xcoord, ycoord], this.marker = L.marker([xcoord, ycoord],
{icon: mk_not_bloom_icon(this.name)}); {icon: mk_not_bloom_icon(this.name)});
this.marker.bindPopup("<b>" + this.name + "</b><br>" + this.species);
this.blooming = false; this.blooming = false;
} }
update(dayno) { update(dayno) {
@@ -136,6 +165,7 @@ var trees_1 = [];
for (var i = 0; i < treesFromJSON.length; i++) { for (var i = 0; i < treesFromJSON.length; i++) {
let raw = treesFromJSON[i]; let raw = treesFromJSON[i];
let tree = new Tree(raw["name"], raw["bloom_start"], let tree = new Tree(raw["name"], raw["bloom_start"],
raw["species"],
raw["latitude"], raw["longitude"]); raw["latitude"], raw["longitude"]);
trees_1.push(tree); trees_1.push(tree);
} }
@@ -145,6 +175,7 @@ var trees_2 = [];
for (var i = 0; i < treesFromJSON.length; i++) { for (var i = 0; i < treesFromJSON.length; i++) {
let raw = treesFromJSON[i]; let raw = treesFromJSON[i];
let tree = new Tree(raw["name"], raw["bloom_start"] - 20, let tree = new Tree(raw["name"], raw["bloom_start"] - 20,
raw["species"],
raw["latitude"], raw["longitude"]); raw["latitude"], raw["longitude"]);
trees_2.push(tree); trees_2.push(tree);
} }
@@ -156,13 +187,13 @@ function updateMap(value) {
for (var i = 0; i < trees_2.length; i++) { for (var i = 0; i < trees_2.length; i++) {
trees_2[i].update(value); trees_2[i].update(value);
} }
p_date.innerHTML = "Date: " + dateFromDay(value); p_date.innerHTML = dateFromDay(value);
} }
function dateFromDay(dayno) { function dateFromDay(dayno) {
var date = new Date(2019, 0); // initialize a date in `year-01-01` var date = new Date(2019, 0); // initialize a date in `year-01-01`
var date2 = new Date(date.setDate(dayno)); var date2 = new Date(date.setDate(dayno));
return date2.getMonth() + 1 + "-" + date2.getDate(); return monthNames[date2.getMonth()] + ", " + date2.getDate();
} }
var cities1 = L.layerGroup(trees_1.map(t => t.marker)); var cities1 = L.layerGroup(trees_1.map(t => t.marker));
@@ -170,6 +201,8 @@ var cities2 = L.layerGroup(trees_2.map(t => t.marker));
cities1.addTo(map1); cities1.addTo(map1);
cities2.addTo(map2); cities2.addTo(map2);
p_date.innerHTML = dateFromDay(180);
</script> </script>
</body> </body>
+2 -2
View File
@@ -5,10 +5,10 @@ import os
def index(request): def index(request):
if not os.path.isfile("/tmp/data.json"): if not os.path.isfile("/home/areion/tmp/data.json"):
data = {"trees": str({ "trees": []}) } data = {"trees": str({ "trees": []}) }
else: else:
with open("/tmp/data.json", "r") as f: with open("/home/areion/tmp/data.json", "r") as f:
loaded = json.load(f) loaded = json.load(f)
s = json.dumps(loaded); s = json.dumps(loaded);
data = {"trees": s} data = {"trees": s}
@@ -0,0 +1,13 @@
Month Min Max
1 1 5
2 1 7
3 4 12
4 7 16
5 11 21
6 14 24
7 16 26
8 16 26
9 12 21
10 8 16
11 4 9
12 2 6
1 Month Min Max
2 1 1 5
3 2 1 7
4 3 4 12
5 4 7 16
6 5 11 21
7 6 14 24
8 7 16 26
9 8 16 26
10 9 12 21
11 10 8 16
12 11 4 9
13 12 2 6
+60
View File
@@ -0,0 +1,60 @@
from datetime import datetime
import pandas as pd
#import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import re as re
def normalize(x):
return max(min(x, 30), 10)
def get_gdd_until(date):
temp=pd.read_csv('~/tmp/temp', sep=',')
y=int(temp[temp.Datum==date].index.values)
GDD_date=0
for x in range(y+1):
gdd_of_day = ((normalize(temp.min_temp[x])+normalize(temp.max_temp[x]))/2)-10
GDD_date+=gdd_of_day
return GDD_date
def predict_blooming(date,gdd_infile='~/tmp/wachstumsgradtag.csv',climate_infile='~/tmp/climate_heidelberg_tima_and_date.csv'):
gdd_date = get_gdd_until(date)
gdd_trees = pd.read_csv(gdd_infile, sep=',', encoding='utf-8')
monthly_temp = pd.read_csv(climate_infile,sep='\t')
#monthly_temp
i=0
for x in monthly_temp.Min:
if x<10:
monthly_temp.Min.iloc[i]=10
if x>30:
monthly_temp.Min.iloc[i]=30
i=i+1
i=0
for x in monthly_temp.Max:
if x <10:
monthly_temp.Max.iloc[i]=10
if x>30:
monthly_temp.Max.iloc[i]=30
i=i+1
#temp
monthly_temp['average_weekly_gdd']=((monthly_temp.Max+monthly_temp.Min)/2-10)*7
#monthly_temp
month=int(re.findall('\d{2}[.](\d{2})[.]\d{4}',date)[0])
#month
averg_gdd=float(monthly_temp[monthly_temp.Month==month].average_weekly_gdd)
#averg_gdd
prdctd=gdd_date+averg_gdd
#prdctd
#gdd_trees
blooming=gdd_trees[(gdd_trees["minGDD"] <= prdctd)
& (gdd_trees["minGDD"] >= gdd_date)].Deutsch.tolist()
return blooming
if __name__ == '__main__':
bls = predict_blooming('20.05.2019')
print(bls)
+18
View File
@@ -107,3 +107,21 @@ body,html{
right: 50px; right: 50px;
top: 24px; top: 24px;
} }
.hidden {
display: none;
}
.loader {
border: 16px solid #f3f3f3; /* Light grey */
border-top: 16px solid #3498db; /* Blue */
border-radius: 50%;
width: 120px;
height: 120px;
animation: spin 2s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
+300
View File
@@ -0,0 +1,300 @@
,Datum,Temp. A.,Temp. A..1,Temp. A..2,min_temp,max_temp
0,01.01.2019,"6,3 °C","Min. 23:505,3 °C","Max. 12:556,9 °C",5.3,6.9
1,02.01.2019,"3,5 °C","Min. 23:55-1,8 °C","Max. 14:156,4 °C",-1.8,6.4
2,03.01.2019,"-1,0 °C","Min. 06:20-3,9 °C","Max. 19:050,8 °C",-3.9,0.8
3,04.01.2019,"1,3 °C","Min. 01:25-0,3 °C","Max. 14:302,9 °C",-0.3,2.9
4,05.01.2019,"2,9 °C","Min. 09:351,7 °C","Max. 23:454,6 °C",1.7,4.6
5,06.01.2019,"5,0 °C","Min. 23:504,5 °C","Max. 12:405,7 °C",4.5,5.7
6,07.01.2019,"4,1 °C","Min. 23:103,2 °C","Max. 15:155,3 °C",3.2,5.3
7,08.01.2019,"4,7 °C","Min. 01:203,1 °C","Max. 12:206,8 °C",3.1,6.8
8,09.01.2019,"3,0 °C","Min. 23:451,1 °C","Max. 00:004,9 °C",1.1,4.9
9,10.01.2019,"1,7 °C","Min. 23:50-0,7 °C","Max. 11:302,9 °C",-0.7,2.9
10,11.01.2019,"-0,1 °C","Min. 02:10-0,7 °C","Max. 23:250,5 °C",-0.7,0.5
11,12.01.2019,"2,5 °C","Min. 00:000,5 °C","Max. 23:554,3 °C",0.5,4.3
12,13.01.2019,"6,4 °C","Min. 00:004,3 °C","Max. 20:558,6 °C",4.3,8.6
13,14.01.2019,"5,0 °C","Min. 22:052,3 °C","Max. 00:007,3 °C",2.3,7.3
14,15.01.2019,"4,0 °C","Min. 06:051,8 °C","Max. 13:505,6 °C",1.8,5.6
15,16.01.2019,"5,1 °C","Min. 23:503,9 °C","Max. 13:157,1 °C",3.9,7.1
16,17.01.2019,"5,5 °C","Min. 23:202,2 °C","Max. 14:208,1 °C",2.2,8.1
17,18.01.2019,"2,3 °C","Min. 21:25-0,4 °C","Max. 14:005,3 °C",-0.4,5.3
18,19.01.2019,"0,1 °C","Min. 23:55-2,7 °C","Max. 12:253,3 °C",-2.7,3.3
19,20.01.2019,"-2,6 °C","Min. 08:00-5,0 °C","Max. 13:200,5 °C",-5.0,0.5
20,21.01.2019,"-2,8 °C","Min. 08:45-5,3 °C","Max. 14:151,4 °C",-5.3,1.4
21,22.01.2019,"-2,9 °C","Min. 04:15-6,7 °C","Max. 14:20-0,2 °C",-6.7,-0.2
22,23.01.2019,"-1,1 °C","Min. 07:10-2,2 °C","Max. 13:350,2 °C",-2.2,0.2
23,24.01.2019,"-2,0 °C","Min. 08:00-3,2 °C","Max. 13:30-0,8 °C",-3.2,-0.8
24,25.01.2019,"-1,1 °C","Min. 06:50-3,2 °C","Max. 14:350,9 °C",-3.2,0.9
25,26.01.2019,"2,3 °C","Min. 01:20-0,2 °C","Max. 20:504,1 °C",-0.2,4.1
26,27.01.2019,"5,8 °C","Min. 23:552,8 °C","Max. 14:308,0 °C",2.8,8.0
27,28.01.2019,"2,5 °C","Min. 23:451,2 °C","Max. 03:503,0 °C",1.2,3.0
28,29.01.2019,"2,1 °C","Min. 07:050,8 °C","Max. 14:455,1 °C",0.8,5.1
29,30.01.2019,"1,9 °C","Min. 23:550,2 °C","Max. 12:504,4 °C",0.2,4.4
30,31.01.2019,"0,9 °C","Min. 02:10-1,2 °C","Max. 14:303,1 °C",-1.2,3.1
31,01.02.2019,"3,9 °C","Min. 02:401,5 °C","Max. 15:406,8 °C",1.5,6.8
32,02.02.2019,"4,1 °C","Min. 07:152,6 °C","Max. 15:556,4 °C",2.6,6.4
33,03.02.2019,"3,2 °C","Min. 23:352,3 °C","Max. 00:004,4 °C",2.3,4.4
34,04.02.2019,"2,0 °C","Min. 07:55-2,4 °C","Max. 14:456,4 °C",-2.4,6.4
35,05.02.2019,"3,0 °C","Min. 04:55-0,1 °C","Max. 14:107,5 °C",-0.1,7.5
36,06.02.2019,"1,2 °C","Min. 07:50-2,2 °C","Max. 14:556,7 °C",-2.2,6.7
37,07.02.2019,"2,4 °C","Min. 00:05-1,6 °C","Max. 17:005,0 °C",-1.6,5.0
38,08.02.2019,"6,9 °C","Min. 00:003,7 °C","Max. 14:2010,7 °C",3.7,10.7
39,09.02.2019,"7,6 °C","Min. 05:005,9 °C","Max. 13:1510,7 °C",5.9,10.7
40,10.02.2019,"8,7 °C","Min. 22:405,1 °C","Max. 11:5513,5 °C",5.1,13.5
41,11.02.2019,"5,5 °C","Min. 23:301,9 °C","Max. 13:307,2 °C",1.9,7.2
42,12.02.2019,"3,6 °C","Min. 03:000,5 °C","Max. 14:307,3 °C",0.5,7.3
43,13.02.2019,"3,5 °C","Min. 08:30-1,9 °C","Max. 15:3010,4 °C",-1.9,10.4
44,14.02.2019,"2,7 °C","Min. 08:00-2,7 °C","Max. 14:3010,1 °C",-2.7,10.1
45,15.02.2019,"5,6 °C","Min. 05:45-1,3 °C","Max. 16:0015,2 °C",-1.3,15.2
46,16.02.2019,"6,4 °C","Min. 08:05-0,4 °C","Max. 15:3514,9 °C",-0.4,14.9
47,17.02.2019,"6,7 °C","Min. 07:50-1,1 °C","Max. 14:5017,2 °C",-1.1,17.2
48,18.02.2019,"6,7 °C","Min. 07:000,2 °C","Max. 15:4015,9 °C",0.2,15.9
49,19.02.2019,"6,8 °C","Min. 23:553,3 °C","Max. 16:1510,6 °C",3.3,10.6
50,20.02.2019,"5,7 °C","Min. 07:35-0,4 °C","Max. 14:1012,3 °C",-0.4,12.3
51,21.02.2019,"7,9 °C","Min. 02:352,7 °C","Max. 15:2513,0 °C",2.7,13.0
52,22.02.2019,"10,2 °C","Min. 21:457,7 °C","Max. 12:4013,4 °C",7.7,13.4
53,23.02.2019,"6,8 °C","Min. 07:553,7 °C","Max. 14:5010,7 °C",3.7,10.7
54,24.02.2019,"7,3 °C","Min. 08:000,1 °C","Max. 14:4513,3 °C",0.1,13.3
55,25.02.2019,"8,0 °C","Min. 07:150,9 °C","Max. 14:5516,9 °C",0.9,16.9
56,26.02.2019,"8,7 °C","Min. 07:500,7 °C","Max. 15:1518,4 °C",0.7,18.4
57,27.02.2019,"8,3 °C","Min. 07:200,8 °C","Max. 15:3018,7 °C",0.8,18.7
58,28.02.2019,"11,4 °C","Min. 00:255,0 °C","Max. 15:1019,3 °C",5.0,19.3
59,01.03.2019,"9,0 °C","Min. 23:307,4 °C","Max. 00:0010,7 °C",7.4,10.7
60,02.03.2019,"8,5 °C","Min. 04:006,3 °C","Max. 16:3011,3 °C",6.3,11.3
61,03.03.2019,"10,6 °C","Min. 02:309,1 °C","Max. 17:0012,2 °C",9.1,12.2
62,04.03.2019,"9,9 °C","Min. 23:206,2 °C","Max. 11:2013,1 °C",6.2,13.1
63,05.03.2019,"6,5 °C","Min. 05:355,3 °C","Max. 09:557,8 °C",5.3,7.8
64,06.03.2019,"11,4 °C","Min. 05:505,1 °C","Max. 15:4516,6 °C",5.1,16.6
65,07.03.2019,"11,0 °C","Min. 21:257,3 °C","Max. 04:5514,6 °C",7.3,14.6
66,08.03.2019,"8,5 °C","Min. 08:006,9 °C","Max. 15:0512,1 °C",6.9,12.1
67,09.03.2019,"9,7 °C","Min. 00:357,2 °C","Max. 17:4511,8 °C",7.2,11.8
68,10.03.2019,"10,7 °C","Min. 22:155,7 °C","Max. 14:5015,3 °C",5.7,15.3
69,11.03.2019,"6,1 °C","Min. 06:253,7 °C","Max. 16:058,5 °C",3.7,8.5
70,12.03.2019,"7,2 °C","Min. 06:451,7 °C","Max. 15:3511,2 °C",1.7,11.2
71,13.03.2019,"7,3 °C","Min. 23:155,1 °C","Max. 00:3510,6 °C",5.1,10.6
72,14.03.2019,"5,8 °C","Min. 00:005,1 °C","Max. 17:356,7 °C",5.1,6.7
73,15.03.2019,"8,9 °C","Min. 02:055,6 °C","Max. 15:3011,7 °C",5.6,11.7
74,16.03.2019,"10,7 °C","Min. 22:457,3 °C","Max. 12:3012,5 °C",7.3,12.5
75,17.03.2019,"8,1 °C","Min. 23:503,8 °C","Max. 10:4513,8 °C",3.8,13.8
76,18.03.2019,"5,6 °C","Min. 04:302,2 °C","Max. 15:2010,6 °C",2.2,10.6
77,19.03.2019,"5,8 °C","Min. 06:450,8 °C","Max. 13:5511,7 °C",0.8,11.7
78,20.03.2019,"6,0 °C","Min. 07:00-1,6 °C","Max. 16:3513,7 °C",-1.6,13.7
79,21.03.2019,"9,2 °C","Min. 07:100,3 °C","Max. 15:5518,0 °C",0.3,18.0
80,22.03.2019,"11,0 °C","Min. 06:502,3 °C","Max. 14:0020,1 °C",2.3,20.1
81,23.03.2019,"11,1 °C","Min. 04:454,6 °C","Max. 15:4019,4 °C",4.6,19.4
82,24.03.2019,"9,3 °C","Min. 07:002,7 °C","Max. 14:2016,2 °C",2.7,16.2
83,25.03.2019,"6,3 °C","Min. 06:002,1 °C","Max. 13:4510,7 °C",2.1,10.7
84,26.03.2019,"5,7 °C","Min. 02:402,4 °C","Max. 15:009,7 °C",2.4,9.7
85,27.03.2019,"8,2 °C","Min. 02:104,3 °C","Max. 16:0013,7 °C",4.3,13.7
86,28.03.2019,"8,3 °C","Min. 06:300,3 °C","Max. 13:3015,9 °C",0.3,15.9
87,29.03.2019,"12,4 °C","Min. 06:306,1 °C","Max. 16:0018,2 °C",6.1,18.2
88,30.03.2019,"13,6 °C","Min. 07:004,9 °C","Max. 16:3021,6 °C",4.9,21.6
89,31.03.2019,"12,6 °C","Min. 07:304,3 °C","Max. 15:0021,9 °C",4.3,21.9
90,01.04.2019,"13,6 °C","Min. 08:307,9 °C","Max. 15:5019,8 °C",7.9,19.8
91,02.04.2019,"15,5 °C","Min. 07:5010,2 °C","Max. 16:4521,8 °C",10.2,21.8
92,03.04.2019,"9,8 °C","Min. 23:155,3 °C","Max. 00:0014,7 °C",5.3,14.7
93,04.04.2019,"5,4 °C","Min. 03:254,8 °C","Max. 18:106,6 °C",4.8,6.6
94,05.04.2019,"6,6 °C","Min. 06:004,3 °C","Max. 16:358,8 °C",4.3,8.8
95,06.04.2019,"10,1 °C","Min. 07:352,5 °C","Max. 17:3017,7 °C",2.5,17.7
96,07.04.2019,"13,0 °C","Min. 07:207,2 °C","Max. 14:5519,1 °C",7.2,19.1
97,08.04.2019,"11,5 °C","Min. 23:558,5 °C","Max. 18:1014,8 °C",8.5,14.8
98,09.04.2019,"11,7 °C","Min. 00:308,3 °C","Max. 14:4017,1 °C",8.3,17.1
99,10.04.2019,"11,2 °C","Min. 07:208,6 °C","Max. 13:3014,9 °C",8.6,14.9
100,11.04.2019,"9,2 °C","Min. 07:002,8 °C","Max. 16:3014,6 °C",2.8,14.6
101,12.04.2019,"6,6 °C","Min. 07:351,7 °C","Max. 14:2011,9 °C",1.7,11.9
102,13.04.2019,"4,8 °C","Min. 23:403,2 °C","Max. 15:256,8 °C",3.2,6.8
103,14.04.2019,"6,5 °C","Min. 05:551,7 °C","Max. 15:0012,8 °C",1.7,12.8
104,15.04.2019,"10,4 °C","Min. 07:051,2 °C","Max. 17:0018,7 °C",1.2,18.7
105,16.04.2019,"14,1 °C","Min. 08:006,3 °C","Max. 17:3019,8 °C",6.3,19.8
106,17.04.2019,"15,1 °C","Min. 07:0010,4 °C","Max. 17:0020,3 °C",10.4,20.3
107,18.04.2019,"17,7 °C","Min. 06:2512,7 °C","Max. 17:1022,9 °C",12.7,22.9
108,19.04.2019,"19,4 °C","Min. 06:3512,9 °C","Max. 17:1525,2 °C",12.9,25.2
109,20.04.2019,"19,1 °C","Min. 07:2010,0 °C","Max. 17:0025,6 °C",10.0,25.6
110,21.04.2019,"19,9 °C","Min. 07:1010,7 °C","Max. 17:2025,7 °C",10.7,25.7
111,22.04.2019,"20,7 °C","Min. 07:0515,7 °C","Max. 16:3025,7 °C",15.7,25.7
112,23.04.2019,"18,3 °C","Min. 06:4514,3 °C","Max. 18:1022,0 °C",14.3,22.0
113,24.04.2019,"17,8 °C","Min. 23:3010,3 °C","Max. 17:4026,3 °C",10.3,26.3
114,25.04.2019,"16,9 °C","Min. 02:359,7 °C","Max. 16:4026,6 °C",9.7,26.6
115,26.04.2019,"10,5 °C","Min. 04:458,6 °C","Max. 16:5012,2 °C",8.6,12.2
116,27.04.2019,"9,9 °C","Min. 23:506,4 °C","Max. 15:0013,2 °C",6.4,13.2
117,28.04.2019,"8,4 °C","Min. 05:404,8 °C","Max. 17:4013,1 °C",4.8,13.1
118,29.04.2019,"8,8 °C","Min. 05:103,7 °C","Max. 15:4014,9 °C",3.7,14.9
119,30.04.2019,"13,1 °C","Min. 07:159,0 °C","Max. 17:1519,2 °C",9.0,19.2
120,01.05.2019,"14,2 °C","Min. 06:456,1 °C","Max. 17:0521,5 °C",6.1,21.5
121,02.05.2019,"13,4 °C","Min. 06:256,9 °C","Max. 16:4520,6 °C",6.9,20.6
122,03.05.2019,"11,8 °C","Min. 06:309,4 °C","Max. 13:2516,3 °C",9.4,16.3
123,04.05.2019,"7,0 °C","Min. 10:254,2 °C","Max. 00:009,8 °C",4.2,9.8
124,05.05.2019,"7,0 °C","Min. 06:101,9 °C","Max. 14:3011,5 °C",1.9,11.5
125,06.05.2019,"9,3 °C","Min. 06:305,4 °C","Max. 15:2013,4 °C",5.4,13.4
126,07.05.2019,"9,8 °C","Min. 06:252,3 °C","Max. 17:2515,4 °C",2.3,15.4
127,08.05.2019,"11,4 °C","Min. 01:259,7 °C","Max. 13:2513,4 °C",9.7,13.4
128,09.05.2019,"11,0 °C","Min. 05:108,8 °C","Max. 16:1013,5 °C",8.8,13.5
129,10.05.2019,"12,4 °C","Min. 06:458,9 °C","Max. 17:5015,4 °C",8.9,15.4
130,11.05.2019,"12,4 °C","Min. 23:459,0 °C","Max. 13:4017,4 °C",9.0,17.4
131,12.05.2019,"10,1 °C","Min. 04:555,5 °C","Max. 18:0016,1 °C",5.5,16.1
132,13.05.2019,"12,9 °C","Min. 06:005,7 °C","Max. 17:3018,8 °C",5.7,18.8
133,14.05.2019,"12,8 °C","Min. 04:307,3 °C","Max. 14:0017,4 °C",7.3,17.4
134,15.05.2019,"12,3 °C","Min. 06:304,8 °C","Max. 17:0017,7 °C",4.8,17.7
135,16.05.2019,"13,4 °C","Min. 01:558,9 °C","Max. 17:3019,0 °C",8.9,19.0
136,17.05.2019,"15,6 °C","Min. 06:259,0 °C","Max. 17:5021,8 °C",9.0,21.8
137,18.05.2019,"15,7 °C","Min. 05:5010,6 °C","Max. 16:5023,4 °C",10.6,23.4
138,19.05.2019,"17,6 °C","Min. 04:5511,6 °C","Max. 17:2024,6 °C",11.6,24.6
139,20.05.2019,"15,2 °C","Min. 06:2012,2 °C","Max. 15:2018,5 °C",12.2,18.5
140,21.05.2019,"12,7 °C","Min. 23:0512,1 °C","Max. 00:0013,3 °C",12.1,13.3
141,22.05.2019,"13,7 °C","Min. 23:5510,7 °C","Max. 17:1018,3 °C",10.7,18.3
142,23.05.2019,"15,4 °C","Min. 06:056,8 °C","Max. 17:2022,9 °C",6.8,22.9
143,24.05.2019,"18,2 °C","Min. 06:059,6 °C","Max. 13:5524,8 °C",9.6,24.8
144,25.05.2019,"18,3 °C","Min. 06:4512,2 °C","Max. 13:3523,9 °C",12.2,23.9
145,26.05.2019,"17,8 °C","Min. 06:1510,4 °C","Max. 16:4023,7 °C",10.4,23.7
146,27.05.2019,"17,2 °C","Min. 06:1013,5 °C","Max. 16:0521,9 °C",13.5,21.9
147,28.05.2019,"15,6 °C","Min. 23:5512,4 °C","Max. 16:4519,7 °C",12.4,19.7
148,29.05.2019,"14,2 °C","Min. 03:0011,1 °C","Max. 17:2519,3 °C",11.1,19.3
149,30.05.2019,"16,6 °C","Min. 06:108,4 °C","Max. 12:5023,1 °C",8.4,23.1
150,31.05.2019,"20,0 °C","Min. 03:1013,4 °C","Max. 14:1026,3 °C",13.4,26.3
151,01.06.2019,"22,3 °C","Min. 06:0513,1 °C","Max. 16:3528,9 °C",13.1,28.9
152,02.06.2019,"24,5 °C","Min. 06:1015,1 °C","Max. 16:5531,5 °C",15.1,31.5
153,03.06.2019,"23,1 °C","Min. 06:0516,6 °C","Max. 13:4533,3 °C",16.6,33.3
154,04.06.2019,"24,7 °C","Min. 06:2015,4 °C","Max. 16:5532,0 °C",15.4,32.0
155,05.06.2019,"26,1 °C","Min. 06:0019,7 °C","Max. 17:3031,9 °C",19.7,31.9
156,06.06.2019,"15,2 °C","Min. 23:5011,3 °C","Max. 00:2527,1 °C",11.3,27.1
157,07.06.2019,"17,4 °C","Min. 02:2010,2 °C","Max. 17:0027,8 °C",10.2,27.8
158,08.06.2019,"17,6 °C","Min. 06:3513,4 °C","Max. 15:0022,3 °C",13.4,22.3
159,09.06.2019,"18,6 °C","Min. 05:359,8 °C","Max. 12:5524,7 °C",9.8,24.7
160,10.06.2019,"17,9 °C","Min. 05:4515,8 °C","Max. 14:2021,4 °C",15.8,21.4
161,11.06.2019,"17,6 °C","Min. 06:0513,6 °C","Max. 13:1021,1 °C",13.6,21.1
162,12.06.2019,"17,0 °C","Min. 11:0013,8 °C","Max. 17:3020,3 °C",13.8,20.3
163,13.06.2019,"19,6 °C","Min. 06:5514,3 °C","Max. 17:1525,0 °C",14.3,25.0
164,14.06.2019,"21,4 °C","Min. 01:4016,8 °C","Max. 14:4026,2 °C",16.8,26.2
165,15.06.2019,"20,8 °C","Min. 05:4015,3 °C","Max. 17:0525,8 °C",15.3,25.8
166,16.06.2019,"19,1 °C","Min. 06:4515,6 °C","Max. 14:0523,2 °C",15.6,23.2
167,17.06.2019,"21,4 °C","Min. 06:0513,0 °C","Max. 17:1027,6 °C",13.0,27.6
168,18.06.2019,"24,0 °C","Min. 06:1016,1 °C","Max. 13:5529,9 °C",16.1,29.9
169,19.06.2019,"25,5 °C","Min. 05:2518,2 °C","Max. 14:5032,1 °C",18.2,32.1
170,20.06.2019,"20,9 °C","Min. 04:1016,4 °C","Max. 12:3025,6 °C",16.4,25.6
171,21.06.2019,"21,0 °C","Min. 06:3516,5 °C","Max. 17:4025,7 °C",16.5,25.7
172,22.06.2019,"20,1 °C","Min. 05:5514,3 °C","Max. 14:2528,2 °C",14.3,28.2
173,23.06.2019,"22,4 °C","Min. 05:1015,6 °C","Max. 18:0528,7 °C",15.6,28.7
174,24.06.2019,"26,5 °C","Min. 05:3021,3 °C","Max. 16:3531,7 °C",21.3,31.7
175,25.06.2019,"28,3 °C","Min. 06:2023,3 °C","Max. 17:3033,9 °C",23.3,33.9
176,26.06.2019,"29,4 °C","Min. 06:0521,3 °C","Max. 17:0036,7 °C",21.3,36.7
177,27.06.2019,"27,6 °C","Min. 06:3523,2 °C","Max. 16:4531,9 °C",23.2,31.9
178,28.06.2019,"24,7 °C","Min. 06:3016,5 °C","Max. 17:3030,8 °C",16.5,30.8
179,29.06.2019,"26,4 °C","Min. 06:0516,7 °C","Max. 16:3032,9 °C",16.7,32.9
180,30.06.2019,"30,3 °C","Min. 06:4521,3 °C","Max. 16:3037,3 °C",21.3,37.3
181,01.07.2019,"26,7 °C","Min. 23:5522,9 °C","Max. 17:3531,3 °C",22.9,31.3
182,02.07.2019,"22,7 °C","Min. 06:2017,1 °C","Max. 17:2527,4 °C",17.1,27.4
183,03.07.2019,"22,2 °C","Min. 06:1516,9 °C","Max. 17:4027,1 °C",16.9,27.1
184,04.07.2019,"22,1 °C","Min. 06:3014,3 °C","Max. 17:3528,3 °C",14.3,28.3
185,05.07.2019,"22,3 °C","Min. 06:0014,6 °C","Max. 17:3029,7 °C",14.6,29.7
186,06.07.2019,"25,1 °C","Min. 06:3016,7 °C","Max. 16:1532,7 °C",16.7,32.7
187,07.07.2019,"19,9 °C","Min. 07:1016,7 °C","Max. 00:0023,7 °C",16.7,23.7
188,08.07.2019,"18,4 °C","Min. 06:0514,2 °C","Max. 14:0523,5 °C",14.2,23.5
189,09.07.2019,"16,7 °C","Min. 06:0510,9 °C","Max. 16:5021,6 °C",10.9,21.6
190,10.07.2019,"18,4 °C","Min. 06:259,4 °C","Max. 17:1525,5 °C",9.4,25.5
191,11.07.2019,"17,7 °C","Min. 06:3016,4 °C","Max. 11:0019,7 °C",16.4,19.7
192,12.07.2019,"17,8 °C","Min. 23:5515,7 °C","Max. 12:3021,7 °C",15.7,21.7
193,13.07.2019,"16,8 °C","Min. 04:4514,3 °C","Max. 16:5521,5 °C",14.3,21.5
194,14.07.2019,"16,9 °C","Min. 04:4514,0 °C","Max. 18:3020,4 °C",14.0,20.4
195,15.07.2019,"18,3 °C","Min. 05:4512,5 °C","Max. 16:2024,2 °C",12.5,24.2
196,16.07.2019,"18,7 °C","Min. 06:3010,7 °C","Max. 18:0025,2 °C",10.7,25.2
197,17.07.2019,"20,5 °C","Min. 06:3012,7 °C","Max. 17:0026,9 °C",12.7,26.9
198,18.07.2019,"21,4 °C","Min. 06:0013,8 °C","Max. 17:3028,7 °C",13.8,28.7
199,19.07.2019,"22,6 °C","Min. 04:0019,8 °C","Max. 13:3027,6 °C",19.8,27.6
200,20.07.2019,"25,4 °C","Min. 05:3017,4 °C","Max. 15:3032,7 °C",17.4,32.7
201,21.07.2019,"24,6 °C","Min. 06:2520,4 °C","Max. 15:5029,7 °C",20.4,29.7
202,22.07.2019,"24,5 °C","Min. 06:4016,2 °C","Max. 17:5531,4 °C",16.2,31.4
203,23.07.2019,"27,3 °C","Min. 06:3517,5 °C","Max. 16:5034,9 °C",17.5,34.9
204,24.07.2019,"30,7 °C","Min. 06:4022,1 °C","Max. 17:3537,2 °C",22.1,37.2
205,25.07.2019,"30,7 °C","Min. 06:3521,1 °C","Max. 17:1038,9 °C",21.1,38.9
206,26.07.2019,"30,8 °C","Min. 07:2024,8 °C","Max. 16:2038,3 °C",24.8,38.3
207,27.07.2019,"24,0 °C","Min. 23:3518,6 °C","Max. 16:5528,3 °C",18.6,28.3
208,28.07.2019,"19,8 °C","Min. 23:4518,6 °C","Max. 16:2521,1 °C",18.6,21.1
209,29.07.2019,"22,1 °C","Min. 05:3018,2 °C","Max. 17:3027,1 °C",18.2,27.1
210,30.07.2019,"24,4 °C","Min. 06:5017,8 °C","Max. 17:1030,8 °C",17.8,30.8
211,31.07.2019,"22,2 °C","Min. 06:2518,2 °C","Max. 14:3526,8 °C",18.2,26.8
212,01.08.2019,"21,5 °C","Min. 05:0515,5 °C","Max. 13:5027,8 °C",15.5,27.8
213,02.08.2019,"21,3 °C","Min. 06:0516,1 °C","Max. 14:1529,3 °C",16.1,29.3
214,03.08.2019,"20,4 °C","Min. 05:3515,9 °C","Max. 17:2025,9 °C",15.9,25.9
215,04.08.2019,"22,1 °C","Min. 06:3014,2 °C","Max. 17:2028,7 °C",14.2,28.7
216,05.08.2019,"23,5 °C","Min. 03:5019,2 °C","Max. 16:4029,6 °C",19.2,29.6
217,06.08.2019,"23,3 °C","Min. 23:5019,5 °C","Max. 17:2527,3 °C",19.5,27.3
218,07.08.2019,"19,3 °C","Min. 23:5017,6 °C","Max. 10:0521,3 °C",17.6,21.3
219,08.08.2019,"21,2 °C","Min. 06:3017,0 °C","Max. 16:4526,9 °C",17.0,26.9
220,09.08.2019,"23,4 °C","Min. 06:3017,0 °C","Max. 14:3531,3 °C",17.0,31.3
221,10.08.2019,"22,5 °C","Min. 23:5519,2 °C","Max. 17:3026,8 °C",19.2,26.8
222,11.08.2019,"20,8 °C","Min. 21:0015,6 °C","Max. 13:2528,3 °C",15.6,28.3
223,12.08.2019,"17,9 °C","Min. 06:1514,7 °C","Max. 17:2022,8 °C",14.7,22.8
224,13.08.2019,"17,5 °C","Min. 06:5513,4 °C","Max. 14:0021,6 °C",13.4,21.6
225,14.08.2019,"17,8 °C","Min. 04:4513,9 °C","Max. 18:0023,4 °C",13.9,23.4
226,15.08.2019,"19,6 °C","Min. 00:3016,4 °C","Max. 17:3025,2 °C",16.4,25.2
227,16.08.2019,"19,6 °C","Min. 07:0014,1 °C","Max. 17:0024,2 °C",14.1,24.2
228,17.08.2019,"19,9 °C","Min. 22:0017,6 °C","Max. 13:3023,6 °C",17.6,23.6
229,18.08.2019,"23,3 °C","Min. 01:3017,3 °C","Max. 16:3030,7 °C",17.3,30.7
230,19.08.2019,"21,9 °C","Min. 08:0018,1 °C","Max. 14:0025,9 °C",18.1,25.9
231,20.08.2019,"17,8 °C","Min. 07:0515,7 °C","Max. 12:4020,2 °C",15.7,20.2
232,21.08.2019,"19,0 °C","Min. 04:0014,1 °C","Max. 14:0024,3 °C",14.1,24.3
233,22.08.2019,"20,3 °C","Min. 07:0012,3 °C","Max. 17:0526,7 °C",12.3,26.7
234,23.08.2019,"21,1 °C","Min. 07:1512,7 °C","Max. 16:5028,7 °C",12.7,28.7
235,24.08.2019,"22,2 °C","Min. 07:0014,1 °C","Max. 14:1529,4 °C",14.1,29.4
236,25.08.2019,"24,1 °C","Min. 07:1516,6 °C","Max. 13:4531,3 °C",16.6,31.3
237,26.08.2019,"25,1 °C","Min. 07:0017,7 °C","Max. 16:3032,0 °C",17.7,32.0
238,27.08.2019,"26,2 °C","Min. 07:2519,5 °C","Max. 14:0032,4 °C",19.5,32.4
239,28.08.2019,"25,9 °C","Min. 04:5521,8 °C","Max. 16:5032,4 °C",21.8,32.4
240,29.08.2019,"25,5 °C","Min. 06:2520,8 °C","Max. 14:4532,1 °C",20.8,32.1
241,30.08.2019,"24,3 °C","Min. 07:2018,7 °C","Max. 17:2530,2 °C",18.7,30.2
242,31.08.2019,"25,4 °C","Min. 07:3517,6 °C","Max. 17:2032,3 °C",17.6,32.3
243,01.09.2019,"22,9 °C","Min. 23:5518,7 °C","Max. 00:0025,7 °C",18.7,25.7
244,02.09.2019,"18,5 °C","Min. 07:0514,3 °C","Max. 13:4022,9 °C",14.3,22.9
245,03.09.2019,"17,8 °C","Min. 07:259,7 °C","Max. 13:4025,1 °C",9.7,25.1
246,04.09.2019,"19,1 °C","Min. 07:1010,7 °C","Max. 14:0026,5 °C",10.7,26.5
247,05.09.2019,"18,4 °C","Min. 08:3015,5 °C","Max. 16:0021,6 °C",15.5,21.6
248,06.09.2019,"15,8 °C","Min. 08:0010,3 °C","Max. 16:0020,4 °C",10.3,20.4
249,07.09.2019,"13,2 °C","Min. 03:459,9 °C","Max. 17:1516,6 °C",9.9,16.6
250,08.09.2019,"13,4 °C","Min. 04:5512,2 °C","Max. 15:3015,5 °C",12.2,15.5
251,09.09.2019,"13,8 °C","Min. 07:1511,8 °C","Max. 15:4016,9 °C",11.8,16.9
252,10.09.2019,"14,8 °C","Min. 07:058,6 °C","Max. 13:4021,7 °C",8.6,21.7
253,11.09.2019,"15,7 °C","Min. 07:408,0 °C","Max. 14:1023,2 °C",8.0,23.2
254,12.09.2019,"19,9 °C","Min. 23:5016,8 °C","Max. 14:1025,4 °C",16.8,25.4
255,13.09.2019,"18,7 °C","Min. 04:3514,4 °C","Max. 15:5523,8 °C",14.4,23.8
256,14.09.2019,"19,0 °C","Min. 07:5013,1 °C","Max. 16:2024,9 °C",13.1,24.9
257,15.09.2019,"18,9 °C","Min. 07:1511,9 °C","Max. 14:0526,0 °C",11.9,26.0
258,16.09.2019,"18,7 °C","Min. 07:3511,7 °C","Max. 14:0525,1 °C",11.7,25.1
259,17.09.2019,"17,5 °C","Min. 23:5012,6 °C","Max. 14:0521,4 °C",12.6,21.4
260,18.09.2019,"13,9 °C","Min. 07:457,9 °C","Max. 14:0519,5 °C",7.9,19.5
261,19.09.2019,"13,2 °C","Min. 06:407,1 °C","Max. 14:1018,4 °C",7.1,18.4
262,20.09.2019,"14,7 °C","Min. 08:058,6 °C","Max. 14:0519,7 °C",8.6,19.7
263,21.09.2019,"18,3 °C","Min. 07:0512,7 °C","Max. 16:3524,3 °C",12.7,24.3
264,22.09.2019,"18,6 °C","Min. 08:2010,5 °C","Max. 17:0524,2 °C",10.5,24.2
265,23.09.2019,"16,4 °C","Min. 07:4514,2 °C","Max. 16:5019,1 °C",14.2,19.1
266,24.09.2019,"15,5 °C","Min. 07:5011,3 °C","Max. 15:0019,4 °C",11.3,19.4
267,25.09.2019,"15,4 °C","Min. 07:0013,9 °C","Max. 13:0018,7 °C",13.9,18.7
268,26.09.2019,"15,8 °C","Min. 03:4513,7 °C","Max. 15:1018,0 °C",13.7,18.0
269,27.09.2019,"15,6 °C","Min. 23:3013,1 °C","Max. 08:3017,3 °C",13.1,17.3
270,28.09.2019,"15,2 °C","Min. 08:0012,9 °C","Max. 16:3018,0 °C",12.9,18.0
271,29.09.2019,"16,9 °C","Min. 05:0012,6 °C","Max. 14:0021,8 °C",12.6,21.8
272,30.09.2019,"16,1 °C","Min. 23:5513,1 °C","Max. 14:1019,2 °C",13.1,19.2
273,01.10.2019,"15,3 °C","Min. 02:5011,9 °C","Max. 17:3019,8 °C",11.9,19.8
274,02.10.2019,"12,9 °C","Min. 23:558,3 °C","Max. 01:5015,4 °C",8.3,15.4
275,03.10.2019,"9,4 °C","Min. 06:055,5 °C","Max. 15:3514,4 °C",5.5,14.4
276,04.10.2019,"10,1 °C","Min. 01:507,2 °C","Max. 17:4512,9 °C",7.2,12.9
277,05.10.2019,"11,7 °C","Min. 22:359,9 °C","Max. 12:4013,4 °C",9.9,13.4
278,06.10.2019,"10,1 °C","Min. 11:459,1 °C","Max. 17:2010,9 °C",9.1,10.9
279,07.10.2019,"11,3 °C","Min. 07:509,1 °C","Max. 16:5014,1 °C",9.1,14.1
280,08.10.2019,"12,6 °C","Min. 06:0011,4 °C","Max. 23:4514,4 °C",11.4,14.4
281,09.10.2019,"12,1 °C","Min. 23:559,6 °C","Max. 12:5514,8 °C",9.6,14.8
282,10.10.2019,"11,3 °C","Min. 00:409,2 °C","Max. 15:3015,3 °C",9.2,15.3
283,11.10.2019,"12,9 °C","Min. 03:059,5 °C","Max. 17:0018,0 °C",9.5,18.0
284,12.10.2019,"16,5 °C","Min. 00:0011,7 °C","Max. 13:1022,2 °C",11.7,22.2
285,13.10.2019,"19,1 °C","Min. 08:4013,8 °C","Max. 15:4024,7 °C",13.8,24.7
286,14.10.2019,"19,4 °C","Min. 08:3513,4 °C","Max. 16:0524,2 °C",13.4,24.2
287,15.10.2019,"16,2 °C","Min. 08:0013,2 °C","Max. 12:4521,6 °C",13.2,21.6
288,16.10.2019,"13,6 °C","Min. 04:2011,1 °C","Max. 17:5017,2 °C",11.1,17.2
289,17.10.2019,"14,9 °C","Min. 01:4012,1 °C","Max. 14:4019,0 °C",12.1,19.0
290,18.10.2019,"14,3 °C","Min. 22:3511,4 °C","Max. 12:1017,7 °C",11.4,17.7
291,19.10.2019,"13,7 °C","Min. 00:3511,2 °C","Max. 16:2516,4 °C",11.2,16.4
292,20.10.2019,"15,6 °C","Min. 06:0013,3 °C","Max. 13:5019,8 °C",13.3,19.8
293,21.10.2019,"15,0 °C","Min. 03:5512,9 °C","Max. 13:0017,2 °C",12.9,17.2
294,22.10.2019,"14,1 °C","Min. 23:4511,3 °C","Max. 15:0017,8 °C",11.3,17.8
295,23.10.2019,"12,9 °C","Min. 03:1510,0 °C","Max. 15:4015,6 °C",10.0,15.6
296,24.10.2019,"14,9 °C","Min. 03:0011,3 °C","Max. 15:4519,5 °C",11.3,19.5
297,25.10.2019,"14,2 °C","Min. 23:4510,4 °C","Max. 16:0017,7 °C",10.4,17.7
298,26.10.2019,"10,3 °C","Min. 00:0010,3 °C","Max. 00:0010,3 °C",10.3,10.3
+2 -2
View File
@@ -22,7 +22,7 @@
<div id='heading'> <div id='heading'>
<div class='inner'> <div class='inner'>
<img src='{% static 'favicon.ico' %}' /> <img src='{% static 'favicon.ico' %}' />
<h1 id='title'>Bloom up your city</h1> <h1 id='title'>Spring Up Your Region</h1>
</div> </div>
</div> </div>
@@ -36,7 +36,7 @@
<!-- FOOTER --> <!-- FOOTER -->
<div id='footer'> <div id='footer'>
<p class='left'>Bloom Hunting - a Ökostadt Heidelberg initiative</p> <p class='left'>Bloom Hunting</p>
<p>A Climathon Heidelberg project</p> <p>A Climathon Heidelberg project</p>
</div> </div>
</body> </body>
+11 -4
View File
@@ -2,14 +2,21 @@
{% block content %} {% block content %}
<body> <body>
<h1>Bloomhunt</h1> <h1>Bloom Hunt</h1>
<p>Hunt blooming trees in your area.</p> <p>Be the <b>first</b> that scans a blooming tree in your neighborhood.</p>
<a class="btn btn-default" id="btn_scan" href="{% url 'mobile:scan' %}">Scan a blooming tree</a> <a class="btn btn-default" id="btn_scan" href="{% url 'mobile:scan' %}">Scan a blooming tree</a>
<p>Hey, some predictions</p> <p></p><br>
<p>{{ prediction }}</p> <h3>Shortly blooming species</h3>
<p>Especially look for the following trees, they are likely to bloom
soon:</p>
<ul>
{% for tree in prediction %}
<li>{{ tree }}</li>
{% endfor %}
</ul>
{% endblock %} {% endblock %}
+44 -3
View File
@@ -1,14 +1,55 @@
{% extends "mobile/base.html" %} {% extends "mobile/base.html" %}
{% block content %} {% block content %}
<script>
function identify() {
var loader = document.getElementById("loader");
var question_p = document.getElementById("question_p");
var options_p = document.getElementById("options_p");
var image_in = document.getElementById("image_in");
var btn_identify = document.getElementById("btn_identify");
var p_result = document.getElementById("identification_result");
var p_upload = document.getElementById("p_upload");
var p_help = document.getElementById("p_help");
btn_identify.classList.toggle("hidden");
image_in.classList.toggle("hidden");
loader.classList.toggle("hidden");
p_upload.classList.toggle("hidden");
setTimeout(function () {
question_p.classList.toggle("hidden");
options_p.classList.toggle("hidden");
loader.classList.toggle("hidden");
p_result.classList.toggle("hidden");
p_help.classList.toggle("hidden");
}, 2000);
}
</script>
<h1>Scan a blooming tree!</h1> <h1>Scan a blooming tree!</h1>
<p>We will help you identifying the tree you are hunting.</p> <p id="p_help">We will help you identifying the tree you are hunting.</p>
<p>{{ question.text }}</p> <p id="p_upload">Just upload a picture of your tree<p>
<table> <input id="image_in" type="file" accept="image/*" capture="camera" />
<br>
<button id="btn_identify" class="btn btn-default" onclick="identify()">Identify the tree</button>
<div id="loader" class="loader hidden"></div>
<p id="identification_result" class="hidden">We were able to identify your tree as a <b>Apple
Tree</b>. We need only some further questions to identify the exact species</p>
<p id="question_p" class="hidden">{{ question.text }}</p>
<table id="options_p" class="hidden">
<tr> <tr>
{% for option in question.options %} {% for option in question.options %}
<td width=30%> <td width=30%>
<form action="" method="post"> <form action="" method="post">
+24
View File
@@ -0,0 +1,24 @@
{% extends "mobile/base.html" %}
{% block content %}
<h1>Scan a blooming tree!</h1>
<p id="question_p" class="">{{ question.text }}</p>
<table id="options_p" class="">
<tr>
{% for option in question.options %}
<td width=30%>
<form action="" method="post">
{% csrf_token %}
<input name="question" type="hidden" value="{{ question.key }}">
<input name="chosen_option" class="btn btn-default" type="submit" value="{{ option.text }}">
</form>
</td>
{% endfor %}
</tr>
</table>
{% endblock %}
+1 -1
View File
@@ -3,7 +3,7 @@
{% block content %} {% block content %}
<p>Congratulions, you are the first to report that this <b>{{ tree.name }}</b> <p>Congratulions, you are the first to report that this <b>{{ tree.name }}</b>
tree is blooming.<p> is blooming.<p>
<p>You may give it a name now</p> <p>You may give it a name now</p>
+14 -7
View File
@@ -5,11 +5,17 @@ from datetime import datetime
import json import json
import os import os
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import re as re
from .predict import predict_blooming
def index(request): def index(request):
soon_blooms = predict_blooming('20.05.2019')
return render(request, 'mobile/index.html', {'prediction': soon_blooms})
return render(request, 'mobile/index.html')
def scan(request): def scan(request):
@@ -27,7 +33,8 @@ def scan(request):
continue continue
if opt.question: if opt.question:
question = opt.question question = opt.question
break context = {'question': question}
return render(request, 'mobile/scan2.html', context)
else: else:
return scanned(request, opt.result) return scanned(request, opt.result)
# first question # first question
@@ -48,13 +55,13 @@ def addtree(request):
longitude = request.POST["longitude"] longitude = request.POST["longitude"]
latitude = request.POST["latitude"] latitude = request.POST["latitude"]
bloom_start = datetime.now().timetuple().tm_yday bloom_start = datetime.now().timetuple().tm_yday
if not os.path.isfile('/tmp/data.json'): if not os.path.isfile('/home/areion/tmp/data.json'):
data = {'trees': []} data = {'trees': []}
else: else:
with open('/tmp/data.json', 'r') as f: with open('/home/areion/tmp/data.json', 'r') as f:
data = json.load(f) data = json.load(f)
with open('/tmp/data.json', 'w') as f: with open('/home/areion/tmp/data.json', 'w+') as f:
data["trees"].append( data["trees"].append(
{'name': name, 'species': tree, {'name': name, 'species': tree,
'longitude': longitude, 'latitude': latitude, 'longitude': longitude, 'latitude': latitude,
+18
View File
@@ -0,0 +1,18 @@
Deutsch,Latin,minGDD,maxGDD
Hamamelis,Hamamelis spp. ,1,1
Rotahorn,Acer rubrum ,1,27
Forsythie,Forsythia,1,27
Zuckerahorn,Acer saccharum ,1,27
Spitzahorn,Acer platanoides ,30,50
Esche,Fraxinus americana ,30,50
Apfelbaum,Malus spp. ,50,80
Gemeiner Gingster,Cytissus scoparius ,50,80
Rosskastanie,Aesculus hippocastanum ,80,110
Gemeiner Flieder,Syringa vulgaris ,80,110
Robinie,Robinia pseudoacacia ,140,160
Trompetenbaum,Catalpa speciosa ,250,330
Liguster,Ligustrum spp. ,330,400
Holunder,Sambucus canadensis ,330,400
Blutweiderich,Lythrum salicaria ,400,450
Essigbaum,Rhus typhina ,450,500
Sommerflieder,Buddleia davidii ,550,650
1 Deutsch Latin minGDD maxGDD
2 Hamamelis Hamamelis spp. 1 1
3 Rotahorn Acer rubrum 1 27
4 Forsythie Forsythia 1 27
5 Zuckerahorn Acer saccharum 1 27
6 Spitzahorn Acer platanoides 30 50
7 Esche Fraxinus americana 30 50
8 Apfelbaum Malus spp. 50 80
9 Gemeiner Gingster Cytissus scoparius 50 80
10 Rosskastanie Aesculus hippocastanum 80 110
11 Gemeiner Flieder Syringa vulgaris 80 110
12 Robinie Robinia pseudoacacia 140 160
13 Trompetenbaum Catalpa speciosa 250 330
14 Liguster Ligustrum spp. 330 400
15 Holunder Sambucus canadensis 330 400
16 Blutweiderich Lythrum salicaria 400 450
17 Essigbaum Rhus typhina 450 500
18 Sommerflieder Buddleia davidii 550 650
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB