Ressources d'apprentissage pour PyQGIS? [fermé]

10

Je recherche des ressources pour apprendre PyQGIS.

Il serait intéressant d'avoir une collection de livres ou de sites Web qui fournissent des exemples pratiques pour apprendre la syntaxe ou accomplir des tâches spécifiques.

Idéalement, ces ressources devraient donner une orientation générale aux utilisateurs débutants et expérimentés.

Où trouver des didacticiels QGIS et des ressources Web? est une question très similaire, mais elle donne de l'aide pour apprendre QGIS, et pas spécifiquement PyQGIS (en fait, il n'a pas la balise PyQGIS).

De l'aide?

mgri
la source
Pouvez-vous publier du code pour illustrer votre problème. Il faut en effet un certain effort pour entrer dans les pyqgis. Vos meilleures options sont le livre de recettes et l'api c ++.
Peter Peterson
1
Lisez ceci gis.stackexchange.com/questions/114301/…
Germán Carrillo
1
Cette question me semble en double. Je pense que vous pouvez poster votre réponse ici :)
Germán Carrillo
1
Normalement, je dirais que la question la plus récente (qui est trop large pour des questions et réponses ciblées) devrait être un double de la plus ancienne pour décourager de telles questions. Cependant, dans ce cas, il faudra beaucoup moins de notre effort volontaire pour fusionner l'ancien en celui-ci en tant que wiki verrouillé afin que votre effort d'écriture ne soit pas perdu.
PolyGeo
1
Les questions ciblées des débutants doivent leur fournir des réponses ciblées.
PolyGeo

Réponses:

10

Les ressources de documentation suivantes devraient faciliter votre expérience de développement PyQGIS:

Un diagramme des principales relations PyQGIS (par Thomas Gratier): https://raw.githubusercontent.com/webgeodatavore/qgis-class-diagram/master/diagramme_principal.png

Documentation consultable des classes PyQGIS (par SourcePole): http://geoapis.sourcepole.com

Par exemple, la addFeatureméthode avec laquelle vous avez rencontré des problèmes est décrite ici: http://geoapis.sourcepole.com/qgispyapi/qgsvectorlayer#QgsVectorLayer.addFeature

entrez la description de l'image ici

Comme deuxième exemple, la setAttributeméthode est décrite ici: http://geoapis.sourcepole.com/qgispyapi/qgsfeature#QgsFeature.setAttribute

entrez la description de l'image ici

Germán Carrillo
la source
geoapis.sourcepole.com a une facilité d'utilisation incroyable, mais il n'a pas été mis à jour depuis QGIS 2.8. Y a-t-il des efforts pour maintenir cela, ou documenter comment ce site Web a été construit?
Norwin
Je ne sais vraiment pas, mais maintenant vous avez les documents officiels de l'API PyQGIS : qgis.org/pyqgis/master Donc, je pense que SourcePole ne passerait pas de temps à mettre à jour son site Web PyQGIS. Ce serait une duplication des efforts.
Germán Carrillo
8

Les ressources suivantes donnent une orientation générale pour l'apprentissage ou l'utilisation de PyQGIS et supposent généralement une compétence minimale de travail avec Python.


Versions de QGIS 3.x

  • Documentation API PyQGIS 3 : documentation officielle de l'API Python. La documentation pour chaque version majeure depuis la v3.0 ainsi que la version nocturne est fournie;

  • PyQGIS Developer Cookbook : écrit pour QGIS 2.x, il est progressivement mis à jour vers 3.x. Il peut toujours être utile en tant que tutoriel et guide de référence et donne un bon aperçu des principales fonctionnalités.


Versions de QGIS 2.x

Documentation PyQGIS:

  • PyQGIS Developer Cookbook : introduction officielle à la programmation PyQGIS. Il est destiné à fonctionner à la fois comme un tutoriel et un guide de référence et donne un bon aperçu des principales fonctionnalités;

  • Documentation de l'API PyQGIS : documentation non officielle de l'API Python par SourcePole. Il fournit une interface consultable, mais n'a pas été mis à jour depuis QGIS 2.8;

  • Documentation API QGIS C ++ : documentation officielle de l'API C ++. Tout en décrivant l'API C ++, elle peut être utile pour le développement de pyqgis.

Livres en ligne:

Tutoriels / Blogs / Ressources Web:

  • Nathan Woodrow : un blog principalement sur les trucs de QGIS qui traite également de sujets spécifiques sur l'utilisation de PyQGIS. L'auteur est l'un des développeurs QGIS les plus actifs;

  • nyalldawson.net : un blog avec plusieurs articles sur l'utilisation de PyQGIS. L'auteur est l'un des développeurs QGIS les plus actifs;

  • "How To" dans QGIS : le site fournit quelques suggestions pour résoudre les problèmes à l'aide de PyQGIS. Lorsque cela est possible, ces conseils sont proposés à travers de simples exemples de code. Je suis l'auteur de ce blog;

  • Didacticiels et conseils QGIS : une section de ce blog propose une série de didacticiels pour l'apprentissage des scripts PyQGIS. L'auteur est un spécialiste SIG très expérimenté;

  • Lutra Consulting : une liste de publications, ayant la balise PyQGIS, qui couvrent certains sujets sur PyQGIS.

mgri
la source
2
TOUTES les mises à jour ici? Je crois que QGIS3 est sur le point de sortir.
MartinT
Quelqu'un at-il une idée, quand / si l'un des livres mentionnés ci-dessus (2.x) pourrait être mis à jour en 3.x?
Ville Koivisto
Le titre de Sherman a été mis à jour pour PyQGIS3 (The PyQGIS Programmer's Guide: Extending QGIS 3 with Python 3).
Ville Koivisto
0

Vous ne savez pas ce que vous entendez par entrer dans l'API Python de QGIS? , mais il y a bien sûr une fonction addFeatures (). Cela fonctionne dans 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)

Si vous n'êtes pas satisfait des documents de l'API et du livre de recettes PyQGIS, votre dernière chance est d' examiner les plugins qui fonctionnent - ils sont open source après tout - et vous pouvez facilement voir s'ils fonctionnent en 2.4 ...

Pour améliorer la documentation, le projet accepte volontiers des ressources de toute nature.

obscur
la source
1
même layer.addFeature()si tu veux.
Nathan W
Ma faute. C'est la fonction setAttribute qui a jeté l'erreur - je suppose que je n'étais pas trop attentif après la recherche.
Florian R. Klein,
En regardant le code des plugins existants, voici comment j'ai appris les pyqgis.
warrieka