attributes: unit, 'km', water
This commit is contained in:
parent
100149eb08
commit
844cc90bc2
@ -1,2 +1,3 @@
|
|||||||
Beim hinzufügen von Features fehlte das layer.updateFields()
|
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()
|
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
|
||||||
@ -6,7 +6,7 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>288</width>
|
<width>301</width>
|
||||||
<height>660</height>
|
<height>660</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
@ -43,16 +43,16 @@
|
|||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="cbWaterlevelsName">
|
<widget class="QCheckBox" name="cbWaterlevelsNumber">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Name</string>
|
<string>Nummer</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="cbWaterlevelsNumber">
|
<widget class="QCheckBox" name="cbWaterlevelsName">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Nummer</string>
|
<string>Name</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -64,9 +64,9 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="cbWaterlevelsTimestamp">
|
<widget class="QCheckBox" name="cbWaterlevelsWater">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Zeitstempel</string>
|
<string>Gewässername</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -74,6 +74,13 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="cbWaterlevelsTimestamp">
|
||||||
|
<property name="text">
|
||||||
|
<string>Zeitstempel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="cbWaterlevelsValue">
|
<widget class="QCheckBox" name="cbWaterlevelsValue">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -147,13 +154,6 @@
|
|||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="cbStationsName">
|
|
||||||
<property name="text">
|
|
||||||
<string>Stationsname</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="cbStationsNumber">
|
<widget class="QCheckBox" name="cbStationsNumber">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
@ -162,9 +162,16 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="cbStationsWater">
|
<widget class="QCheckBox" name="cbStationsName">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Gewässername</string>
|
<string>Name</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="cbStationsAgency">
|
||||||
|
<property name="text">
|
||||||
|
<string>Behörde</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -173,9 +180,9 @@
|
|||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="cbStationsAgency">
|
<widget class="QCheckBox" name="cbStationsWater">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Behörde</string>
|
<string>Gewässername</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
45
po_runner.py
45
po_runner.py
@ -9,8 +9,6 @@ from .pomodules.po_stations import PoStations
|
|||||||
from .pomodules.po_stations_qgs import PoStationsQgs
|
from .pomodules.po_stations_qgs import PoStationsQgs
|
||||||
from .pomodules.po_waterlevels_qgs import PoWaterlevelsQgs
|
from .pomodules.po_waterlevels_qgs import PoWaterlevelsQgs
|
||||||
|
|
||||||
INFIX = ", ' - ', "
|
|
||||||
|
|
||||||
|
|
||||||
# noinspection PyMethodMayBeStatic
|
# noinspection PyMethodMayBeStatic
|
||||||
class PoRunner(object):
|
class PoRunner(object):
|
||||||
@ -160,16 +158,16 @@ class PoRunner(object):
|
|||||||
return
|
return
|
||||||
|
|
||||||
fields = []
|
fields = []
|
||||||
if self.ui.cbStationsName.isChecked():
|
|
||||||
fields.append("shortname")
|
|
||||||
if self.ui.cbStationsNumber.isChecked():
|
if self.ui.cbStationsNumber.isChecked():
|
||||||
fields.append("number")
|
fields.append('\'#\', "number"')
|
||||||
|
if self.ui.cbStationsName.isChecked():
|
||||||
|
fields.append('"shortname"')
|
||||||
if self.ui.cbStationsAgency.isChecked():
|
if self.ui.cbStationsAgency.isChecked():
|
||||||
fields.append("agency")
|
fields.append('"agency"')
|
||||||
if self.ui.cbStationsKm.isChecked():
|
|
||||||
fields.append("km")
|
|
||||||
if self.ui.cbStationsWater.isChecked():
|
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)
|
self._layer_update_labels(self.stations, fields)
|
||||||
|
|
||||||
@ -186,6 +184,7 @@ class PoRunner(object):
|
|||||||
self.ui.cbWaterlevelsValue.toggled.connect(self._cbWaterlevelsValue_toggled)
|
self.ui.cbWaterlevelsValue.toggled.connect(self._cbWaterlevelsValue_toggled)
|
||||||
self.ui.cbWaterlevelsMean.toggled.connect(self._cbWaterlevelsMean_toggled)
|
self.ui.cbWaterlevelsMean.toggled.connect(self._cbWaterlevelsMean_toggled)
|
||||||
self.ui.cbWaterlevelsAbsolute.toggled.connect(self._cbWaterlevelsAbsolute_toggled)
|
self.ui.cbWaterlevelsAbsolute.toggled.connect(self._cbWaterlevelsAbsolute_toggled)
|
||||||
|
self.ui.cbWaterlevelsWater.toggled.connect(self._cbWaterlevelsWater_toggled)
|
||||||
|
|
||||||
def _cbWaterlevelsVisible_toggled(self):
|
def _cbWaterlevelsVisible_toggled(self):
|
||||||
visible = self.ui.cbWaterlevelsVisible.isChecked()
|
visible = self.ui.cbWaterlevelsVisible.isChecked()
|
||||||
@ -236,6 +235,11 @@ class PoRunner(object):
|
|||||||
print("_cbWaterlevelsAbsolute_toggled: %s" % (checked,))
|
print("_cbWaterlevelsAbsolute_toggled: %s" % (checked,))
|
||||||
self._waterlevels_update_labels()
|
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):
|
def waterlevels_disconnect(self):
|
||||||
print("waterlevels_disconnect")
|
print("waterlevels_disconnect")
|
||||||
self.waterlevels = None
|
self.waterlevels = None
|
||||||
@ -248,20 +252,22 @@ class PoRunner(object):
|
|||||||
return
|
return
|
||||||
|
|
||||||
fields = []
|
fields = []
|
||||||
if self.ui.cbWaterlevelsName.isChecked():
|
|
||||||
fields.append("shortname")
|
|
||||||
if self.ui.cbWaterlevelsNumber.isChecked():
|
if self.ui.cbWaterlevelsNumber.isChecked():
|
||||||
fields.append("number")
|
fields.append('\'#\', "number"')
|
||||||
|
if self.ui.cbWaterlevelsName.isChecked():
|
||||||
|
fields.append('"shortname"')
|
||||||
if self.ui.cbWaterlevelsAgency.isChecked():
|
if self.ui.cbWaterlevelsAgency.isChecked():
|
||||||
fields.append("agency")
|
fields.append('"agency"')
|
||||||
|
if self.ui.cbWaterlevelsWater.isChecked():
|
||||||
|
fields.append('"water"')
|
||||||
if self.ui.cbWaterlevelsTimestamp.isChecked():
|
if self.ui.cbWaterlevelsTimestamp.isChecked():
|
||||||
fields.append("timestamp")
|
fields.append('"timestamp"')
|
||||||
if self.ui.cbWaterlevelsValue.isChecked():
|
if self.ui.cbWaterlevelsValue.isChecked():
|
||||||
fields.append("value")
|
fields.append('"value", \' \', "unit"') # 3 Teile anhängen: value, leerzeichen, unit
|
||||||
if self.ui.cbWaterlevelsMean.isChecked():
|
if self.ui.cbWaterlevelsMean.isChecked():
|
||||||
fields.append("stateMnwMhw")
|
fields.append('\'MnwMhw=\', "stateMnwMhw"')
|
||||||
if self.ui.cbWaterlevelsAbsolute.isChecked():
|
if self.ui.cbWaterlevelsAbsolute.isChecked():
|
||||||
fields.append("stateNswHsw")
|
fields.append('\'NswHsw=\', "stateNswHsw"')
|
||||||
self._layer_update_labels(self.waterlevels, fields)
|
self._layer_update_labels(self.waterlevels, fields)
|
||||||
|
|
||||||
# layers ------------------------------------------------------------------
|
# layers ------------------------------------------------------------------
|
||||||
@ -321,11 +327,8 @@ class PoRunner(object):
|
|||||||
print("_layer_update_labels")
|
print("_layer_update_labels")
|
||||||
labeling = QgsVectorLayerSimpleLabeling(QgsPalLayerSettings())
|
labeling = QgsVectorLayerSimpleLabeling(QgsPalLayerSettings())
|
||||||
|
|
||||||
# Anführungszeichen um Feldnamen anbringen
|
|
||||||
fields_quoted = ['"%s"' % (field,) for field in fields]
|
|
||||||
|
|
||||||
# Feldnamen zu einem Minus-getrennten String zusammenbauen
|
# Feldnamen zu einem Minus-getrennten String zusammenbauen
|
||||||
expression = ", ' - ', ".join(fields_quoted)
|
expression = ", ' / ', ".join(fields)
|
||||||
|
|
||||||
settings = labeling.settings()
|
settings = labeling.settings()
|
||||||
settings.fieldName = "concat(" + expression + ")"
|
settings.fieldName = "concat(" + expression + ")"
|
||||||
|
|||||||
@ -15,8 +15,6 @@ class PoStations(UrlReader):
|
|||||||
print("getStations: Keine Stationen erhalten")
|
print("getStations: Keine Stationen erhalten")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
print("getStations: %d Stationen erhalten" % (len(stations_json),))
|
|
||||||
|
|
||||||
stations = []
|
stations = []
|
||||||
for station_json in stations_json:
|
for station_json in stations_json:
|
||||||
stations.append(
|
stations.append(
|
||||||
|
|||||||
@ -28,10 +28,12 @@ class PoWaterlevels(UrlReader):
|
|||||||
'shortname': station_json['shortname'],
|
'shortname': station_json['shortname'],
|
||||||
'number': station_json['number'],
|
'number': station_json['number'],
|
||||||
'agency': station_json['agency'],
|
'agency': station_json['agency'],
|
||||||
|
'unit': station_json['timeseries'][0]['unit'],
|
||||||
'timestamp': station_json['timeseries'][0]['currentMeasurement']['timestamp'],
|
'timestamp': station_json['timeseries'][0]['currentMeasurement']['timestamp'],
|
||||||
'value': station_json['timeseries'][0]['currentMeasurement']['value'],
|
'value': station_json['timeseries'][0]['currentMeasurement']['value'],
|
||||||
'stateMnwMhw': station_json['timeseries'][0]['currentMeasurement']['stateMnwMhw'],
|
'stateMnwMhw': station_json['timeseries'][0]['currentMeasurement']['stateMnwMhw'],
|
||||||
'stateNswHsw': station_json['timeseries'][0]['currentMeasurement']['stateNswHsw'],
|
'stateNswHsw': station_json['timeseries'][0]['currentMeasurement']['stateNswHsw'],
|
||||||
|
'water': station_json['water']['longname'],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@ -21,8 +21,10 @@ class PoWaterlevelsQgs(PoWaterlevels):
|
|||||||
self.fields.append(QgsField('agency', QVariant.String))
|
self.fields.append(QgsField('agency', QVariant.String))
|
||||||
self.fields.append(QgsField('timestamp', QVariant.DateTime))
|
self.fields.append(QgsField('timestamp', QVariant.DateTime))
|
||||||
self.fields.append(QgsField('value', QVariant.Double))
|
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('stateMnwMhw', QVariant.String))
|
||||||
self.fields.append(QgsField('stateNswHsw', QVariant.String))
|
self.fields.append(QgsField('stateNswHsw', QVariant.String))
|
||||||
|
self.fields.append(QgsField('water', QVariant.String))
|
||||||
|
|
||||||
features = []
|
features = []
|
||||||
waterlevels = self.getWaterlevels()
|
waterlevels = self.getWaterlevels()
|
||||||
@ -55,7 +57,9 @@ class PoWaterlevelsQgs(PoWaterlevels):
|
|||||||
feature.setAttribute('agency', station['attributes']['agency'])
|
feature.setAttribute('agency', station['attributes']['agency'])
|
||||||
feature.setAttribute('timestamp', station['attributes']['timestamp'])
|
feature.setAttribute('timestamp', station['attributes']['timestamp'])
|
||||||
feature.setAttribute('value', station['attributes']['value'])
|
feature.setAttribute('value', station['attributes']['value'])
|
||||||
|
feature.setAttribute('unit', station['attributes']['unit'])
|
||||||
feature.setAttribute('stateMnwMhw', station['attributes']['stateMnwMhw'])
|
feature.setAttribute('stateMnwMhw', station['attributes']['stateMnwMhw'])
|
||||||
feature.setAttribute('stateNswHsw', station['attributes']['stateNswHsw'])
|
feature.setAttribute('stateNswHsw', station['attributes']['stateNswHsw'])
|
||||||
|
feature.setAttribute('water', station['attributes']['water'])
|
||||||
|
|
||||||
return feature
|
return feature
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user