TOPIC 5|GISで活用する[1/3]|QGISを使ったPLATEAUの活用
GISを使うと、位置情報を含む情報を、位置や距離などの空間的性質を用いて分析する空間解析ができます。オープンソースのGISである「QGIS」と商用GISの「ArcGIS」を使って、PLATEAUの3D都市モデルを活用する方法を説明します。
TOPIC 5:GISで活用する
このトピックでは、オープンソースのGISである「QGIS」と商用GISの「ArcGIS」を使って、PLATEAUの3D都市モデルを活用する方法を説明します。
【目次】
5.1 GISでできること
5.2 QGISを使った活用
5.2.1 QGISのインストール
5.2.2 CityGMLファイルの読み込み
5.2.3 地図の基本操作
5.2.4 地物の選択と検索
5.2.5 ベースマップを追加する
5.2.6 3Dビューで表示する
5.1 _ GISでできること
【3D都市モデルでできること】で説明したように、GISを使うと3D都市モデルを用いて空間解析を行うことができます。
空間解析とは、位置情報を含む情報を、位置や距離などの空間的性質を用いて分析することです。具体例を挙げると、「高さが何メートル以上のビルを探す」「ある地物から、半径何メートルの地物を探す」「ある地点から、ビルなどの隠れていない見える範囲を調べる」「地点間の道路を使った最短距離を検索する」などの処理ができます。
GISによっては、いくつかのシミュレートの機能もあり、「ある日時の日照状態を調べる」「浸水したときの範囲を調べる」など、より高度な分析も可能です。
5.2 _ QGISを使った活用
QGISは、GNU General Public Licenseで提供されているオープンソースのGISです。WindowsやmacOS、Linuxなど、さまざまなOSで動作します。多様なファイルフォーマットに対応しているほか、数多くのプラグインも提供されており、各種可視化や分析などが行えます。
5.2.1 _ QGISのインストール
QGISは、QGISの公式サイトからダウンロードできます。[ダウンロードする]ボタンをクリックすると、それぞれのOS用のインストーラをダウンロードできます。
QGISには、「最新リリース」と「長期リリース(LTR、Long Term Release)」の2種類があります。QGISは更新が比較的早く、新しい機能がすぐに実装されます。そのため基本的には最新版を使うのがよく、最新版で何か問題があれば、それよりひとつ前のバージョンを使うとよいでしょう。
インストーラをダウンロードして実行し、画面の指示どおりに進めると、インストールが完了します。
【QGISの公式サイト】
【メモ】
古いバージョンは、ダウンロードアーカイブページ(https://download.qgis.org/downloads/)からダウンロードできます。
Windowsの場合、ネットワークインストーラ(Network Installer)とスタンドアロンインストーラ(MSI)の2種類があります。前者は、ネットワークから必要なものを逐次ダウンロードしてインストールするもの、後者はパッケージにすべて含まれていて、そこから必要なものをインストールするものです。どちらを使っても、結果は同じです。後者はまとめてダウンロードするため、ファイルサイズが大きい(約1GB)です。
ネットワークインストーラで「エクスプレスインストール」と「アドバンスインストール」の、どちらかを尋ねられたら、前者を選ぶとよいでしょう。細かい設定を指定しなくても、基本的に必要なものをまとめてインストールできます。
5.2.2 _ CityGMLファイルの読み込み
QGISでは、CityGMLファイルを、そのままベクタレイヤとして読み込めます(バージョン3.16以上。ただし3.16ではXY座標が入れ替わる問題がある。3.22では修正されていることを確認済み)。読み込むには、次のようにします。
【メモ】
3D都市モデルのCityGMLのダウンロードについては、【3D都市モデルデータの基本】を参照してください。読み込めるのは、展開後の個々のXMLファイル(拡張子.gml)であり、ZIP形式のまま読み込むことはできません。
ベクタレイヤとは、ポイント、ライン、ポリゴンなどのベクターデータで構成されるレイヤです。 QGISは、地理空間情報をレイヤという単位で重ねて表示します。
ただし2022年10月時点では、LOD2を含むCityGMLファイルの地物は正しく表示されません。読み込めないのは、CityGMLの<bldg:lod2Solid>~</bldg:lod2Solid>の要素が理由です。この要素を取り除けば、読み込めるようになります。
【メモ】
2023年10月に公開された「PLATEAU QGIS Plugin」というプラグインを使うと、LOD2やLOD3のCityGMLファイルを正しく読み込める他、水害などの災害リスクに関連する情報も読み込めます。
詳しくは、【TOPIC20 PLATEAU QGIS Pluginでの活用】を参照してください。
[1]ベクタレイヤを追加する
[レイヤ]メニューから[レイヤを追加]―[ベクタレイヤを追加]を選択します(図 5-2)。
[2]CityGMLファイルを選択する
ファイルの選択画面が表示されるので、CityGMLファイルを選択します。
ここでは例として、東京都23区のPLATEAUデータに含まれている建物の3次メッシュコード「53394631」(御茶ノ水・神田・秋葉原のエリア)のudx/bldg/53394631_bldg_6697_2_op.gmlを開いてみます。ファイルを選択すると、オプションの選択欄が表示されますが、既定のまま、[追加]ボタンをクリックします(図 5-3)。
【メモ】
2022年10月現在、LOD2の地物は正しく表示できません。LOD1のエリアを選択してください。
[3]追加するアイテムを選択する
選択したファイルに含まれるアイテム一覧が表示され、すべてが選択状態(灰色で表示された状態)になります。建物のファイルであれば、Buildingというアイテムが表示されるので、それを選択状態にしたまま[レイヤを追加]をクリックします(図 5-4)。
操作をしても図 5-3の画面は開いたままなので、[閉じる]をクリックして閉じます。
[4]地物のレイヤが追加された
図 5-5のように地物(建物)が追加されました。
左下の[レイヤ]パネルに、この地物を含むレイヤが追加されています。チェックを外せば非表示にできます。他のレイヤを追加したときは、この左下の画面で重ね順を設定します(後述)。
5.2.3 _ 地図の基本操作
読み込んだ直後の状態では、[地図を移動]という手のアイコンが選択状態となっており、地図上でドラッグすると、その方向にスクロールできます。ほかにも、拡大・縮小などの操作ができます(図 5-6)。
5.2.4 _ 地物の選択と検索
選択ツールバーのアイコンをクリックすると、地物を選択できるモードに切り替わります(図 5-7)。[場所による選択]は、重なるものや離れているもの、交差するものなど、別のレイヤとの距離関係によって選択します。例えば浸水領域のレイヤを別に表示しておいて、それと建物のレイヤと比較して、浸水領域にある建物を全部選択する、というような使い方をします。
■ 地物情報の表示
[地物情報表示]ボタンをクリックすると、右側に「地物情報」のウィンドウが表示されます。この状態で地物をクリックすると、その地物の属性が表示されます(図 5-8)。
■ マウス操作での地物選択
マウス操作で、複数の地物を選択できます。マウス操作での範囲選択には、[地物を選択][ポリゴンによる地物選択][フリーハンドによる地物選択][円による地物選択]の4通りの方法があります(図 5-9)。
[地物を選択]を選び、地物をクリック、もしくはドラッグして範囲を選択すると、それらが選択状態になります。[ポリゴンによる地物選択][フリーハンドによる地物選択][円による地物選択]は、それぞれ選択するやり方の違いで、四角形以外の範囲で選択したいときに使います。
どの方法で選択したとしても、選択状態の地物には色が付いて表示されます(図 5-10)。
■ 値で地物を選択
[値で地物を選択]をクリックすると、条件を入力するダイアログボックスが表示されて、各種属性の値で選択状態にできます(図 5-11)。建物名(name)や住所(LocalityName)のほか、measuredHeight(建物の高さ)などでも検索できます。
各ボタンの意味は、表 5-1のとおりです。
ボタン名 | 動作 |
---|---|
地物をフラッシュ | 該当の地物を地図上で点滅します |
テーブルに表示 | 一覧として表示します |
地物にズーム | 該当の地物をズームします |
地物を選択 | 該当の地物を選択します。 既存の選択に加えるか、新たな選択にするかなどを指定 |
5.2.5 _ ベースマップを追加する
地物だけでは、どの場所なのかがわかりにくいので、ベースマップをレイヤとして追加してみましょう。
■ XYZ方式の地図タイル
ベースマップとして利用できるフォーマットは、いくつかありますが、ここでは、XYZ方式の地図タイルを使います。
XYZ方式の地図タイルとは、地図をタイル状に細切れにして、必要な部分(ユーザーが見ている部分)だけを表示する仕組みです。タイル座標のX値、Y値、ズームレベルZの3つのパラメータによって、タイル画像(細切れになったそのエリアのファイル)を特定します。
XYZ方式の地図タイルは、ウェブの地図において多く使われており、さまざまな配信サイトがあります。仕様は共通化されており、タイルのX値、Y値、ズームレベルを、その配信サイトのURLに渡すと、画像をダウンロードできます。
例えば国土地理院は、次の命名則で、「地理院タイル」(https://maps.gsi.go.jp/development/siyou.html)を配信しています。
【地理院タイルの命名則】
https://cyberjapandata.gsi.go.jp/xyz/{t}/{z}/{x}/{y}.{ext}
{t}:データID。例えば「std(標準地図)」「pale(淡色地図)」など
{x}:タイル座標のX値
{y}:タイル座標のY値
{z}:ズームレベル
{ext}:拡張子(例えばpngやjpg。データIDによって異なる)
【メモ】
XYZ方式の地図タイルには、ラスタータイルとベクタータイルの2種類があります。一般に使われるのはラスタータイルです。PNG形式やJPEG形式で提供されます。もう一方のベクタータイルは、文字や線などの組み合わせで構成されるもので、Protocol Buffers形式(拡張子.pvfや.mvt)で提供されます。道路の種類によって色を変えたり非表示にしたり太さを変えたりすることができますが、ソフトウェアが対応していないと、利用そのものができません。国土地理院はベクタータイルの提供実験をしています(https://maps.gsi.go.jp/development/vt_expt.html)。
■ 地理院タイルを追加する
実際にQGIS上で、地理院タイルを重ねるには、次のようにします。
[1]XYZレイヤを追加する
[レイヤ]メニューから[レイヤを追加]―[XYZレイヤを追加]を選択します(図 5-12)。
[2]新規接続を作成する
地理院タイルを追加するため、[新規]をクリックします(図 5-13)。
【メモ】
以降の手順で一度、地理院タイルの接続を作成すれば、2回目以降は、ドロップダウンリストから選択するだけで済みます。
[3]地理院タイルの情報を登録する
地理院タイルの情報を入力します。
「名前」には、任意の名前を入力します。ここでは「地理院タイル」とします。
「URL」には、配信URLを入力します。ここでは淡色地図(pale)、ファイルの種類はpngとして、次のURLを設定します。標準地図は、ズームレベル5~18まで対応しているので、その旨、入力し、[OK]ボタンをクリックします(図 5-14)。
https://cyberjapandata.gsi.go.jp/xyz/pale/{z}/{x}/{y}.png
【メモ】
このURLは、地理院タイルの配信情報(https://maps.gsi.go.jp/development/ichiran.html)に基づくものです。ほかにも標準地図や写真(航空写真)の地図などもあり、URLを変えると利用できます。
[4]地理院タイルを追加する
手順[2]に戻るので、ドロップダウンリストから、いま作成した[地理院タイル]を選択して[追加]をクリックします(図 5-15)。追加したら、[閉じる]をクリックして、閉じます。
[5]レイヤの重ね順を変更する
地理院タイルが表示されますが、レイヤの前面に来てしまい、3D都市モデルが隠されてしまいます。左下の[レイヤ]パネルで並び順を変更して、地理院タイルを地物よりも下にします(図 5-16、図 5-17)。
コラム:PLATEAUが配信する地図タイル
PLATEAUでは、航空写真測量で作成したオルソ画像をタイル化した画像を配信しています(https://github.com/Project-PLATEAU/plateau-streaming-tutorial/blob/main/ortho/plateau-ortho-streaming.md)。
配信URLは、次のとおりです。
https://gic-plateau.s3.ap-northeast-1.amazonaws.com/2020/ortho/tiles/{z}/{x}/{y}.png
地理院地図の登録手順と同様にして、このURLをXYZレイヤとして登録すると、航空写真が表示されます(図 5-18)。PLATEAUが配信するタイル画像には、ズームレベル19(約30cm)までの高解像度が含まれているのが特徴です。
【メモ】
オルソ画像は、タイル形式以外にも、GeoTIFF形式としても配布されています。
コラム:レイヤのマージ
QGISでは、1つのCityGMLに対して1つのレイヤが必要です。たくさんのファイルを扱うときは、[ベクタ]メニューの[データ管理ツール]から[ベクタレイヤをマージ]を選択することで、1つのレイヤにまとめられます(図 5-19、図 5-20)。
5.2.6 _ 3Dビューで表示する
図 5-17に示したように、QGISでは、上から見た2次元の地図として表示されます。3Dで表示するには、3Dビューを使います。
【メモ】
3D表示するには、Qgis2threejsを使う方法もあります(「5.2.7 GRASSプラグインを使って都市陰影図を作る」内「■Qgis2threejsで3D表示する」を参照)。
[1]レイヤのプロパティを開く
左下の[レイヤ]パネルで、レイヤ名を右クリックしてプロパティを表示します(図 5-21)。
[2]3Dビューを定義する
[3Dビュー]タブをクリックして開き、[単一定義(single)]を選択し、[OK]をクリックします(図 5-22)。
【メモ】
3Dビューで表示したとき、建物が地面から浮いたり、沈んでいたりする場合は、[標高の制約]を調整します。
[3]CRSを切り替える
3Dマップビューは、投影座標系でなければ利用できないので、切り替えます。ここでは「平面直角座標の9系(EPSG:6677)」に切り替えます。
まずは右下の、現在設定されているEPSGが表示されている部分をクリックします(図 5-23)。すると、CRSの設定画面が表示されるので、「6677」と入力して検索し、見つかったものを選択して、[適用]をクリックしてから[OK]をクリックします(図 5-24)。
【メモ】
9系は、首都圏を中心とした領域で使う座標系です。地域に合わせて、適切な系を選択してください(【3D都市モデルデータの基本】を参照)。
[4]3Dマップビューを開く
[ビュー]メニューの[3Dマップビュー]から[新規3Dマップビュー]を選択します(図 5-25)。
[5]3Dで表示された
次の図 5-26のように3Dで表示されました。表 5-2のようにして視点や角度を変更して見ることができます。例えば[Shift]キーを押しながらマウスをドラッグすると角度を変えられます(図 5-27)。
操作 | 方法 |
---|---|
上下に傾ける | [Tilt up] ボタン および [Tilt down] ボタン |
地形の回転 | [NWSE] で操作する |
カメラ位置の変更 | [カメラコントロール] ボタンを押した状態で地図上をドラッグ |
カメラの高さ変更 | [Page up] / [Page down] キー |
カメラ向き | [Ctrl] キー を押しながらドラッグ |
ズーム | [拡大]・[縮小] ボタン |
デフォルトに戻す | [全域表示] ボタン |
【文】
大澤文孝
【監修】
於保俊(株式会社ホロラボ)
西尾悟(株式会社MIERUNE)
曲新苗(株式会社MIERUNE)
飯田知靖(朝日航洋株式会社)
ESRIジャパン株式会社