Hat QGIS so etwas wie den MS Office-Makrorecorder?
8
Ich möchte die Python-Konsole in QGIS verwenden, um Aufgaben zu automatisieren. Gibt es in MS Office so etwas wie einen Makrorecorder, um die Python-Befehle abzurufen?
Als erfahrener Mapbasic-Programmierer finde ich es wichtig, dass das Mapbasic-Sofortfenster Aktionen aufzeichnet und das Mapbasic-Skript als Teil des Prozesses zum Erstellen eines kompilierten Mabasic-Programms schreibt. Eine ähnliche Funktionalität in QGIS wäre sehr nützlich, damit nicht spezialisierte Programmierer ihre Aktionen aufzeichnen können. Ich würde die Entwicklung solcher Funktionen unterstützen. Ich fange gerade an, QGIS nach 15 Jahren mit mapinfo auszuprobieren und finde dies eines der wichtigsten fehlenden Elemente.
Willkommen bei gis.stackexchange! Leider gibt Ihr Beitrag keine Antwort auf die Frage. Der Antwortbereich sollte nur zur Beantwortung von Fragen verwendet werden. Wenn Sie einen Kommentar hinterlassen möchten, können Sie dies tun, nachdem Sie einige Reputationspunkte gesammelt haben.
Die allgemeine Idee ist, dass QGIS den Python-Code für jede Aktion (oder nur die allgemeineren) sendet, die es ausführt. Code kann an eine Datei oder Konsole gesendet werden, damit Benutzer ihn kopieren und in ein Skript einfügen und später ausführen können. Natürlich würden Sie dies nicht immer nur tun, wenn ein bestimmter Trigger in der Python-Konsole oder in einem Konfigurationsbildschirm gesetzt ist.
Angenommen, der Benutzer öffnet eine Tabelle aus einer PostGIS-Datenbank und legt ihren Stil so fest, dass er durchgehend rot ist. QGIS würde den erforderlichen Python-Code ausgeben, um die Tabelle zu öffnen, ihn dem Kartenbereich hinzuzufügen und seine Farbe zu ändern.
MapInfo? funktioniert das mit MapBasic? und ich weiß, dass es für mich praktisch war, den Umgang mit MapBasic zu lernen? APIs, als ich anfing, indem ich nur beobachtete, was es erzeugte.
Ich bin mir nicht sicher, wie schwer das sein würde oder ob jemand anderes denkt, dass es sich lohnt, aber es könnte für Leute nützlich sein, die QGIS-Python-API zu lernen und beim Schreiben von Skripten zu helfen.
Twas wurde vor ungefähr zwei Jahren eröffnet, aber leider scheint derzeit niemand daran zu arbeiten.
Ahh ja, mein erstes QGIS-Ticket :) Das fällt mir immer noch von Zeit zu Zeit ein, aber die meiste Zeit habe ich Mühe, einen guten / skalierbaren Weg zu finden, um damit umzugehen.
Nathan W
1
In solchen Fällen fällt es Ihnen möglicherweise leichter, Ihren Python-Code aus der Quantum-Konsole zu entfernen und eine IDE einzurichten, über die Sie Ihren Code schreiben und ausführen können. Dieser Blog-Beitrag beschreibt das Herunterladen und Konfigurieren von Aptana Studio für die Verwendung mit Pyqgis.
Mit einer solchen Konfiguration können Sie Ihre Befehle und Skripte als Python-PY-Dateien speichern und bei Bedarf ausführen, zusätzlich zu anderen Python-Funktionen in einer besseren Entwicklungsumgebung.
Soweit ich diese Frage verstehe, antworten Sie nicht. Der Benutzer scheint in der Lage sein zu wollen, einige GUI-Aktionen zu registrieren, die er in QGIS ausführt. Diese Aktionen würden in Python übersetzt. QGIS bietet so etwas nicht an. Sie müssen Aktionen manuell codieren. Das PyQGIS-Kochbuch ist eine gute Hilfe dafür
Antworten:
Leider gibt es so etwas momentan nicht. Das Ticket, das mir am nächsten kommt, ist das Ticket des QGIS Issue Trackers für Makroaufzeichnungen.
Twas wurde vor ungefähr zwei Jahren eröffnet, aber leider scheint derzeit niemand daran zu arbeiten.
quelle
In solchen Fällen fällt es Ihnen möglicherweise leichter, Ihren Python-Code aus der Quantum-Konsole zu entfernen und eine IDE einzurichten, über die Sie Ihren Code schreiben und ausführen können. Dieser Blog-Beitrag beschreibt das Herunterladen und Konfigurieren von Aptana Studio für die Verwendung mit Pyqgis.
Mit einer solchen Konfiguration können Sie Ihre Befehle und Skripte als Python-PY-Dateien speichern und bei Bedarf ausführen, zusätzlich zu anderen Python-Funktionen in einer besseren Entwicklungsumgebung.
quelle