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 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>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>288</width>
|
||||
<width>301</width>
|
||||
<height>660</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -43,16 +43,16 @@
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsName">
|
||||
<widget class="QCheckBox" name="cbWaterlevelsNumber">
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
<string>Nummer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsNumber">
|
||||
<widget class="QCheckBox" name="cbWaterlevelsName">
|
||||
<property name="text">
|
||||
<string>Nummer</string>
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -64,9 +64,9 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsTimestamp">
|
||||
<widget class="QCheckBox" name="cbWaterlevelsWater">
|
||||
<property name="text">
|
||||
<string>Zeitstempel</string>
|
||||
<string>Gewässername</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -74,6 +74,13 @@
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsTimestamp">
|
||||
<property name="text">
|
||||
<string>Zeitstempel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsValue">
|
||||
<property name="text">
|
||||
@ -147,13 +154,6 @@
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbStationsName">
|
||||
<property name="text">
|
||||
<string>Stationsname</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbStationsNumber">
|
||||
<property name="text">
|
||||
@ -162,9 +162,16 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbStationsWater">
|
||||
<widget class="QCheckBox" name="cbStationsName">
|
||||
<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>
|
||||
</widget>
|
||||
</item>
|
||||
@ -173,9 +180,9 @@
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbStationsAgency">
|
||||
<widget class="QCheckBox" name="cbStationsWater">
|
||||
<property name="text">
|
||||
<string>Behörde</string>
|
||||
<string>Gewässername</string>
|
||||
</property>
|
||||
</widget>
|
||||
</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_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 + ")"
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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'],
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user