LoginSignup
11
5
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【QGIS】CS立体図が最新版のQGISでも作れる!CSMap Pluginを作成しました 🎉

Last updated at Posted at 2024-06-18

sample_6641.png

はじめに

CS立体図を最新版QGIS LTRで作成できるCSMap Pluginを作成しました 🎉

CS立体図を作成できるQGISプラグインではCSMapMakerが長らく使われています。しかし,QGIS 3.30からQGISのインストール時にSAGAが内蔵されなくなったため,SAGAに依存するこのプラグインを使用するには対応のバージョンのQGISを使用する必要がありました。

SAGAに依存せずCS立体図を作成できるツールとして公開されたのがcsmap-pyです。
本プラグインは,csmap-pyのrasterioとnumpyによる変換ロジックを利用しています。

プラグインのインストール

本プラグインは QGIS Python Plugins Repository にて "CSMap Plugin" という名前で公開しています。

QGISの プラグイン > プラグインの管理とインストール... から "CSMap Plugin" と検索してインストールすることができます。

スクリーンショット 2024-06-17 22.52.24.png

Windowsをお使いの方へ

Windows版のQGISでは,プラグインの読み込みエラーが発生する場合があります。
原因は,変換処理に必要なrasterioモジュールがないことにあります。
*プラグインのインストール自体は問題なく完了しています。

スクリーンショット 2024-06-17 233322.png

以下の手順でrasterioをインストール/インポートしましょう!

  • 手順1:QGISでPythonコンソールを起動します。
  • 手順2:!pip install rasterioを実行します(コピペ推奨)。
  • 手順3:QGISを再起動して,再度Pythonコンソールを起動します。
  • 手順4:import rasterio を実行して,プラグイン > プラグインの管理とインストール... から本プラグインにチェックを入れます。

手順2を実行時に以下のような WARNING が赤文字で表示される場合があります。
これは,rasterioが指定されたディレクトリにインストールされていますが,そのディレクトリがシステムのPATH環境変数に含まれていないことを意味しており,コマンドラインやターミナルから rio.exe を直接実行することができない,ということを教えてくれています。
本プラグインを使用するうえでは全く問題のないことなので,無視していただいて構いません。

WARNING: The script rio.exe is installed in. 'C: \Users\<UserName>\AppData|Roaming\Python\Python312\Scripts'.which.is.not.on PATH. Consider・adding・this.directory・to・PATE or,if you.preter・to suppress・this warning,use --no-warn-script-location.

CSMap Pluginを使ってみよう

使用方法は,

  • 入力ファイル:DEM(GDALでサポートされている形式のもの)を選択する
  • 出力ファイル:CS立体図を保存したいディレクトリを選択して,名前をつけて保存する
  • 高度なオプション 及び 処理終了後,自動でウィンドウを閉じる を任意で選択・設定する

以上です!

入力ファイルは1つのファイルのみ選択可能ですが,仮想ラスターに対応しています。
出力ファイルは,name.tifとして出力されます。
高度なオプションは,その意味がわかる方の使用を想定しています。max workersはCPUのスレッド数を最大値の目処として設定してあげると,多少の処理速度向上が見込めます。

スクリーンショット 2024-06-18 0.23.35.png

おわりに

本プラグインに対するご指摘やご要望がありましたら,GitHubのissuesに投稿いただくか,本記事にコメントいただけますと幸いです。
今後の機能改善の参考にさせていただきます。

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5