PyQGISの学習リソース?[閉まっている]


10

PyQGISを学習するためのリソースを探しています。

構文を学習したり特定のタスクを実行したりするためのいくつかの実用的な例を提供する本やウェブサイトのコレクションがあると面白いでしょう。

理想的には、これらのリソースは、初心者と経験豊富なユーザーの両方に一般的なガイダンスを提供する必要があります。

QGISチュートリアルとWebリソースはどこにありますか?は非常によく似た質問ですが、QGISの学習に役立ちます。具体的にはPyQGISではありません(実際、PyQGISタグはありません)。

何か助けは?


問題を説明するためのコードを投稿できますか。実際、pyqgisに入るには多少の努力が必要です。あなたの最良のオプションはクックブックとC ++ APIです。
Peter Peterson


1
私にとって、この質問はその質問の複製のようです。私はあなたがそこにあなたの答えを投稿することができると思います:)
ヘルマン・カリージョ

1
通常、私は新しい質問(焦点を絞ったQ&Aには広すぎる)を古い質問の複製にして、そのような質問をしないようにすべきだと思います。ただし、この場合は、古いWikiをロックされたWikiとしてこのWikiにマージするための自発的な取り組みのほうがはるかに少なくて済みます。
PolyGeo

1
初心者による焦点の合った質問は、彼らに焦点の合った答えを提供するべきです。
PolyGeo

回答:


10

次のドキュメントリソースは、PyQGIS開発エクスペリエンスを容易にするはずです。

主なPyQGIS関係の図(Thomas Gratierによる):https ://raw.githubusercontent.com/webgeodatavore/qgis-class-diagram/master/diagramme_principal.png

PyQGISクラスの検索可能なドキュメント(SourcePoleによる):http ://geoapis.sourcepole.com

たとえば、addFeature問題があったメソッドは次のとおりです:http : //geoapis.sourcepole.com/qgispyapi/qgsvectorlayer#QgsVectorLayer.addFeature

ここに画像の説明を入力してください

2番目の例として、setAttributeメソッドをここで説明します:http : //geoapis.sourcepole.com/qgispyapi/qgsfeature#QgsFeature.setAttribute

ここに画像の説明を入力してください


geoapis.sourcepole.comには優れたユーザビリティがありますが、QGIS 2.8以降は更新されていません。これを維持するための努力、またはこのWebサイトがどのように構築されたかのドキュメントはありますか?
Norwin

本当にわかりませんが、今では公式のPyQGIS APIドキュメントがあります:qgis.org/pyqgis/masterつまり、SourcePoleはPyQGIS Webサイトの更新に時間を費やさないと思います。それは努力の重複でしょう。
ヘルマン・カリージョ

8

次のリソースは、PyQGISを学習または使用するための一般的なガイダンスを提供し、一般にPythonの操作に関する最低限の能力を前提としています。


QGIS 3.xバージョン

  • PyQGIS 3 APIドキュメント:Python APIの公式ドキュメント。v3.0以降の各メジャーリリースのドキュメントとナイトリーバージョンが提供されます。

  • PyQGIS Developer Cookbook:QGIS 2.x用に書かれ、徐々に3.xに更新されます。チュートリアルやリファレンスガイドとしても役立つ場合があり、主要な機能の概要がわかります。


QGIS 2.xバージョン

PyQGISドキュメント:

  • PyQGIS開発者クックブック:PyQGISプログラミングの公式紹介。これは、チュートリアルとリファレンスガイドの両方として機能することを目的としており、主要な機能の概要を示しています。

  • PyQGIS APIドキュメントSourcePoleによる Python APIの非公式ドキュメント。検索可能なインターフェイスを提供しますが、QGIS 2.8以降は更新されていません。

  • QGIS C ++ APIドキュメント:公式のC ++ APIドキュメント。C ++ APIについて説明しながら、それはpyqgis開発に役立ちます。

オンラインブック:

チュートリアル/ブログ/ Webリソース:

  • Nathan Woodrow:主にQGISに関するブログ。PyQGISの使用に関する特定のトピックも扱います。著者は、最もアクティブなQGIS開発者の1人です。

  • nyalldawson.net:PyQGISの使用に関するいくつかの投稿が掲載されているブログ。著者は、最もアクティブなQGIS開発者の1人です。

  • QGISの「ハウツー」:このサイトでは、PyQGISを使用して問題を解決するためのいくつかの提案を提供しています。可能な場合、これらのヒントは単純なコードサンプルを通じて提供されます。私はこのブログの作成者です。

  • QGISチュートリアルとヒント:このブログのセクションでは、PyQGISスクリプトを学習するための一連のチュートリアルを提供しています。著者は非常に経験豊富なGISスペシャリストです。

  • Lutra Consulting:PyQGISに関するいくつかのトピックをカバーする、PyQGISタグを持つ投稿のリスト。


2
ここで更新しますか?QGIS3はリリースに近いと思います。
MartinT 2017

上記の書籍(2.x)のいずれかが3.xに更新される可能性がある場合、または誰かがアイデアを持っていますか?
Ville Koivisto

シャーマンのタイトルがPyQGIS3(PyQGISプログラマーズガイド:Python 3によるQGIS 3の拡張)に合わせて更新されました。
Ville Koivisto

0

QGISのPython APIアクセスすることの意味がわかりませんか?ですが、もちろんaddFeatures()関数があります。これは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)

APIドキュメントとPyQGISクックブックに不満がある場合、最後のチャンスは動作しているプラ​​グイン調べることです-結局、それらはオープンソースです-そして、2.4で動作するかどうか簡単に確認できます...

ドキュメントを改善するために、プロジェクトはあらゆる種類のリソースを喜んで受け入れます。


1
layer.addFeature()あなたが望むとしても。
Nathan W

私の悪い。エラーをスローしたのはsetAttribute-functionでした-おそらく、検索後はあまり気にしていませんでした。
Florian R. Klein

既存のプラグインのコードを見ると、私はpyqgisをどのように学んだかです。
warrieka '19
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.