28.3. QGIS Python コンソール

この章の後半でご覧になるように、QGISはプラグインアーキテクチャで設計されています。プラグインはPythonで書くことができます。Pythonは地理空間分野では非常に有名なプログラミング言語です。

QGIS には、ユーザがオブジェクト(レイヤ、地物、インターフェイス)を対話的に利用できるように、Python API があります(コードのサンプルは PyQGIS 開発者用クックブック を参照して下さい)。また QGIS にはPythonコンソールもあります。

QGIS PythonコンソールはPythonコマンド実行用の対話型シェルです。自分のPythonスクリプトを編集して保存するためのPythonファイルエディタも付属しています。コンソールとエディタはどちらもPyQScintilla2パッケージに基づいています。コンソールを開くには プラグイン ► Python コンソール (Ctrl+Alt+P) を選択します。

28.3.1. 対話型コンソール

対話型コンソールは、ツールバー、入力エリア、および出力エリアから構成されています。

28.3.1.1. ツールバー

ツールバーからは以下のツールを利用することができます。

  • clearConsole コンソールのクリア :出力エリアをクリアします。

  • runConsole コマンドの実行 :入力エリアでのみ使用可能です。 Enter キーを押すのと同じです。

  • showEditorConsole エディタの表示コードエディタ の表示・非表示を切り替えます。

  • options オプション... : コンソールのプロパティを設定するのためのダイアログを開きます( Pythonコンソールの設定 を参照してください)。

  • helpContents ヘルプ... :このドキュメントを閲覧します。

28.3.1.2. コンソール

コンソールの主な機能は以下のとおりです。

  • コード補完、シンタックスハイライト、加えて以下のAPIには入力候補をポップアップで表示します。

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrlキー+Altキー+SpacePythonコンソールの設定 で有効にしている場合は自動補完リストを表示する;

  • キーボード入力し Enter または コマンドを実行 を押して入力領域からコードスニペットを実行します。

  • コンテキストメニューから 選択部分を入力 を使用するか、 Ctrlキー+ E を押して、出力領域からコードスニペットを実行します。

  • UpDown の矢印キーを使用して、入力エリアからコマンド履歴を閲覧して、必要なコマンドを実行します。

  • Ctrlキー+シフト+ Space はコマンド履歴を表示するために:行をダブルクリックしてコマンドを実行します。 コマンド履歴 ダイアログはまた、入力エリアのコンテキストメニューからアクセスできます。

  • コマンドの履歴を保存して消去します。履歴はアクティブな user profile フォルダの下の console_history.txt ファイルに保存されます;

  • QGIS C++ API のドキュメントを _api と入力して開きます;

  • QGIS Python API のドキュメントを _pyqgis と入力して開きます。

  • PyQGIS Cookbook_cookbook と入力して開きます。

Tip

出力パネルから実行済コマンドを再利用します

Ctrlキー+ E いくつかのテキストを選択し、を押すと出力パネルからコードスニペットを実行できます。選択したテキストは、インタープリタプロンプト( >>>, ... )が含​​まれているかどうかは関係ありません。

../../../_images/python_console.png

図 28.15 Python コンソール

28.3.2. コードエディタ

エディタウィジェットを有効にするには showEditorConsole Show Editor ボタンを使います。Pythonファイルの編集と保存が可能で、コードを管理するための高度な機能を提供します (コードのコメントとアンコメント、文法のチェック、GitHub経由でのコードの共有など)。主な機能は以下の通りです:

  • コード補完、シンタックスハイライト、加えて以下のAPIには入力候補をポップアップで表示します。

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrlキー+Space で自動補完のリストを表示。

  • コードスニペットを GitHub 経由で共有する。

  • Ctrl+4 構文チェック。

  • 検索バー(デフォルトのデスクトップ環境のショートカット、通常は Ctrl+F で開きます):

    • 次/前を検索するにはデフォルトのデスクトップ環境のショートカットを使用します( Ctrlキー+ GShiftキー+Ctrlキー+G )。

    • 検索ボックスに入力すると自動的に最初の一致を見つけます。

    • 検索を開くと選択範囲に最初の検索文字列を設定します。

    • Esc を押すと検索バーを閉じます。

  • オブジェクトインスペクタ:クラスと機能ブラウザ。

  • (オブジェクトインスペクタから)マウスでクリックすると、オブジェクトの定義に移動します。

  • コンテキストメニューの runConsole Run Selected コマンドでコードスニペットを実行します;

  • スクリプト全体を start Run Script コマンドで実行します(これにより、拡張子 .pyc のバイトコンパイルされたファイルが作成されます)。

注釈

コードエディタ は部分的または完全にからスクリプトを実行すると、コンソール出力領域に結果を出力します。

../../../_images/python_console_editor.png

図 28.16 Pythonコンソールエディタ

Tip

オプションを保存

コンソールのウィジェットの状態を保存するには、[閉じる]ボタンからPythonコンソールを閉じる必要があります。これにより、次の開始時に復元するためのジオメトリを保存できます。