FIX: Attribute wurde nicht direkt angezeigt
This commit is contained in:
parent
fb740f4895
commit
1d1aeb68cd
16
po_runner.py
16
po_runner.py
@ -31,13 +31,15 @@ class PoRunner(object):
|
|||||||
def loadStations(self):
|
def loadStations(self):
|
||||||
print("loadStations")
|
print("loadStations")
|
||||||
reader = PoQgsStations()
|
reader = PoQgsStations()
|
||||||
self.stations = self._layerFromReader(reader.fields, reader.crs, reader.getStationsFeatures(), "Stationen")
|
features = reader.getStationsFeatures()
|
||||||
|
self.stations = self._layerFromReader(reader.fields, reader.crs, features, "Stationen")
|
||||||
self._layerShow(self.stations, "styles/label_stations.qml", self.disconnectStations)
|
self._layerShow(self.stations, "styles/label_stations.qml", self.disconnectStations)
|
||||||
|
|
||||||
def loadWaterlevels(self):
|
def loadWaterlevels(self):
|
||||||
print("loadWaterlevels")
|
print("loadWaterlevels")
|
||||||
reader = PoQgsCurrentW()
|
reader = PoQgsCurrentW()
|
||||||
self.waterlevels = self._layerFromReader(reader.fields, reader.crs, reader.getCurrentWFeatures(), "Wasserstandinformationen")
|
features = reader.getCurrentWFeatures()
|
||||||
|
self.waterlevels = self._layerFromReader(reader.fields, reader.crs, features, "Wasserstandinformationen")
|
||||||
self._layerShow(self.waterlevels, "styles/label_currentw.qml", self.disconnectWaterlevels)
|
self._layerShow(self.waterlevels, "styles/label_currentw.qml", self.disconnectWaterlevels)
|
||||||
|
|
||||||
def _layerFromReader(self, fields, crs, features, title) -> None | QgsVectorLayer:
|
def _layerFromReader(self, fields, crs, features, title) -> None | QgsVectorLayer:
|
||||||
@ -49,13 +51,15 @@ class PoRunner(object):
|
|||||||
print("layer_path: " + layer_path)
|
print("layer_path: " + layer_path)
|
||||||
|
|
||||||
layer = QgsVectorLayer(layer_path, title, "memory")
|
layer = QgsVectorLayer(layer_path, title, "memory")
|
||||||
layer.updateFields()
|
|
||||||
layer.updateExtents()
|
|
||||||
layer.commitChanges()
|
|
||||||
|
|
||||||
provider = layer.dataProvider()
|
provider = layer.dataProvider()
|
||||||
|
|
||||||
provider.addAttributes(fields)
|
provider.addAttributes(fields)
|
||||||
|
layer.updateFields()
|
||||||
|
|
||||||
provider.addFeatures(features)
|
provider.addFeatures(features)
|
||||||
|
layer.updateExtents()
|
||||||
|
|
||||||
|
layer.commitChanges()
|
||||||
|
|
||||||
if layer.isValid():
|
if layer.isValid():
|
||||||
return layer
|
return layer
|
||||||
|
|||||||
@ -9,17 +9,18 @@ class PoQgsCurrentW(PoCurrentW):
|
|||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
self.fields = None
|
||||||
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
||||||
|
|
||||||
|
def getCurrentWFeatures(self):
|
||||||
|
print("getCurrentWFeatures: Erzeuge Features...")
|
||||||
|
|
||||||
self.fields = QgsFields()
|
self.fields = QgsFields()
|
||||||
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('stateMnwMhw', QVariant.String))
|
self.fields.append(QgsField('stateMnwMhw', QVariant.String))
|
||||||
self.fields.append(QgsField('stateNswHsw', QVariant.String))
|
self.fields.append(QgsField('stateNswHsw', QVariant.String))
|
||||||
|
|
||||||
def getCurrentWFeatures(self):
|
|
||||||
print("getCurrentWFeatures: Erzeuge Features...")
|
|
||||||
|
|
||||||
features = []
|
features = []
|
||||||
for station in self.getCurrentW():
|
for station in self.getCurrentW():
|
||||||
feature = self._getFeatureForStation(station)
|
feature = self._getFeatureForStation(station)
|
||||||
@ -29,13 +30,12 @@ class PoQgsCurrentW(PoCurrentW):
|
|||||||
return features
|
return features
|
||||||
|
|
||||||
def _getFeatureForStation(self, station):
|
def _getFeatureForStation(self, station):
|
||||||
feature = QgsFeature()
|
feature = QgsFeature(self.fields)
|
||||||
|
|
||||||
longitude = station['geometry']['longitude']
|
longitude = station['geometry']['longitude']
|
||||||
latitude = station['geometry']['latitude']
|
latitude = station['geometry']['latitude']
|
||||||
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(longitude, latitude)))
|
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(longitude, latitude)))
|
||||||
|
|
||||||
feature.setFields(self.fields)
|
|
||||||
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('stateMnwMhw', station['attributes']['stateMnwMhw'])
|
feature.setAttribute('stateMnwMhw', station['attributes']['stateMnwMhw'])
|
||||||
|
|||||||
@ -9,8 +9,12 @@ class PoQgsStations(PoStations):
|
|||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
PoStations.__init__(self)
|
PoStations.__init__(self)
|
||||||
|
self.fields = None
|
||||||
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
||||||
|
|
||||||
|
def getStationsFeatures(self):
|
||||||
|
print("getStationsFeatures: Erzeuge Features...")
|
||||||
|
|
||||||
self.fields = QgsFields()
|
self.fields = QgsFields()
|
||||||
self.fields.append(QgsField('uuid', QVariant.String))
|
self.fields.append(QgsField('uuid', QVariant.String))
|
||||||
self.fields.append(QgsField('number', QVariant.Int))
|
self.fields.append(QgsField('number', QVariant.Int))
|
||||||
@ -20,9 +24,6 @@ class PoQgsStations(PoStations):
|
|||||||
self.fields.append(QgsField('agency', QVariant.String))
|
self.fields.append(QgsField('agency', QVariant.String))
|
||||||
self.fields.append(QgsField('water', QVariant.String))
|
self.fields.append(QgsField('water', QVariant.String))
|
||||||
|
|
||||||
def getStationsFeatures(self):
|
|
||||||
print("getStationsFeatures: Erzeuge Features...")
|
|
||||||
|
|
||||||
features = []
|
features = []
|
||||||
for station in self.getStations():
|
for station in self.getStations():
|
||||||
feature = self._getFeatureForStation(station)
|
feature = self._getFeatureForStation(station)
|
||||||
@ -32,13 +33,12 @@ class PoQgsStations(PoStations):
|
|||||||
return features
|
return features
|
||||||
|
|
||||||
def _getFeatureForStation(self, station) -> QgsFeature:
|
def _getFeatureForStation(self, station) -> QgsFeature:
|
||||||
feature = QgsFeature()
|
feature = QgsFeature(self.fields)
|
||||||
|
|
||||||
longitude = station['geometry']['longitude']
|
longitude = station['geometry']['longitude']
|
||||||
latitude = station['geometry']['latitude']
|
latitude = station['geometry']['latitude']
|
||||||
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(longitude, latitude)))
|
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(longitude, latitude)))
|
||||||
|
|
||||||
feature.setFields(self.fields)
|
|
||||||
feature.setAttribute('uuid', station['attributes']['uuid'])
|
feature.setAttribute('uuid', station['attributes']['uuid'])
|
||||||
feature.setAttribute('number', station['attributes']['number'])
|
feature.setAttribute('number', station['attributes']['number'])
|
||||||
feature.setAttribute('shortname', station['attributes']['shortname'])
|
feature.setAttribute('shortname', station['attributes']['shortname'])
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user