Es gibt ein vorhandenes Shapefile, das ich hinzufügen möchte.
Im Moment sieht mein Code so aus:
self.iface.addVectorLayer(self.shpFilePath, "Track", "ogr")
Es funktioniert gut, aber ich möchte die crs innerhalb des Codes definieren. Ist es möglich? Ich habe einige ähnliche Fragen wie diese gefunden: Programmgesteuertes Auswählen eines CRS in QGIS 2.4 mit Python
Aber ich bekomme es trotzdem nicht zum Laufen.
coordinate-system
pyqgis
vector
Hinne123
quelle
quelle
Basierend auf diesem Blog-Beitrag und der Antwort auf Wie kann ich das CRS einer Rasterebene in Pyqgis angeben? So erreichen Sie, was Sie wollen:
Hinweis: Wenn Sie weiterhin QGIS v2.x verwenden (BTW, sollten Sie nicht: P), verwenden Sie stattdessen den Variablennamen "/ Projections / defaultBehaviour".
quelle
Mit dem folgenden Code können Sie eine Vektorebene hinzufügen, ohne dass das CRS-Popup-Fenster angezeigt wird (zumindest wird es für mich nicht angezeigt):
Ändern Sie einfach den
4326
CRS-Wert in beiden Fällen in die Autoritäts-ID Ihrer Wahl (siehe Abbildung):quelle
Nach Monaten fand ich eine Lösung. Sie sollten zwei Zeilen vor und am Ende des Skripts hinzufügen, das von @Domokos Endre stammt:
quelle
Für mich funktioniert keine der oben genannten Lösungen. Vielleicht, weil ich CSV als Vektorebene lade, keine Formdatei. Die einzige Möglichkeit, es zum Laufen zu bringen, ist:
quelle
In dieser Antwort wird beschrieben, wie Sie diesen Dialog vermeiden, indem Sie zunächst den CRS in der URL angeben, die zum Laden der Datei in den Speicher verwendet wird. Anstatt den Shapefile-Pfad direkt an zu übergeben
addVectorLayer()
, erstellen Sie einenQgsVectorLayer
mit der entsprechenden URL und rufen Sie dann anaddMapLayer()
.quelle