Ich möchte ein paar kleine und einfache Python-Skripte für QGIS (Mac) von "außerhalb" von QGIS ausführen. Mit außerhalb meine ich in diesem Zusammenhang entweder die normale os-Befehlszeile (terminal.app) oder noch besser, direkt aus Sublime Text (Texteditor), aber definitiv nicht über die eingebaute QGIS-Python-Konsole.
Ich habe verschiedene Tutorials durchgelesen, z. B. http://www.qgis.org/pyqgis-cookbook/intro.html#python-applications, und ich kann einen Verweis auf die QGIS-App erhalten, aber leider nicht auf qgis.utils.iface
oder etwas anderes Tieferes . Dieses kleine Code-Snippet sollte zum Beispiel den Namen der aktiven Ebene ausdrucken ... hier ist, was ich habe:
import sys
sys.path.append("/Applications/QGIS.app/Contents/Resources/python")
from qgis.core import *
import qgis.utils
print "helo" # console output: helo
QgsApplication.setPrefixPath("/Applications/QGIS.app/", True)
QgsApplication.initQgis()
print QgsApplication # console output: <class 'qgis.core.QgsApplication'>
print qgis.utils.iface # = console output: none
aLayer = qgis.utils.iface.activeLayer()
print aLayer.name()
QgsApplication.exitQgis()
Bitte antworte mir jetzt nicht, wie man ein Plugin oder etwas anderes "Schweres" erstellt. Ich bin nur auf der Suche nach einer schnellen und einfachen Möglichkeit, Skripte aus einem komfortablen Texteditor in QGIS zu erstellen.
4
. In der Zwischenzeit muss ich damit leben2
, was wirklich eine Qual ist,import script
gefolgt von einemreload(script)
Wechsel von meinem Editor zu QGIS. Ich habe auch das Scriptrunner-Plugin überprüft, was vielversprechend ist, aber dann konnte ich keine Verbindungprint "debug value"
zur QGIS-Konsole herstellen. Wissen Sie zufällig, wie ein Scriptrunner-Skript etwas auf der QGIS-Konsole drucken kann? Danke vielmals! Wartet auf deine Antwort und schließt dann die Frage!def info(text): QMessageBox.information(None,"Debug Info", str(text))
QgsVector_y_Layer
Ich denke, die Antwort von Nathan W ist veraltet. Ich konnte Python-Skripte für QGIS (Version 2.6) über die Befehlszeile (Nathans Option 4) mit den folgenden Befehlen ausführen.
quelle
--code
Python-Skript auszuführen ?Update für Nathans Option 4: (Windows, QGIS 2.18 Las Palmas)
So drucken Sie das QGIS-Hilfedokument:
Laden Sie zum Öffnen von QGIS ein Projekt und führen Sie dann ein Python-Skript aus.
Diese Befehle sollten ohne Probleme auf der OSGeo4W-Shell ausgeführt werden.
quelle