diff --git a/Probleme.txt b/Probleme.txt
index 3a15a39..7e887c4 100644
--- a/Probleme.txt
+++ b/Probleme.txt
@@ -1,2 +1,3 @@
Beim hinzufügen von Features fehlte das layer.updateFields()
-Beim hinzufügen von Features fehlte wurde versucht eine viel zu große Pegelonline 'number' in einen Int zu stecken. War schwierig zu entdecken => provider.errors()
\ No newline at end of file
+Beim hinzufügen von Features fehlte wurde versucht eine viel zu große Pegelonline 'number' in einen Int zu stecken. War schwierig zu entdecken => provider.errors()
+Bild wird beim "Neu laden" doppelt heruntergeladen
\ No newline at end of file
diff --git a/pegelonline_dockwidget_base.ui b/pegelonline_dockwidget_base.ui
index aaea83f..3f3bb11 100644
--- a/pegelonline_dockwidget_base.ui
+++ b/pegelonline_dockwidget_base.ui
@@ -6,7 +6,7 @@
0
0
- 288
+ 301
660
@@ -43,16 +43,16 @@
-
-
-
+
- Name
+ Nummer
-
-
+
- Nummer
+ Name
@@ -64,9 +64,9 @@
-
-
+
- Zeitstempel
+ Gewässername
@@ -74,6 +74,13 @@
-
+
-
+
+
+ Zeitstempel
+
+
+
-
@@ -147,13 +154,6 @@
-
-
-
-
-
- Stationsname
-
-
-
-
@@ -162,9 +162,16 @@
-
-
+
- Gewässername
+ Name
+
+
+
+ -
+
+
+ Behörde
@@ -173,9 +180,9 @@
-
-
-
+
- Behörde
+ Gewässername
diff --git a/po_runner.py b/po_runner.py
index cd89007..9fb969e 100644
--- a/po_runner.py
+++ b/po_runner.py
@@ -9,8 +9,6 @@ from .pomodules.po_stations import PoStations
from .pomodules.po_stations_qgs import PoStationsQgs
from .pomodules.po_waterlevels_qgs import PoWaterlevelsQgs
-INFIX = ", ' - ', "
-
# noinspection PyMethodMayBeStatic
class PoRunner(object):
@@ -160,16 +158,16 @@ class PoRunner(object):
return
fields = []
- if self.ui.cbStationsName.isChecked():
- fields.append("shortname")
if self.ui.cbStationsNumber.isChecked():
- fields.append("number")
+ fields.append('\'#\', "number"')
+ if self.ui.cbStationsName.isChecked():
+ fields.append('"shortname"')
if self.ui.cbStationsAgency.isChecked():
- fields.append("agency")
- if self.ui.cbStationsKm.isChecked():
- fields.append("km")
+ fields.append('"agency"')
if self.ui.cbStationsWater.isChecked():
- fields.append("water")
+ fields.append('"water"')
+ if self.ui.cbStationsKm.isChecked():
+ fields.append('"km", \' km\'') # 2 Teile anhängen: km, " km"
self._layer_update_labels(self.stations, fields)
@@ -186,6 +184,7 @@ class PoRunner(object):
self.ui.cbWaterlevelsValue.toggled.connect(self._cbWaterlevelsValue_toggled)
self.ui.cbWaterlevelsMean.toggled.connect(self._cbWaterlevelsMean_toggled)
self.ui.cbWaterlevelsAbsolute.toggled.connect(self._cbWaterlevelsAbsolute_toggled)
+ self.ui.cbWaterlevelsWater.toggled.connect(self._cbWaterlevelsWater_toggled)
def _cbWaterlevelsVisible_toggled(self):
visible = self.ui.cbWaterlevelsVisible.isChecked()
@@ -236,6 +235,11 @@ class PoRunner(object):
print("_cbWaterlevelsAbsolute_toggled: %s" % (checked,))
self._waterlevels_update_labels()
+ def _cbWaterlevelsWater_toggled(self):
+ checked = self.ui.cbWaterlevelsWater.isChecked()
+ print("_cbWaterlevelsWater_toggled: %s" % (checked,))
+ self._waterlevels_update_labels()
+
def waterlevels_disconnect(self):
print("waterlevels_disconnect")
self.waterlevels = None
@@ -248,20 +252,22 @@ class PoRunner(object):
return
fields = []
- if self.ui.cbWaterlevelsName.isChecked():
- fields.append("shortname")
if self.ui.cbWaterlevelsNumber.isChecked():
- fields.append("number")
+ fields.append('\'#\', "number"')
+ if self.ui.cbWaterlevelsName.isChecked():
+ fields.append('"shortname"')
if self.ui.cbWaterlevelsAgency.isChecked():
- fields.append("agency")
+ fields.append('"agency"')
+ if self.ui.cbWaterlevelsWater.isChecked():
+ fields.append('"water"')
if self.ui.cbWaterlevelsTimestamp.isChecked():
- fields.append("timestamp")
+ fields.append('"timestamp"')
if self.ui.cbWaterlevelsValue.isChecked():
- fields.append("value")
+ fields.append('"value", \' \', "unit"') # 3 Teile anhängen: value, leerzeichen, unit
if self.ui.cbWaterlevelsMean.isChecked():
- fields.append("stateMnwMhw")
+ fields.append('\'MnwMhw=\', "stateMnwMhw"')
if self.ui.cbWaterlevelsAbsolute.isChecked():
- fields.append("stateNswHsw")
+ fields.append('\'NswHsw=\', "stateNswHsw"')
self._layer_update_labels(self.waterlevels, fields)
# layers ------------------------------------------------------------------
@@ -321,11 +327,8 @@ class PoRunner(object):
print("_layer_update_labels")
labeling = QgsVectorLayerSimpleLabeling(QgsPalLayerSettings())
- # Anführungszeichen um Feldnamen anbringen
- fields_quoted = ['"%s"' % (field,) for field in fields]
-
# Feldnamen zu einem Minus-getrennten String zusammenbauen
- expression = ", ' - ', ".join(fields_quoted)
+ expression = ", ' / ', ".join(fields)
settings = labeling.settings()
settings.fieldName = "concat(" + expression + ")"
diff --git a/pomodules/po_stations.py b/pomodules/po_stations.py
index f41b48d..6334e83 100644
--- a/pomodules/po_stations.py
+++ b/pomodules/po_stations.py
@@ -15,8 +15,6 @@ class PoStations(UrlReader):
print("getStations: Keine Stationen erhalten")
return None
- print("getStations: %d Stationen erhalten" % (len(stations_json),))
-
stations = []
for station_json in stations_json:
stations.append(
diff --git a/pomodules/po_waterlevels.py b/pomodules/po_waterlevels.py
index e8bea98..68da9b7 100644
--- a/pomodules/po_waterlevels.py
+++ b/pomodules/po_waterlevels.py
@@ -28,10 +28,12 @@ class PoWaterlevels(UrlReader):
'shortname': station_json['shortname'],
'number': station_json['number'],
'agency': station_json['agency'],
+ 'unit': station_json['timeseries'][0]['unit'],
'timestamp': station_json['timeseries'][0]['currentMeasurement']['timestamp'],
'value': station_json['timeseries'][0]['currentMeasurement']['value'],
'stateMnwMhw': station_json['timeseries'][0]['currentMeasurement']['stateMnwMhw'],
'stateNswHsw': station_json['timeseries'][0]['currentMeasurement']['stateNswHsw'],
+ 'water': station_json['water']['longname'],
},
}
)
diff --git a/pomodules/po_waterlevels_qgs.py b/pomodules/po_waterlevels_qgs.py
index 38448e6..53da53a 100644
--- a/pomodules/po_waterlevels_qgs.py
+++ b/pomodules/po_waterlevels_qgs.py
@@ -21,8 +21,10 @@ class PoWaterlevelsQgs(PoWaterlevels):
self.fields.append(QgsField('agency', QVariant.String))
self.fields.append(QgsField('timestamp', QVariant.DateTime))
self.fields.append(QgsField('value', QVariant.Double))
+ self.fields.append(QgsField('unit', QVariant.String))
self.fields.append(QgsField('stateMnwMhw', QVariant.String))
self.fields.append(QgsField('stateNswHsw', QVariant.String))
+ self.fields.append(QgsField('water', QVariant.String))
features = []
waterlevels = self.getWaterlevels()
@@ -55,7 +57,9 @@ class PoWaterlevelsQgs(PoWaterlevels):
feature.setAttribute('agency', station['attributes']['agency'])
feature.setAttribute('timestamp', station['attributes']['timestamp'])
feature.setAttribute('value', station['attributes']['value'])
+ feature.setAttribute('unit', station['attributes']['unit'])
feature.setAttribute('stateMnwMhw', station['attributes']['stateMnwMhw'])
feature.setAttribute('stateNswHsw', station['attributes']['stateNswHsw'])
+ feature.setAttribute('water', station['attributes']['water'])
return feature