重要
翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 100.00% 翻訳されています。
29.3. QGIS Python コンソール
この章の後半でご覧になるように、QGISはプラグインアーキテクチャで設計されています。プラグインはPythonで書くことができます。Pythonは地理空間分野では非常に有名なプログラミング言語です。
QGIS には、ユーザがオブジェクト(レイヤ、地物、インターフェイス)を対話的に利用できるように、Python API があります(コードのサンプルは PyQGIS 開発者用クックブック を参照して下さい)。また QGIS にはPythonコンソールもあります。
QGIS PythonコンソールはPythonコマンド実行用の対話型シェルです。自分のPythonスクリプトを編集して保存するためのPythonファイルエディタも付属しています。コンソールとエディタはどちらもPyQScintilla2パッケージに基づいています。コンソールを開くには
(Ctrl+Alt+P) を選択します。29.3.1. 対話型コンソール
コンソールはPythonインタープリターであり、Pythonコマンドを実行することができます。QGIS(analysis、core、gui、server、processing、3D)およびQt(QtCore、QtGui、QtNetwork、QtWidgets、QtXml)のモジュール、ならびにPythonのmath、os、re、sysモジュールはすでにインポートされており、直接使用することができます。
対話型コンソールは、ツールバー、入力エリア、および出力エリアから構成されています。
29.3.1.1. ツールバー
ツールバーからは以下のツールを利用できます:
エディタの表示 : コードエディタ の表示・非表示を切り替えます。
オプション... : コンソールのプロパティ を設定するためのダイアログを開きます;
29.3.1.2. 入力エリア
コンソール入力エリアの主な機能は以下のとおりです:
コード補完、シンタックスハイライト、加えて以下のAPIには入力候補をポップアップで表示します:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrlキー+Altキー+Space : Pythonコンソールの設定 で有効にしている場合は自動補完リストを表示する;
キーボード入力し Enter または コマンドを実行 を押して入力エリアからコードスニペットを実行します;
コンテキストメニューから 選択部分を入力 を使用するか、 Ctrlキー+ E を押して、出力エリアからコードスニペットを実行します;
Up と Down の矢印キーを使用して、入力エリアからコマンド履歴を閲覧して、必要なコマンドを実行します。
Ctrlキー+シフト+ Space はコマンド履歴を表示するために:行をダブルクリックしてコマンドを実行します。 コマンド履歴 ダイアログはまた、入力エリアのコンテキストメニューからアクセスできます。
コマンド履歴を保存して消去します。履歴はアクティブな user profile フォルダの下の
console_history.txt
ファイルに保存されます;以下の特殊コマンドを入力します:
?
はPythonコンソールのヘルプを表示します_api
は QGIS C++ API ドキュメントを開き、_api(object)
は特定のオブジェクトのドキュメント(QGIS C++ API または Qt API ドキュメント)を開きます_pyqgis
は QGIS Python API ドキュメントを開き、_pyqgis(object)
は特定のオブジェクトのドキュメント(QGIS Python API または Qt API ドキュメント)を開きます_cookbook
は PyQGIS Cookbook を開きます。!
にコマンドを続けるとPythonコンソールからシェルコマンドを実行します。コンソールはサブプロセスを開始し、その出力をPythonコンソール出力に転送します。サブプロセスが実行されている間、Pythonコンソール入力はSTDINモードに切り替わり、入力された文字を子プロセスに転送します。これにより、子プログラムが確認を要求する場合に、それを送ることができます。コンソールがSTDINモードの場合、Ctrlキー+C を押すとサブプロセスが終了します。また、構文var = !cmd
により、コマンドの結果を変数に反映させることもできます>>> !echo QGIS Rocks! QGIS Rocks >>> !gdalinfo --version GDAL 3.6.2, released 2023/01/02 >>> !pip install black # Install black python formatter using pip (if available) >>> sql_formats = !ogrinfo --formats | grep SQL >>> sql_formats ['SQLite -vector- (rw+v): SQLite / Spatialite', ' MSSQLSpatial -vector- (rw+): Microsoft SQL Server Spatial Database', ' PostgreSQL -vector- (rw+): PostgreSQL/PostGIS', ' MySQL -vector- (rw+): MySQL', ' PGDUMP -vector- (w+v): PostgreSQL SQL dump']
Tip
出力パネルから実行済コマンドを再利用します
いくつかのテキストを選択し、Ctrlキー+ E を押すと出力パネルからコードスニペットを実行できます。選択したテキストにインタープリタのプロンプト( >>>
, ...
)が含まれていても問題ありません。
29.3.2. コードエディタ
エディタウィジェットを有効にするには エディタの表示 ボタンを使います。Pythonファイルの編集と保存が可能で、コードを管理するための高度な機能を提供します (コードのコメントとアンコメント、文法のチェック、GitHub経由でのコードの共有など)。主な機能は以下の通りです:
コード補完、シンタックスハイライト、加えて以下のAPIには入力候補をポップアップで表示します:
Python
PyQGIS
PyQt5
QScintilla2
osgeo-gdal-ogr
Ctrlキー+Space で自動補完のリストを表示。
コードスニペットを GitHub 経由で共有する。
Ctrl+4 構文チェック。
検索バー(デフォルトのデスクトップ環境のショートカット、通常は Ctrl+F で開きます):
次/前を検索するにはデフォルトのデスクトップ環境のショートカットを使用します( Ctrlキー+ G と Shiftキー+Ctrlキー+G )。
検索ボックスに入力すると自動的に最初の一致を見つけます。
検索を開くと選択範囲に最初の検索文字列を設定します。
Esc を押すと検索バーを閉じます。
オブジェクトインスペクタ:クラスと機能ブラウザ。
(オブジェクトインスペクタから)マウスでクリックすると、オブジェクトの定義に移動します。
スクリプト全体を Run Script コマンドで実行します(これにより、拡張子
.pyc
のバイトコンパイルされたファイルが作成されます)。
注釈
コードエディタ は部分的または完全にからスクリプトを実行すると、コンソール出力領域に結果を出力します。
Tip
オプションを保存
コンソールのウィジェットの状態を保存するには、[閉じる]ボタンからPythonコンソールを閉じる必要があります。これにより、次の開始時に復元するためのジオメトリを保存できます。