PyQGISを使用してスタンドアロンPythonスクリプトを作成しますか?


17

私はqgisworkshop.orgからの参照を使用してQGISでPythonコンソールを使用する方法を学んでいます。私はArcGISでスタンドアロンスクリプトを記述することに精通しており、QGISで同じことを行う方法を学びたいと思っています。

たとえば、ArcGIS 10では、シンプルなスタンドアロンPythonスクリプトは次のようになります。

import arcpy 

setFolder = ''

doProcess

QGISのpythonコンソールを使用してこれを行う方法は理解していますが、スタンドアロンスクリプトを使用して同じ手順を実行する例を見つけることができませんでした。しかし、検索に不運だったのではないかと思います。これをオンラインで行う方法の明確な例はありますか?

回答:


15

私はまだQGIS APIに基づくスタンドアロンスクリプトを書いていませんが、PyQGISクックブックは次の初期化を使用します。

まず、qgisモジュールをインポートする必要があります。リソースを検索するQGISパスを設定します(投影、プロバイダーなどのデータベース)。 。initQgis()関数の呼び出しは、QGISが利用可能なプロバイダーを検索できるようにするために重要です。

from qgis.core import *

# supply path to where is your qgis installed
QgsApplication.setPrefixPath("/path/to/qgis/installation", True)

# load providers
QgsApplication.initQgis()

これで、QGIS APIを操作できるようになりました-レイヤーをロードして処理を行うか、マップキャンバスでGUIを起動します。可能性は無限大 :-)

QGISライブラリの使用が完了したら、exitQgis()を呼び出して、すべてがクリーンアップされていることを確認します(マップレイヤーレジストリのクリアやレイヤーの削除など)。

QgsApplication.exitQgis()

1
ありがとう@underdark-それは役に立ちます。from qgis.core import *OSXで作業するのは簡単ではないことがわかったので、このトピックについて新しい質問をする予定です。
djq

ここで別の質問にタグ付けしてすみませんが、qgisモジュールのオンラインドキュメントはありますか?私が見つけることができるのは、C ++ドキュメントに似ているリファレンスですが、Pythonドキュメントへの実際のリンクはありません。
djq

Pythonの仕様はpyQGIS Cookbookにあります。それ以外の場合は、通常のC ++ APIドキュメントに依存できます-それは単に似ているだけでなく、同じです。
暗闇

ubuntuユーザーの場合、インストールパスについてはgis.stackexchange.com/questions/52919/…を参照してください。(「/ usr」です)
パープル氏
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.