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!