a_hamada/ 2023年 6月 20日/ 技術

こんにちは!濱田です!
札幌もだんだん暑くなってきてもうすぐ夏ですね。

さて今回も前回に引き続きQGISについて書いていきたいと思います。
前回北海道全域の河川の情報をQGISに読み込みましたが、北海道全域となるとかなりデータ量が多くなってしまってQGISの動作が重くなったりします。
なので今回は地図上で一部の使いたい部分のみ別の地図データとして出力する方法をご紹介します。

はじめに

まずは地図上の地物の選択に便利なプラグインがあるので、そのインストール方法からご紹介します。
QGISの上部メニューから「プラグイン」→「プラグインの管理とインストール」をクリックします。

プラグイン

すると画像のようなプラグインのダイアログが表示されるので、検索ボックスに「multilayer」と入力します。
検索結果に「Multilayer Select」というプラグインがヒットすると思うので、そのプラグインを選択して「インストール」をクリックします。
インストールが完了したらプラグインのダイアログを閉じます。

プラグインダイアログ

上部メニューのツールバーの3段目に下記画像のようなアイコンが表示されていればインストール完了です。

Multilayerselectアイコン

Multilayer Selectの説明

実践の前に先ほどの工程でインストールしたプラグインの「Multilayer Select」について軽くご説明します。
機能としては名前の通りでQGISで描画した複数のレイヤを同時に選択するためのプラグインです。
QGISにもデフォルトで地物を選択する機能はあるのですがそれだと複数レイヤの地物を一度に選択することはできません。
そんな時に役に立つのがこの「Multilayer Select」のプラグインです。
今回のタイトル同様大きな地図データを、もう少し狭い範囲に縮小した地図データとして取り出したい場合などにとても重宝します。

「Multilayer Select」の地物の選択方法は4つ用意されていて
1.四角の図形を描画してその内側の地物を選択する
2.円形の図形を描画してその内側の地物を選択する
3.多角形の頂点を打っていき最終的にその頂点を結んだ多角形の内側にある地物を選択する
4.フリーハンドで枠線を描画していきその内側にある地物を選択する
があります。

その中でも1.2.3.についてはある程度大まかな選択を行う場合に便利で、1.2.よりも3.の方が細かく選択することができます。
4.に関しては実際に手で選択する範囲を描画するので4つの選択方法の中で一番細かく地物を選択することができます。

地図データに出力する地物を選択する

さてプラグインの説明はこのくらいにして実際に抽出する地図の選択を行っていきます。
これで今回のメインテーマの地図上のデータの範囲選択の準備ができて、「Multilayer Select」についてもざっくりと理解していただけたかなと思います。
ここから実際に選択の仕方を説明していきます。
今回は先ほど説明した4.のフリーハンドの選択方法で選択を行ってみようと思います。

先ほどインストールしたプラグインの左端のアイコンのプルダウンメニューをクリック
その中から「Select Features by freehand」を選択します。
選択(フリーハンド)

この状態で地図データの上にマウスカーソルを置くとこれまでと違うアイコンに変化します。
では実際に抽出する範囲を選択していきます。
今回は北海道全域の河川データから札幌近郊のデータを抽出してみます。
地図データの表示部分の任意の場所を左クリックすると選択範囲の始点を設定できるので、後はマウスカーソルの移動で選択していきます。
最後にもう一度左クリックをすると選択範囲を確定できます。
選択範囲を確定すると画像のように選択した箇所の色が変わります。
(選択範囲がものすごくざっくりですみません…)
ちなみにですが私もこのブログを書いているときに試して知ったのですが、「Multilayer Select」で地物の選択を行うときに同時に選択したいレイヤのいずれかが非表示になっていると
せっかく選択してもそのレイヤは選択されていないのでご注意ください。

札幌市選択後

画像だとちょっとわかりにくいのですが表示中の前回追加した札幌市観光地のレイヤと
河川の点情報のレイヤと河川の線情報のレイヤすべてのの色が変わっていると思います。
まさにこれが「Multilayer Select」の便利な部分です。
ここから点情報のレイヤと線情報のレイヤの選択部分のみ別ファイルに出力していきます。

選択範囲を別ファイルに出力

ここから説明する手順は以前のQGISについてのブログでも似たようなことを紹介していますが、改めてご説明します。
まず出力するレイヤを選択します。
今回は点情報のレイヤで実践します。
レイヤ名のところで右クリック→「新規ファイルに選択地物を保存」を選択します。

新規ファイルに選択地物を保存

ベクタレイヤ保存ウィンドウが表示されますので形式を「ESRI Shapefile」、ファイル名には任意の名前を設定、座標参照系に「EPSG:4301」を設定して
エクスポートするフィールドすべてにチェックを入れて「OK」をクリックします。
(保存されたファイルを地図に追加にチェックを入れておくと出力したファイルを確認するのに便利です。)

レイヤ保存ダイアログ

出力したファイルを読み込んで画像のように選択した範囲と同じように出力されていればエクスポート成功です。
その他の選択したレイヤも同様の方法でエクスポートすることができます。

rivernodeエクスポート後

まとめ

今回は読み込んだ地図データから選択した一部を別ファイルに出力する方法について書いてきました。
「Multilayer Select」などかなり便利で、前回紹介した属性テーブルを使えば選択した範囲の特定の属性値を変えるなどもできるので使ってみていただけるとうれしいです。

次回のテーマはまだちょっと未定ですが書きたいことがあればまたQGISについて書くかもしれません。
それではまた!

About a_hamada

2020年9月からWebプログラマに転向した半人前 日々勉強することばかり。 最近使っている言語はもっぱらPython