Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
qgis:advanced:lernpfad-d:qgis-python-scripting [2019/10/21 10:11] adminqgis:advanced:lernpfad-d:qgis-python-scripting [2020/02/23 07:38] admin
Zeile 1: Zeile 1:
 ======QGIS3: Modellierung, PyQGIS und Plugin-Entwicklung*====== ======QGIS3: Modellierung, PyQGIS und Plugin-Entwicklung*======
- 
  
 QGIS bietet - wie die meißten OpenSource Programme - viele Möglichkeiten der Erweiterung. Findet man für eine Fragestellung oder ein Problem kein passendes Plugin, so kann man sich auf verschiedenen Wegen selbst daran machen, eigene Skripte und Erweiterungen zu schreiben. Für Nicht-Skripter gibt es die Möglichkeit, visuell mit Hilfe der **Prozessmodelierung** ([[qgis:advanced:lernpfad-d:grafische-modellierung-processing-modeler|]]) eigene Skripte oder Erweiterungen zu entwickeln. Bevor jedoch eine Erweiterung auch wirklich als Erweiterung allen anderen zur Verfügung steht, müssen strikte Vorgaben beachtet werden... QGIS bietet - wie die meißten OpenSource Programme - viele Möglichkeiten der Erweiterung. Findet man für eine Fragestellung oder ein Problem kein passendes Plugin, so kann man sich auf verschiedenen Wegen selbst daran machen, eigene Skripte und Erweiterungen zu schreiben. Für Nicht-Skripter gibt es die Möglichkeit, visuell mit Hilfe der **Prozessmodelierung** ([[qgis:advanced:lernpfad-d:grafische-modellierung-processing-modeler|]]) eigene Skripte oder Erweiterungen zu entwickeln. Bevor jedoch eine Erweiterung auch wirklich als Erweiterung allen anderen zur Verfügung steht, müssen strikte Vorgaben beachtet werden...
  
 =====Entwicklung von Arbeitsabläufen mit dem Graphical Modeler===== =====Entwicklung von Arbeitsabläufen mit dem Graphical Modeler=====
 +[{{ :qgis:advanced:images:graphicalmodeler-py-export-310.png?direct&600|}}]
 In der Lektion [[qgis:advanced:lernpfad-d:grafische-modellierung-processing-modeler|]] wird dargestellt, wie man mit der Graphischen Modellierung ein einfaches Modell zum Ablussregime erstellt. Dieses steht über die Processing Toolbox zur Verfügung oder kann als *.model3-Datei abgespeichert und ausgetauscht werden. Hiermit lassen sich bereits manche Arbeitsabläufe erheblich erleichtern und optimieren.  In der Lektion [[qgis:advanced:lernpfad-d:grafische-modellierung-processing-modeler|]] wird dargestellt, wie man mit der Graphischen Modellierung ein einfaches Modell zum Ablussregime erstellt. Dieses steht über die Processing Toolbox zur Verfügung oder kann als *.model3-Datei abgespeichert und ausgetauscht werden. Hiermit lassen sich bereits manche Arbeitsabläufe erheblich erleichtern und optimieren. 
  
-<WRAP info>Vor QGIS3 war es noch möglich, ein Modell als Python-Script zu speichern, welches man mit ein paar weiteren Arbeitsschritten zu einem Plugin weiterentwickeln konnte. Zur Zeit geht das nicht, ist aber "in Arbeit". (Stand 28.11.2018, QGIS 3.4.2)</WRAP>+<WRAP tip> 
 +Seit QGIS 3.10 ist es wieder möglich, ein im Graphical Modeler erzeugtes Modell **in einen sauberen Python Code zu überführen**! Diese eröffnet viele Möglichkeiten: So kann man den Code //hübsch nachberabeiten// oder mit Hilfe des Plugin Builder zu einem Plugin weiterentwickeln
 +</WRAP> 
  
 =====PyQGIS Scripting===== =====PyQGIS Scripting=====
Zeile 27: Zeile 29:
 =====Plugin-Entwicklung===== =====Plugin-Entwicklung=====
  
 +Hat man einen Code erstellt - ob mit dem Graphical Modeler oder händisch - lässt sich der generierte Script jederzeit aus der Python Console ausführen oder in die Toolbox integrieren. Möchte man es aber allen QGIS-Nutzern über das (oder ein eigenes) Repository verfügbar machen, so kann man sich eines Plugins names **"Plugin Builder 3"** bedienen. Es hilft einem, die Vorgaben für QGIS-Plugins zu erfüllen und generiert am Ende einen "sauberen" Code.
 +
 +<WRAP info>
 +Häufig stellt sich die Frage, was bei der Veröffentlichung eines selbst geschriebenen Plugins **lizenzrechtlich** beachtet werden muss. Kurz: **Ein für QGIS geschriebenes Plugin muss die gleichen lizenrechtlichen Bedingungen erfüllen, wie QGIS selbst**, nämlich [[https://docs.qgis.org/3.4/en/docs/user_manual/appendices/appendices.html|GPL]]! Mehr dazu: http://blog.qgis.org/2016/05/29/licensing-requirements-for-qgis-plugins/
 +</WRAP>
  
-Hat man einen Code erstellt - ob mit dem Graphical Modeler oder händisch - lässt sich der generierte Script jederzeit aus der Python Console ausführen oder in die Toolbox integrieren. Möchte man es aber allen QGIS-Nutzern über das Repository verfügbar machen, so kann man sich eines Plugins names **"Plugin Builder 3"** bedienen. Es hilft einem, die Vorgaben für QGIS-Plugins zu erfüllen und generiert am Ende einen "sauberen" Code.