from PyQt5.QtCore import QVariant from qgis._core import QgsCoordinateReferenceSystem from qgis.core import QgsFields, QgsField from .po_station_reader import PoStationReader class PoStationReaderQgs(PoStationReader): def __init__(self): super().__init__() self.fields = None self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId) def get_features(self): print("PoStationReaderQgs::get_features: Erzeuge Features...") self.fields = QgsFields() self.fields.append(QgsField('uuid', QVariant.String)) self.fields.append(QgsField('number', QVariant.LongLong)) self.fields.append(QgsField('shortname', QVariant.String)) self.fields.append(QgsField('longname', QVariant.String)) self.fields.append(QgsField('km', QVariant.Double)) self.fields.append(QgsField('agency', QVariant.String)) self.fields.append(QgsField('water', QVariant.String)) features = [] stations = self.get_stations() if stations is None or len(stations) == 0: print("PoStationReaderQgs::get_features: Fehler: Keine Stationen erhalten") return None for station in stations: feature = station.new_feature(self.fields) if feature is not None: features.append(feature) print("PoStationReaderQgs::get_features: %d Features erzeugt" % (len(features),)) return features