42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
from PyQt5.QtCore import QVariant
|
|
from qgis._core import QgsCoordinateReferenceSystem
|
|
from qgis.core import QgsFields, QgsField
|
|
|
|
from .po_waterlevel_reader import PoWaterlevelReader
|
|
|
|
|
|
class PoWaterlevelReaderQgs(PoWaterlevelReader):
|
|
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.fields = None
|
|
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
|
|
|
def get_features(self):
|
|
print("PoWaterlevelReaderQgs::get_features: Erzeuge Features...")
|
|
|
|
self.fields = QgsFields()
|
|
self.fields.append(QgsField('shortname', QVariant.String))
|
|
self.fields.append(QgsField('number', QVariant.LongLong))
|
|
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('mean', QVariant.String))
|
|
self.fields.append(QgsField('absolute', QVariant.String))
|
|
self.fields.append(QgsField('water', QVariant.String))
|
|
|
|
features = []
|
|
waterlevels = self.get_waterlevels()
|
|
if waterlevels is None or len(waterlevels) == 0:
|
|
print("PoWaterlevelReaderQgs::get_features: Fehler: Keine Pegelstände erhalten")
|
|
return None
|
|
|
|
for waterlevel in waterlevels:
|
|
feature = waterlevel.new_feature(self.fields)
|
|
if feature is not None:
|
|
features.append(feature)
|
|
|
|
print("PoWaterlevelReaderQgs::get_features: %d Features erzeugt" % (len(features),))
|
|
return features
|