C105新刊余談 - PLATEAUのデータを使った話

C105の新刊の余談です。国交省が出してる都市モデルを新刊のマップ代わりに使ったよという話。

(新刊の記事はこちら)


どう使ったのか

こんな感じです↓

テキストでも記しておきますが、上図は下記データの PLATEAU VIEW 3.0 (https://plateauview.mlit.go.jp/)における表示を一部加工して作成しました。

ライセンス表記としては使ったデータに関する引用だけ書いておけば良いはずですが、諸事情あって何のプラットフォームで見たのかを併記しています。その辺りは後ほど。


発端と経緯

今回の写真集は、別記事にもある通り東京駅を中心に広がっている複雑な地下通路を散策した際の写真集です。各写真にキャプションを付けてはいますが、実際のところどういう規模の空間を歩いているのかを写真1枚・ページ1つで示すのは難しいなぁと思っていました。

それもあって地図を一つ入れようと考えたわけですが、今回の意図に合う形で地下通路の全景を分かりやすく示した地図が中々見当たらなかった、というのが3D都市モデルデータを使った一番の理由です。例えば東京駅の地下に掲示されている地図だと下記のようなものがあります。

案内図としてはわかりやすいんですが、地下通路の概形を見るという観点だとどちらも一部欠けていたり、案内用の情報が多すぎて少々ビジーに見えます。

これをベタ貼りするのもちょっとなぁ……と思っていたところ、まずこの東京駅周辺屋内地図オープンデータを見つけました。当初はこれを使おうかと思っていたんですが、これを更に取り込んで三次元的に見られるデータがProject PLATEAUにあるということがわかり、最終的にそちらを利用することにした、という流れです。

まあ気合と根性で自作すればよかったのかもしれませんが、それができるほど単純な構造じゃないというところで勘弁してください……。


Project PLATEAUってなんぞ

これを見てください(丸投げ) → https://www.mlit.go.jp/plateau/learning/tpc01-1/


手元環境の構築

最初はBlenderを使おうと思っていたんですが、どうも配っているデータを見るに2023年度のデータではOBJ形式/FBX形式のデータが入ってないっぽいんですね(古い23区のデータには入ってます)。CityXMLから変換しないとこれらの形式のデータは手に入らない、と。

じゃあUnrealとかUnityでいいやということで、それぞれSDKを突っ込みました。突っ込み方とか扱い方は下記リンク参照。

リンク内ではGitHubで同時公開されているサンプルアプリをベースにしていますが、普通にユーザーマニュアルを見るとまっさらなプロジェクトに入れる方法とかも書いてあるのでそっちでいいかもしれません(というか自分はそうしました)。 git lfsとかが有効になってなかったらその辺りも忘れずに(既に有効にしてあると思ったらWIN上のgitでは有効にしてなかったせいで時間が溶けた人)。

どちらも最新リリースのSDKを動かしてみた感想としては、Unityの方が安定してる上に心なしかモデル構築処理が早く終わるのでいいなぁと言う感じです。 Unrealだと何かやたら時間かかった上でエラー落ちすることがちょいちょいありウーン……という感じでした。もしかすると過去バージョンに書かれている"地下街モデルをインポートするとUnreal Engineがクラッシュするバグがあります。"というのが残っているのかなぁとも思います。まあおま環かもしれませんがね。


実際に見てみた結果……

環境が揃ったところで意気揚々と上記リンクの地下街データ(uc23-05)を読み込んでみたところ……

地図上で青い線で囲まれている範囲が、モデルデータの格納されているエリアを表しています。何か君小さくない?????

まあこの範囲しか記述されてないってことはこれ読み込めば全部出てくるのかなぁと思ってインポートします。すると……

???????????????

何か……食い散らかしたお菓子の残骸みたいな散らばり方してるんですが……何ですかねこれ……。

それぞれのモデルのAttributeを見ることもできます。例えば右上に連なってる箱はB1F_丸の内線銀座駅コンコース(仮)だそうです。んなわけあるかーいって言いたくなるんですが、他の箱との相対位置を考えると確かにそこに該当しそうなオブジェクトです。これは一体……。

恐らくですが、配布されているxmlファイルなりgmlファイルなりがどこかで崩れているんじゃないかなぁと思います。gmlファイルを漁ってみるとちゃんと大手町駅とか二重橋前駅とか出てきますし(何故か二重橋前駅が二重橋駅と書かれていてオイオイオイとは思いました)。実は最初のエリア選択の際、同時に配布されているpdfを見る限りだと6倍近い範囲が指定できるようになっているはずなんですね。そこの紐づけでトチってて断片的な地形情報しか読み込めてないんじゃないかなぁと。

……え、じゃあこれ詰んでない?どうすんの?って話になるんですが、実はPLATEAUにはWeb上でのViewerアプリも用意されています。

https://plateauview.mlit.go.jp/

これで"東京駅"で検索するとuc23-05のデータが出てきて、それを適用するとちゃんとした東京駅周辺の地下街データが見られるというわけです。PLATEAU VIEW 3.0における表示云々をわざわざ書いていたのは、配布されているデータをUnreal/Unity等で見た場合とWebアプリで見た場合で結果が全然違ったからなんですね。SDKを導入するのにかけた手間は何だったのか……。


他のところも見てみる

流石に導入したSDKが無用の長物になってしまうのは悲しいので、別の場所も見てみました。ここどーこだ。

はい、新宿ですね。何でここをチョイスしたかというと、弐寺の楽曲でBGAにPLATEAUのデータを使ってるものがあるからです。

こんな感じで(もちろん楽曲の終わりにデータの出典等記載されています)。で、実際にUnity上で上のシーンに該当するカメラ位置を探ってみて、それと近い構図が撮れそうなビルに行った結果がこちら。

東急歌舞伎町タワーから撮りました。微妙に東側へ流れているので見えているタワーの前後関係が違っていますが、まあぼちぼち近いかなと。こう考えると、空撮みたいにそう何度も試せない撮り方をする前のロケハンとかには使えそうな感じがしますね。

ちなみにPLATEAU上だと真っ平らになっている損保ジャパン本社ビルの手前のエリアですが、写真と見比べてみると分かる通り墓地のようですね。基本的にPLATEAUは建造物は再現されているんですが地上設置物までは再現されておらず、街路樹なんかもテクスチャ扱いになっているみたいです。

次に京都へ。東京以外の地方自治体も協力されているそうです。

八坂の塔の辺りですが……何と言うかまあ……はい、って感じですね(?)。テクスチャが変わればもう少し良く見えるのかなとも思いますが、現状は東京都内のデータでも衛星写真からポンと貼ったものが殆どのように見えるので、まあ難しいですよね。ポジションは八坂の塔がよく見える駐車場?の前で、実際にその辺りから撮った写真は次の通り。

こちらも雲が出てる上に画角も違うのでアレなんですが、周囲の家屋の配置から大体同じところから撮ってるのが伝わるかなと思います。

建造物をどこまで再現するかは想定用途によって異なるだろうなと思います。所謂デジタルツインを狙うのであれば高いクオリティの見た目が求められそうですが、例えば人流解析とか災害シミュレーションをするのであれば細かな建築物データはむしろ処理を重くするだけでしょうし。

この辺りの精細感はLODレベルによって決まりますが、LOD2くらいでもデータを見てみると屋根形状+それを下に射影した箱みたいな感じなので、屋根が大きく出る寺社関連の建造物(それこそ八坂の塔も)とはちょっと相性が良くないのかもしれません。詳しくは下記リンクを参照してください。

https://www.mlit.go.jp/plateau/learning/tpc03-3

※上記の新宿・京都のスクリーンショットは下記リンクを出典とする3D都市モデルを用いて作成しました。


おわりに

そんな感じで、とりあえずPLATEAU使ってみたよという話でした。(ライセンスを守れば)自由に使える実在の都市モデルが配られてるのは、今回みたいな都市景観に関する本を作る個人としてはありがたいですね。2020年だか21年だかにPLATEAUが登場して話題になった時は"すげ~でも使うのめんどそ~"みたいな感じで遠巻きに見ていただけでしたが、ズブの素人でもそれなりに早くSDK導入できるくらいお手軽になってるのも嬉しいポイントです。気が向いたらまたぼちぼち触ろうと思います。