QGIS3のプラグインをVisualStudioでデバッグするための設定

このページでは、QGISプラグインをVisualStudioを使ってデバッグができるように設定していきます。デバッグに使ったプラグインは「QGIS3 Plugin Builderでプラグイン作成」で作成したものを使用しています。

QGISをインストールした環境でPythonプログラミングするための環境設定が未だ済んでいない場合は「QGIS3 Pythonプログラミングのための設定」のページで紹介している設定を行ってください。


Python開発環境をインストールする

インストーラーを起動する

f:id:Chiakikun:20190429142435p:plain

Visual Studio Installerが起動したら、『Python 開発』を選択します。今回はQGISのインストール時に付属しているPythonを使いたいので、オプションの赤丸部分の選択は全て解除します。解除したら、『変更』ボタンを押下します。

 

ダイアログが出てきたら

f:id:Chiakikun:20180825123315p:plain

途中、上のようなダイアログが出てくる場合があります。この場合、VisualStudioを閉じてから、ダイアログの『続行』ボタンを押下してください。

 

Pythonを選択する

f:id:Chiakikun:20190429142706p:plain

VisualStudioを起動してみて、『言語』→『Python』を選択すると、項目が増えています。これでVisualStudioにPython開発環境がインストールされました。


プラグインをVisualStudioに読み込ませる

プラグインのソリューションファイルを作成する

f:id:Chiakikun:20190429143013p:plain

QGIS3 Plugin Builderでプラグイン作成」で作成したプラグインのソリューションファイルを作成します。VisualStudioを起動して、メニューの『新しいプロジェクトの作成』を選択し、『言語』→『Python』を選択します。表示された項目の中から、『既存のPythonコードから』を選択します。

プラグインを選択する

f:id:Chiakikun:20190429143320p:plain

場所には「QGIS3 Plugin Builderでプラグイン作成」で作成したプラグインの保存先を指定します。
 

 

f:id:Chiakikun:20190429143502p:plain

『完了』ボタンを押下します。


QGISPython環境を取り込む

Python環境を追加する

f:id:Chiakikun:20190429143545p:plain

f:id:Chiakikun:20190429143801p:plain

読み込みに成功すると、ソリューションエクスプローラーにプラグインのファイルが全部表示されます。次にQGISに付属のPython環境をVisualStudioで使うための設定をします。Python環境を右クリックして『環境を追加』を選択します。

 

QGISに付属のPythonのパスを設定する

f:id:Chiakikun:20190429144213p:plain

『既存の環境』を選択します。

 

f:id:Chiakikun:20190429144259p:plain

プレフィックスPython.exeが置かれているパスを指定します。QGIS3.6.1では「C:\Program Files\QGIS 3.6\apps\Python37」に置かれています。プレフィックスの設定に成功すると、他の項目が自動で設定されます。


QGISのモジュール設定

モジュールが見つからない

f:id:Chiakikun:20190429151505p:plain

test_plugin.pyのコードを開くと、qgiscoreライブラリが見つけられていないので、設定します。

 

検索パスを追加

f:id:Chiakikun:20190429155007p:plain

ソリューションエクスプローラーの『検索パス』を右クリックして、『フォルダーを検索パスに追加』を選択します。選択ダイアログが表示されたら、QGIS3.6の場合は「C:\Program Files\QGIS 3.6\apps\qgis\python」を選択します。成功すると、ソースコードqgis.coreの下のニョロニョロが消えます。


デバッグ

プロセスにアタッチ

f:id:Chiakikun:20190429155439p:plain

QGISを起動した状態で、VisualStudioの『デバッグ』→『プロセスにアタッチ』を選択します。

f:id:Chiakikun:20190429155610p:plain

qgis-bin.exeを選択してアタッチボタンを押下します。

 

ブレークポイントを設置する

f:id:Chiakikun:20190429155655p:plain

適当なところにブレークポイントを置きます。

 

ブレークポイントで止めてみる

f:id:Chiakikun:20190429155757p:plain

QGISに戻ってプラグインを実行してみます。すると...

 

f:id:Chiakikun:20190429155840p:plain

ブレークポイントのところで止まりました。


Visual Studio Codeデバッグする場合

Pythonのパス設定

まずはQGISと一緒にインストールされているPython環境変数PATHに追加します。方法はこちらを参考にしてください。

chiakikun.hatenadiary.com

VSCodeプラグインのフォルダを開く

次にデバッグしたいプラグインがインストールされているフォルダを調べて...

 

VSCodeでそのフォルダを開きます。左のウィンドウから拡張子が.pyのファイルを選択すると、Python拡張機能のインストールをお勧めされます。

VSCodePython拡張をインストールする

お勧めされた拡張機能をインストールします。

 

インストール後、PythonVSCodeに認識されていれば、右下にこのように表示がされます。

デバッグを実行する

QGISを起動した状態で、VSCodeでF5キーを押してデバッグしてみます。すると上のようなウィンドウが表示されるので「プロセスIDを使用して接続する」を選択します。

 

QGISのプロセスを選択します。検索窓で「q」と入力すると、QGISが一番上に表示されると思います。

 

こんな感じになっていればOKです。適当な場所にブレークポイントを置いて...

 

QGISに戻ってプラグインを実行します。

 

正常に設定されていれば、このようにブレークポイントプラグインが止まります。

launch.jsonを作成する

左のウィンドウに「launch.jsonファイルを作成します」と表示されているので、クリックすると...

 

デバッグ構成を選択するウィンドウが表示されるので、「プロセスIDを使用して接続する」を選択します。

 

すると上のようなlaunch.jsonが作成されます。


 

お疲れ様でした。

Visual Studio 2017のインストール手順

このページでは、マイクロソフトのソフトウェア開発環境『Visual Studio 2017 Community』をインストールするための手順をご紹介します。この開発環境は、条件付ですが、無料で使用することができます。Communityエディションについてはこちらに詳しい説明があります。 


インストーラーをダウンロードする

ダウンロードサイト

f:id:Chiakikun:20180525000927p:plain

Visual Studioダウンロードページの、赤丸の部分を選択します。

 

ファイルを保存する

f:id:Chiakikun:20180526125403p:plain

しばらく待っているとダイアログが表示されるので、『ファイルを保存』ボタンを押下します。

 


インストーラーを実行する

ファイルを開く

f:id:Chiakikun:20180526125511p:plain

ダウンロードしたファイルを開きます。

 

インストールを開始する

f:id:Chiakikun:20180526130542p:plain

f:id:Chiakikun:20180526132519p:plain

インストーラを実行するとダイアログが表示されるので、『続行』ボタンを押下します。

 

必要なデータがダウンロードされる

f:id:Chiakikun:20180526132534p:plain

インストールの準備をしています。少し時間がかかりますので、しばらくお待ち下さい。

 

プログラミング環境を選択する

f:id:Chiakikun:20180526132550p:plain

私はC#というプログラミング言語を使いたかったので、赤丸で囲った部分の『.NETデスクトップ開発』を選択しました。

インストールする環境を選択したら『インストール』ボタンを押下します。

 

インストール完了

f:id:Chiakikun:20180526142550p:plain

インストールが無事完了すると、サインインのダイアログが出ます。ここでは『後で』を選択しました。

 


Visual Studioを使ってみる

テーマを選択

f:id:Chiakikun:20180526132621p:plain

好みの外観を選択したら、『Visual Studioの開始』ボタンを押下します。

 

起動

f:id:Chiakikun:20180526132645p:plain

VisualStudioが起動しました。

 

プロジェクト作成

f:id:Chiakikun:20180526132703p:plain

動作確認のため、簡単なプログラムを作成してみます。メニューからプロジェクトを新規作成します。

 

f:id:Chiakikun:20180526132717p:plain

プログラミング言語C#を使ってみます。プロジェクトの場所はD:\sampleに変更しました。通常はそのままでも良いと思います。

 

ボタンを貼り付ける

f:id:Chiakikun:20180526143249p:plain

開発画面にフォームだけが表示されています。このフォームにボタンを貼り付けてみます。赤丸部分の『ツールボックス』をクリックします。

 

f:id:Chiakikun:20180526143349p:plain

『Button』を選択したら、フォームの適当な場所をクリックします。すると、ボタンがフォームに貼り付けられます。

 

コードを書く

f:id:Chiakikun:20180526132837p:plain

貼り付けたボタンをダブルクリックすると、ソースコードが表示されます。

 

f:id:Chiakikun:20180526132920p:plain

testと書かれたメッセージボックスを表示させてみます。赤丸部分に次のコードを入力してください。

MessageBox.show("test");

 

プログラムを実行してみる

f:id:Chiakikun:20180526144327p:plain

F5キーを押すとコンパイルされてプログラムが実行されます。

問題無ければ、ボタンが一つのフォームが表示されます。ボタンをクリックします。

 

f:id:Chiakikun:20180526133002p:plain

testと書かれたメッセージボックスが表示されましたでしょうか?


最後までご覧いただき、ありがとうございました。

QGIS3で地理院地図を追加する方法

このページでは、国土地理院が提供する地理院地図をQGIS 3で表示するための設定方法を紹介しています。このページで紹介している方法は、バージョン3.0、3.2、3.6で試した方法です。QGIS 3を初めてインストールされる方は、こちらの記事もご覧ください。

chiakikun.hatenadiary.com


ブラウザが表示されていない場合

ブラウザを表示

f:id:Chiakikun:20180928171052p:plain

上の画像の赤四角で囲まれた部分のウィンドウが表示されていない場合は表示させます。

 

f:id:Chiakikun:20180811125354p:plain

メニューの『ビュー』→『パネル』→『ブラウザ』と選択していくと、ブラウザが表示されます。


タイルを追加する

設定ダイアログを表示

f:id:Chiakikun:20180811125427p:plain

ブラウザの『XYZ Tiles』を右クリックすると『New Connection...』と表示されるので

選択します。

URLを設定する

f:id:Chiakikun:20180811125502p:plain

名前は適当に入力してください。URLは、ここでは次のようにしました。

https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png

上記の他、使いたい地理院地図のURLは下記のサイトから選んで下さい。

https://maps.gsi.go.jp/development/ichiran.html


地理院地図を表示する

登録したタイルを選択

f:id:Chiakikun:20180811125530p:plain

URLを設定するで設定した名前が追加されているので、その名前を右クリックして、「選択したレイヤをキャンパスに追加」を選択します。設定が正しければ地理院地図が表示されます。

結果

f:id:Chiakikun:20180512180322p:plain

無事、表示されましたでしょうか?