2024/04/17(水) [n年前の日記]
#1 [prog] QGISを試用中
OpenGLで道路を描画するために、道路データが欲しい。
道路データを自動生成しようかとも思ったけれど、現実世界の道路を描画したほうがいいような気がしてきた。現実世界の道路なら、妙な交差をしてしまったりしないはずだし。しかしそのためには、現実世界の道路データが必要で…。
ググってみたら、QGISなるソフトを利用すればその手のデータを得ることができるらしいので、試用してみることにした。
環境は Windows10 x64 22H2。
道路データを自動生成しようかとも思ったけれど、現実世界の道路を描画したほうがいいような気がしてきた。現実世界の道路なら、妙な交差をしてしまったりしないはずだし。しかしそのためには、現実世界の道路データが必要で…。
ググってみたら、QGISなるソフトを利用すればその手のデータを得ることができるらしいので、試用してみることにした。
環境は Windows10 x64 22H2。
◎ 参考ページ :
_【QGIS】道路を線データとしてダウンロードする方法 - GSI-VTDownloaderを使った道路線データのDL方法を解説!
_QGISで地理院ベクトルタイルをダウンロードするプラグインを作成しました - Qiita
_Kanahiro/GSI-VTDownloader: 地理院ベクトルタイルをレイヤーとして追加するQGISプラグイン
_NetworkXで地理院ベクトルタイルの道路データを使ってネットワーク解析 - Qiita
_QGISで地理院ベクトルタイルをダウンロードするプラグインを作成しました - Qiita
_Kanahiro/GSI-VTDownloader: 地理院ベクトルタイルをレイヤーとして追加するQGISプラグイン
_NetworkXで地理院ベクトルタイルの道路データを使ってネットワーク解析 - Qiita
◎ QGISをインストール :
以下のサイトから、QGIS を入手できる。無料で利用可能。クロスプラットフォームのアプリなので、Windows、Mac、Linux上で動作する。らしい。
_QGISプロジェクトへようこそ!
最初は、QGIS 3.34.5-1 LTR (QGIS-OSGeo4W-3.34.5-1.msi) を入手してインストールしたのだけど、このバージョンは GSI-VTDownloader というプラグインがエラーを出して動かなかった。バグ報告も上がっていて、Shapely なるモジュールが 2.0.0以上になっているとダメらしい。2.0.0未満の Shapely を使っている、古いバージョンのQGISを使うのが手っ取り早い回避策とのこと。
_QGIS 3.28、3.30でメソッド呼び出し時のエラーが発生します - Issue #9 - Kanahiro/GSI-VTDownloader
QGISのダウンロードページの「全てのリリース」を辿って、旧バージョンを入手できる。
_QGISのダウンロード
件のプラグインを紹介しているページの記述によると、QGIS 3.22.10 なら動いていたらしい。バージョンが書かれていて助かった…。ありがたや。QGIS-OSGeo4W-3.22.10-1.msi を入手してインストールし直した。
ちなみに、セットアップファイルは 1.0GB - 1.2GB。インストール後は、2.31GB。かなり容量を食う…。
デスクトップにフォルダが作成されて、中にショートカットファイル群が入ってた。QGIS Desktop 3.22.10 というショートカットファイルをダブルクリックして実行。
_QGISプロジェクトへようこそ!
最初は、QGIS 3.34.5-1 LTR (QGIS-OSGeo4W-3.34.5-1.msi) を入手してインストールしたのだけど、このバージョンは GSI-VTDownloader というプラグインがエラーを出して動かなかった。バグ報告も上がっていて、Shapely なるモジュールが 2.0.0以上になっているとダメらしい。2.0.0未満の Shapely を使っている、古いバージョンのQGISを使うのが手っ取り早い回避策とのこと。
_QGIS 3.28、3.30でメソッド呼び出し時のエラーが発生します - Issue #9 - Kanahiro/GSI-VTDownloader
QGISのダウンロードページの「全てのリリース」を辿って、旧バージョンを入手できる。
_QGISのダウンロード
件のプラグインを紹介しているページの記述によると、QGIS 3.22.10 なら動いていたらしい。バージョンが書かれていて助かった…。ありがたや。QGIS-OSGeo4W-3.22.10-1.msi を入手してインストールし直した。
ちなみに、セットアップファイルは 1.0GB - 1.2GB。インストール後は、2.31GB。かなり容量を食う…。
デスクトップにフォルダが作成されて、中にショートカットファイル群が入ってた。QGIS Desktop 3.22.10 というショートカットファイルをダブルクリックして実行。
◎ GSI-VTDownloader プラグインをインストール :
GSI-VTDownloader プラグインを利用すると、地図を表示して、その範囲の道路データを線情報として取得できるらしい。導入してみる。
プラグイン → プラグインの管理とインストール、を選択。検索欄に「GSI」と打ち込むと、GSI-VTDownloader がリストアップされるので、選択して、「インストール」をクリック。これでインストールできた。
念のために再度書いておくけれど、インストール時にエラーが出る場合は、前述したように QGIS のバージョンが新し過ぎる可能性がある。
プラグイン → プラグインの管理とインストール、を選択。検索欄に「GSI」と打ち込むと、GSI-VTDownloader がリストアップされるので、選択して、「インストール」をクリック。これでインストールできた。
念のために再度書いておくけれど、インストール時にエラーが出る場合は、前述したように QGIS のバージョンが新し過ぎる可能性がある。
◎ QGIS + GSI-VTDownloaderの使い方 :
- 左側のブラウザ上で「XYZ Tiles」 → OpenStreetMap をダブルクリック。
- 世界地図が表示されるので、マウスホイールを回転させて拡大縮小したり、中ボタン(ホイールボタン)ドラッグで位置を変更したりして、目的の場所を表示。
- ツールバー上の黒い日本地図っぽいアイコンをクリックすると、GSI-VTDownloader のダイアログが開く。
- Source-layer で「road 道路(線)」を選び、Zoomlevelを14ぐらいにする。
- 「矩形範囲で実行」を選んで、欲しい場所をマウスドラッグで指定。
- roadというレイヤーができて、道路情報が線で得られたような表示になった。
◎ 必要な部分だけを残す :
欲しい道路部分だけを残した状態にしたい。
まず、roadレイヤーを選んで、ベクタ → 空間演算ツール → 融合 (dissolve)、を選ぶ。これで途切れていた線が繋がるらしい。
「融合ポリゴンの出力」というレイヤーができるので、レイヤー名を右クリックして「編集モード切替」を選ぶか、ツールバー上の黄色い鉛筆っぽいアイコンをクリック。これで頂点を移動したり削除したりできるモードになるらしい。
ツールバー上の「Vertex Tool」のアイコンをクリックすれば、頂点を選択できる状態になる。
マウスドラッグで領域を選択すると、頂点に青い丸がついて選択状態になるので、不要な線を選択してDeleteキーで削除。
これで必要なところだけ残した状態にできた。
さて…この線の座標値をエクスポートするにはどうしたら…。
まず、roadレイヤーを選んで、ベクタ → 空間演算ツール → 融合 (dissolve)、を選ぶ。これで途切れていた線が繋がるらしい。
「融合ポリゴンの出力」というレイヤーができるので、レイヤー名を右クリックして「編集モード切替」を選ぶか、ツールバー上の黄色い鉛筆っぽいアイコンをクリック。これで頂点を移動したり削除したりできるモードになるらしい。
ツールバー上の「Vertex Tool」のアイコンをクリックすれば、頂点を選択できる状態になる。
マウスドラッグで領域を選択すると、頂点に青い丸がついて選択状態になるので、不要な線を選択してDeleteキーで削除。
これで必要なところだけ残した状態にできた。
さて…この線の座標値をエクスポートするにはどうしたら…。
[ ツッコむ ]
以上です。