41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
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
|