Ich versuche, einen schnellen und widerlichen Code zu schreiben, um Erhebungen in die Geometrie eines 3D-Punkt-Shapefiles zu schreiben. Andere haben bemerkt, dass diese Funktion in der GPS Information Panel Funktion fehlt. Ich kann jedoch keine Liste von Parametern finden, die für den QgsNMEAConnection verwendet werden können, um über die serielle Schnittstelle, z. B. COM7, eine Verbindung zu einem GPS herzustellen. Kann jemand mir diese Funktion helfen, kann ich sehen, dass es einen "Wirt" und "Hafen" haben sollte aber die anderen Parameter nicht herausfinden kann. Das Folgende ist ein Überblick über die Funktion. Sei nicht zu hart Ich bin neu in QGIS und Python. Eine andere Sache, die ich nicht tun kann, ist das Öffnen der Attribut-Popup-Tabelle, sobald ein neuer Punkt hinzugefügt wurde.Parameter für QgsNMEAConnection
layer = iface.activeLayer()
# check the layer is a 3D point shapefile
# check the layer is editable
# the following line of code is WRONG. I need an example
# of the connection parameters to a GPS to a serial port eg COM7
c = QgsNMEAConnection(host="serial", port=7, "")
i=c.currentGPSInformation()
lat = i.latitude
lon = i.longitude
elv = i.elevation
wkt = '%s %f %s %f %s %f %s' %('Point(', lat, ' ', lon, ' ' , elv, ')')
feat = QgsFeature(layer.pendingFields())
feat.setGeometry(QgsGeometry.fromWkt(wkt))
(res, outFeats) = layer.dataProvider().addFeatures([feat])