Lernressourcen für PyQGIS? [geschlossen]

10

Ich suche nach Ressourcen zum Erlernen von PyQGIS.

Es wäre interessant, eine Sammlung von Büchern oder Websites zu haben, die einige praktische Beispiele zum Erlernen der Syntax oder zum Ausführen bestimmter Aufgaben enthalten.

Im Idealfall sollten diese Ressourcen sowohl Anfängern als auch erfahrenen Benutzern eine allgemeine Anleitung geben.

Wo finden Sie QGIS-Tutorials und Webressourcen? ist eine sehr ähnliche Frage, aber sie hilft beim Erlernen von QGIS und nicht speziell von PyQGIS (tatsächlich hat es kein PyQGIS-Tag).

Irgendeine Hilfe?

mgri
quelle
Können Sie einen Code posten, um Ihr Problem zu veranschaulichen? Es erfordert in der Tat einige Anstrengungen, um in Pyqgis zu gelangen. Ihre besten Optionen sind das Kochbuch und die c ++ - API.
Peter Peterson
1
Lesen Sie diese gis.stackexchange.com/questions/114301/…
Germán Carrillo
1
Für mich scheint diese Frage ein Duplikat dieser Frage zu sein. Ich denke, Sie könnten Ihre Antwort dort posten :)
Germán Carrillo
1
Normalerweise würde ich sagen, dass die neuere Frage (die für gezielte Fragen und Antworten zu weit gefasst ist) ein Duplikat der älteren Frage sein sollte, um solche Fragen zu unterbinden. In diesem Fall ist jedoch viel weniger freiwilliger Aufwand erforderlich, um den älteren als gesperrtes Wiki in dieses zu integrieren, damit Ihr Aufwand beim Schreiben nicht verloren geht.
PolyGeo
1
Fokussierte Fragen von Anfängern sollten fokussierte Antworten für sie liefern.
PolyGeo

Antworten:

10

Die folgenden Dokumentationsressourcen sollten Ihre PyQGIS-Entwicklungserfahrung vereinfachen:

Ein Diagramm der wichtigsten PyQGIS-Beziehungen (von Thomas Gratier): https://raw.githubusercontent.com/webgeodatavore/qgis-class-diagram/master/diagramme_principal.png

Durchsuchbare Dokumentation von PyQGIS-Klassen (von SourcePole): http://geoapis.sourcepole.com

Die addFeatureMethode , mit der Sie Probleme hatten, wird beispielsweise hier beschrieben: http://geoapis.sourcepole.com/qgispyapi/qgsvectorlayer#QgsVectorLayer.addFeature

Geben Sie hier die Bildbeschreibung ein

Als zweites Beispiel wird die setAttributeMethode hier beschrieben: http://geoapis.sourcepole.com/qgispyapi/qgsfeature#QgsFeature.setAttribute

Geben Sie hier die Bildbeschreibung ein

Germán Carrillo
quelle
geoapis.sourcepole.com bietet eine erstaunliche Benutzerfreundlichkeit, wurde jedoch seit QGIS 2.8 nicht aktualisiert. Gibt es Bemühungen, dies aufrechtzuerhalten, oder die Dokumentation, wie diese Website erstellt wurde?
Norwin
Ich weiß es wirklich nicht, aber jetzt haben Sie die offiziellen PyQGIS-API-Dokumente: qgis.org/pyqgis/master Ich denke, SourcePole würde keine Zeit damit verbringen, ihre PyQGIS-Website zu aktualisieren. Das wäre eine Doppelarbeit.
Germán Carrillo
8

Die folgenden Ressourcen enthalten allgemeine Anleitungen zum Erlernen oder Verwenden von PyQGIS und setzen im Allgemeinen Mindestkenntnisse in der Arbeit mit Python voraus.


QGIS 3.x-Versionen

  • PyQGIS 3 API-Dokumentation : Offizielle Dokumentation der Python-API. Die Dokumentation für jede Hauptversion seit Version 3.0 sowie die nächtliche Version wird bereitgestellt.

  • PyQGIS Developer Cookbook : Für QGIS 2.x geschrieben, wird es schrittweise auf 3.x aktualisiert. Es kann dennoch als Tutorial und Referenzhandbuch hilfreich sein und gibt einen guten Überblick über die wichtigsten Funktionen.


QGIS 2.x-Versionen

PyQGIS-Dokumentation:

  • PyQGIS Developer Cookbook : offizielle Einführung in die PyQGIS-Programmierung. Es soll sowohl als Lernprogramm als auch als Referenz dienen und bietet einen guten Überblick über die wichtigsten Funktionen.

  • PyQGIS-API-Dokumentation : Inoffizielle Dokumentation der Python-API durch SourcePole. Es bietet eine durchsuchbare Oberfläche, wurde jedoch seit QGIS 2.8 nicht aktualisiert.

  • QGIS C ++ API-Dokumentation : Offizielle C ++ API-Dokumentation. Bei der Beschreibung der C ++ - API kann sie für die Pyqgis-Entwicklung hilfreich sein.

Online-Bücher:

  • Sherman G. (2014). Das PyQGIS-Programmierhandbuch : Erweitern von QGIS 2.x mit Python;

  • Westra E. (2014). Erstellen von Mapping-Anwendungen mit QGIS : Sowohl für Anfänger als auch für erfahrene Python-Entwickler behandelt dieses Buch viele Themen zur Verwendung von PyQGIS, einschließlich der Erstellung von QGIS-Plugins und der Verwendung von QGIS in einer externen Anwendung.

  • Lawhead J. (2015). QGIS Python Programming Cookbook : 140 Rezepte zum Lernen und Automatisieren von Geodaten-Workflows;

  • Menke K., Richard S., Pirelli L. (2015). Beherrschen von QGIS : Einige Abschnitte enthalten praktische, schrittweise Beispiele für das Kennenlernen von PyQGIS.

  • Graser A. (2016). Lernen von QGIS - Dritte Ausgabe : Ein Abschnitt ist ausschließlich der Skripterstellung von QGIS mit Python gewidmet, angefangen von der Basis bis hin zur fortgeschritteneren Verwendung der verschiedenen verfügbaren Tools.

  • Lawhead J. (2017). QGIS Python Programming Cookbook - Zweite Ausgabe : Dieses Buch enthält ein vollständiges Code-Upgrade auf QGIS 2.18 und 30 neue Rezepte.

Tutorials / Blogs / Webressourcen:

  • Nathan Woodrow : Ein Blog, der sich hauptsächlich mit QGIS befasst und sich auch mit bestimmten Themen zur Verwendung von PyQGIS befasst. Der Autor ist einer der aktivsten QGIS-Entwickler.

  • nyalldawson.net : Ein Blog mit mehreren Beiträgen zur Verwendung von PyQGIS. Der Autor ist einer der aktivsten QGIS-Entwickler.

  • "How To" in QGIS : Die Website enthält einige Vorschläge zur Lösung von Problemen mit PyQGIS. Wenn möglich, werden diese Tipps anhand einfacher Codebeispiele angeboten. Ich bin der Autor dieses Blogs.

  • QGIS-Tutorials und -Tipps : Ein Abschnitt dieses Blogs enthält eine Reihe von Tutorials zum Erlernen von PyQGIS-Skripten. Der Autor ist ein sehr erfahrener GIS-Spezialist.

  • Lutra Consulting : Eine Liste von Posts mit dem PyQGIS-Tag, die einige Themen zu PyQGIS abdecken.

mgri
quelle
2
Irgendwelche Updates hier? Ich glaube, QGIS3 steht kurz vor der Veröffentlichung.
MartinT
Hat jemand eine Idee, wann / ob eines der oben genannten Bücher (2.x) auf 3.x aktualisiert werden könnte?
Ville Koivisto
Shermans Titel wurde für PyQGIS3 aktualisiert (PyQGIS Programmer's Guide: Erweitern von QGIS 3 mit Python 3).
Ville Koivisto
0

Sie sind sich nicht sicher, was Sie unter Einstieg in die Python-API von QGIS meinen ? , aber es gibt natürlich eine Funktion addFeatures (). Dies funktioniert in QGIS 2.4:

mem_layer = QgsVectorLayer("Polygon?crs=epsg:4326&field=MYNUM:integer&field=MYTXT:string", "temp_layer", "memory")

if not mem_layer.isValid(): raise Exception("Failed to create memory layer")

mem_layer_provider = mem_layer.dataProvider()

my_polygon = QgsFeature()
my_polygon.setGeometry(QgsGeometry.fromRect(QgsRectangle(16,48,17,49)))
my_polygon.setAttributes([10,"hello world"])

mem_layer_provider.addFeatures([my_polygon])

mem_layer.updateExtents()
QgsMapLayerRegistry.instance().addMapLayer(mem_layer)

Wenn Sie mit den API-Dokumenten und dem PyQGIS-Kochbuch nicht zufrieden sind, besteht Ihre letzte Chance darin, sich mit funktionierenden Plugins zu befassen - sie sind schließlich Open Source - und Sie können leicht sehen, ob sie in 2.4 funktionieren ...

Um die Dokumentation zu verbessern, akzeptiert das Projekt gerne Ressourcen jeglicher Art.

unterdunkel
quelle
1
auch layer.addFeature()wenn du willst.
Nathan W
Mein Fehler. Es war die setAttribute-Funktion, die den Fehler ausgelöst hat - ich glaube, ich war nach der Suche nicht allzu aufmerksam.
Florian R. Klein
Wenn ich mir den Code der vorhandenen Plugins anschaue, habe ich Pyqgis gelernt.
Warrieka