×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
新宿ダンジョンを ⼩松 聖 可視化してみた 出典:国⼟交通省・ 国⼟地理院
Slide 2
Slide 2 text
⼩松 聖 @satoshi7190 Satoshi Komatsu フロントエンドエンジニア @satoshi7190 株式会社MIERUNE
Slide 3
Slide 3 text
1.私とMapLibre 2.新宿ダンジョン可視化の話 3.まとめ
Slide 4
Slide 4 text
1.私とMapLibre
Slide 5
Slide 5 text
https://codepen.io/satoshi7190/pen/OJEGqOq MapLibre GL JSで作ったやつ https://codepen.io/satoshi7190/pen/ZERmWMX
Slide 6
Slide 6 text
1⽉号からMapLibre GL JSの防災マップ作成ハンズオンを執筆 Software Design誌 「位置情報エンジニアリングのすすめ」 2023年8⽉号〜連載中 https://gihyo.jp/magazine/SD https://github.com/satoshi7190/sd-2024-5-sample/tree/main
Slide 7
Slide 7 text
地理空間データを可視化するなら ですが・・・
Slide 8
Slide 8 text
最近の私の場合 私
Slide 9
Slide 9 text
https://threejs.org/ ウェブブラウザ(WebGL)で 3Dグラフィックスを描画するための JavaScriptライブラリ。
Slide 10
Slide 10 text
地図ライブラリじゃないよ
Slide 11
Slide 11 text
でも、頑張ればGeoJSONを描画できる 北海道のポリゴンをShapeGeometryで描画する例
Slide 12
Slide 12 text
ラスターも頑張れば描画できる DEMとDSMのスムーズな切り替え ラスタータイルの並びをシャッフル ⾃由な表現ができる
Slide 13
Slide 13 text
https://satoshi7190.github.io/Shinjuku-indoor-threejs-demo/ 新宿ダンジョンを可視化したよ
Slide 14
Slide 14 text
2.新宿ダンジョン可視化の話
Slide 15
Slide 15 text
https://www.jreast.co.jp/estation/stations/866.html 新宿ダンジョンとは • 東京の新宿駅周辺の地下通路 • ⽇本で最も乗降客数が多い駅の⼀つ • 複雑に⼊り組んだ通路が広がっており 迷路のような構造
Slide 16
Slide 16 text
https://satoshi7190.github.io/Shinjuku-indoor-threejs-demo/ DEMO
Slide 17
Slide 17 text
新宿駅周辺屋内地図オープンデータ (令和2年度更新版 国⼟交通省) https://www.geospatial.jp/ckan/dataset/mlit-indoor-shinjuku-r2 2次元データ → 3次元化する
Slide 18
Slide 18 text
新宿駅周辺屋内地図オープンデータ (令和2年度更新版 国⼟交通省) GeoJSON 平⾯直⾓座標系 7系(EPSG6677) ShapeFile ⽇本測地系(EPSG:6668 )
Slide 19
Slide 19 text
新宿駅周辺屋内地図オープンデータ (令和2年度更新版 国⼟交通省) GeoJSON 平⾯直⾓座標系 7系(EPSG6677) GeoJSONの座標点情報から ShapeGeometryで2Dの図形を描く
Slide 20
Slide 20 text
新宿駅周辺屋内地図オープンデータ (令和2年度更新版 国⼟交通省) GeoJSON 平⾯直⾓座標系 7系(EPSG6677) GeoJSONの座標点情報から ShapeGeometryで2Dの図形を描く ※縦に刺さります
Slide 21
Slide 21 text
X Z Y 地理座標のXYZ X 緯度 Y 経度 Z ⾼さ
Slide 22
Slide 22 text
X Z Y X 左から右 Y ⾼さ Z 正⾯から奥 ワールド座標のXYZ(右⼿座標系)
Slide 23
Slide 23 text
X - Z Y X軸を中⼼に90度 反時計回りに回転させる (-Zの⽅向を北と考える) ワールド座標のXYZ(右⼿座標系)
Slide 24
Slide 24 text
そのままの地理座標だと 原点から離れてしまう 中⼼座標(EPSG:6677) [-12035.29, -34261.85,0] 原点 [0,0,0]
Slide 25
Slide 25 text
各座標点 – 中⼼座標 原点 [0,0,0] 地物に対し、中⼼にしたい座標を 各頂点に減算する 中⼼座標(EPSG:6677) [-12035.29, -34261.85,0]
Slide 26
Slide 26 text
原点0に描画される 原点 [0,0,0]
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
階層ごとのポリゴンデータがある
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
階層データごとに任意の⼀定距離の間隔を空ける Y -Y
Slide 31
Slide 31 text
ExtrudeGeometryで平⾯を押し上げる
Slide 32
Slide 32 text
各平⾯を押し上げて⽴体化
Slide 33
Slide 33 text
の可視化 歩⾏者ネットワーク
Slide 34
Slide 34 text
歩⾏者ネットワーク 歩道、横断歩道、歩⾏者専⽤道路 などのルートを⽰すラインデータ リンクデータ
Slide 35
Slide 35 text
歩⾏者ネットワーク 歩道、横断歩道、歩⾏者専⽤道路 などのルートを⽰すラインデータ リンクデータ 歩⾏者ネットワーク リンクデータに階層情報がありません リンクデータは単⼀レイヤーのみです
Slide 36
Slide 36 text
歩道、横断歩道、歩⾏者専⽤道路 などのルートを⽰すラインデータ リンクデータ ノードデータ 各リンクデータの始点、終点の ポイントデータで階層情報あり 歩⾏者ネットワーク
Slide 37
Slide 37 text
の3次元化 始点 1F 終点 3F 歩⾏者ネットワーク Y -Y
Slide 38
Slide 38 text
始点 1F 終点 3F ? の3次元化 歩⾏者ネットワーク Y -Y
Slide 39
Slide 39 text
2F 中間の点は始点の階層と終点階層の差分階層にした 始点 1F 終点 3F 歩⾏者ネットワークの3次元化 Y -Y
Slide 40
Slide 40 text
2F 始点 1F 終点 3F 歩道 エスカレーター エスカレーター の⽅向 歩⾏者ネットワーク
Slide 41
Slide 41 text
エスカレーターなどの⼀⽅通⾏ 歩道などの両⽅通⾏ の⽅向 歩⾏者ネットワーク
Slide 42
Slide 42 text
シェーダー(GLSL)でアニメーション表現 エスカレーターなどの⼀⽅通⾏ 歩道などの両⽅通⾏ 歩⾏者ネットワークの⽅向
Slide 43
Slide 43 text
基盤地図情報ダウンロードサービス 国⼟地理院 地上の道路 道路データをQGISのバッファ処理と 切抜き処理で円形加⼯ https://fgd.gsi.go.jp/download/menu.php
Slide 44
Slide 44 text
レシピはQiitaとGitHubで公開してます https://qiita.com/satoshi7190/items/23d192372877af75b283 https://github.com/satoshi7190/Shinjuku-indoor-threejs-demo
Slide 45
Slide 45 text
頑張って2次元データを3次元化したけど・・・
Slide 46
Slide 46 text
https://www.geospatial.jp/ckan/dataset/plateau-13104- shinjuku-ku-2023 https://plateauview.mlit.go.jp/ 最近、新宿駅の3次元データが登場したよ 3D都市モデル(Project PLATEAU)新宿区(2023年度)地下モデル LOD4
Slide 47
Slide 47 text
ちなみに・・・
Slide 48
Slide 48 text
MapLibre GL JS のカスタムレイヤーで Three.jsのシーンをマップに統合できる
Slide 49
Slide 49 text
MapLibre GL JS版新宿ダンジョンを作りました(仮) https://satoshi7190.github.io/Shinjuku-indoor-threejs-maplibre-test/
Slide 50
Slide 50 text
3.まとめ
Slide 51
Slide 51 text
地図ライブラリじゃなくても 地理空間データの可視化はできる WebGLやGLSL(シェーダー)の知識があれば 可視化の表現の幅は広がる!!