Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
日本全国・都市3D化プロジェクト「PLATEAU」とデータ変換OSS「PLATEAU GI...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nokonoko1203
November 30, 2024
Technology
7.1k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
日本全国・都市3D化プロジェクト「PLATEAU」とデータ変換OSS「PLATEAU GIS Converter」の公開
nokonoko1203
November 30, 2024
More Decks by nokonoko1203
See All by nokonoko1203
CloudflareでGIS × AIエージェント開発!
nokonoko1203
0
340
GISエンジニアから見たLINKSデータ
nokonoko1203
0
240
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
290
EMがLLMで仕様書駆動開発したらすごい捗った
nokonoko1203
1
100
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
800
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
1.3k
日本全国の都市3D化プロジェクト「PLATEAU」の紹介
nokonoko1203
0
190
PLATEAU Hands-on 11 PLATEAUデータの高さや位置合わせについて理解する
nokonoko1203
0
890
20240626_PLATEAU_AWARD説明会
nokonoko1203
0
480
Other Decks in Technology
See All in Technology
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
5
1.2k
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
140
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
250
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
人材育成分科会.pdf
_awache
4
300
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
320
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
250
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
14
5.4k
脆弱性対応、どこで線を引くか
rymiyamoto
1
420
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
1.3k
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
540
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
600
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
600
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Become a Pro
speakerdeck
PRO
31
6k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
630
Transcript
株式会社MIERUNE 西 尾 悟(@nokonoko_ 12 0 3 ) 2 0
2 4 - 1 1 - 3 0 Rust.Tokyo 2 0 2 4 都市3D化 プ ロ ジ ェクト「PLATEAU」と 「PLATEAU GIS Converter」の公開 RustによるGIS × 3 Dデータ処理
• 西 尾 悟(@nokonoko_ 12 0 3 ) • 前職:
建設コンサルタント(河川構造物) • 現職: 2児の 父 をやりながら株式会社 MIERUNEでGIS(地理空間情報)とWeb開 発を 行 う、Engineering Managerです! • Python / Rust / GIS / 点群 / 3D Tiles / AWS / WebGL / PLATEAU ADVOCATE / Cesium Certi fi ed Developer https://twitter.com/nokonoko_ 1203 https://qiita.com/nokonoko_ 1 203
None
さまざまなWeb技術を活 用 している「Web屋」です
文 化財総覧WebGIS 奈良 文 化財研究所 https://heritagemap.nabunken.go.jp/ かつ「位置情報」に関わるならなんでもやる「GIS屋」です PLATEAU QGIS Plugin
国 土 交通省 https://github.com/MIERUNE/plateau-qgis-plugin マインクラフト 高 松市 https://www.city.takamatsu.kagawa.jp/kurashi/shinotorikumi/machidukuri/toshi/maikura.html AIST 3 DDB Client 産総研 https://mierune.github.io/aist_ 3 ddb_client/
PLATEAU to Minecraft( 高 松市) https://x.com/G 7 _MLIT_JAPAN/status/ 167 76
44 599 643 47 18 72 https://x.com/MIERUNE_inc/status/ 16 731 578 62 69 106 585 7 ?s= 2 0
自己 紹介(会社や個 人 としての活動の 一 部) PLATEAU ADVOCATEとして、PLATEAUの社会実装に貢献 https://www.mlit.go.jp/plateau/journal/j 0
6 2 /
自己 紹介(会社や個 人 としての活動の 一 部) Cesiumに関連する優れた開発スキルを証明し、Cesium Certi fi ed
Developerに認定 https://cesium.com/cesium-certi fi ed-developer-program---japan/
自己 紹介(会社や個 人 としての活動の 一 部) 技術ブログなどでの積極的なアウトプット https://qiita.com/nokonoko_ 120 3
自己 紹介(会社や個 人 としての活動の 一 部) 東京 大 学でのデジタルツイン ・
GISに関わる講義の 一 部に講師として参加 https://dss.csis.u-tokyo.ac.jp/event/ 2 023 10 12 /
https://twitter.com/MIERUNE_inc https://www.mierune.co.jp/ https://github.com/MIERUNE/ https://qiita.com/organizations/MIERUNE カジュアル 面 談やってます! 気軽にご連絡ください!! https://www.mierune.co.jp/careers
目 次 • Project PLATEAUとは • データ変換ツールの必要性 • Rustの選定 ・
課題と解決策 • プロジェクトの今後の展望
Project PLATEAUとは プロジェクトの背景と 目 的
Project PLATEAUとは 国 土 交通省主導の「 日 本全国3D化プロジェクト」 https://www.mlit.go.jp/plateau/
Project PLATEAUとは Webサイトのデザインにも 力 を 入 れている https://www.mlit.go.jp/plateau/
PLATEAUの「デジタルツイン」実現に向けた多様な取り組み データ整備の効率化‧ 高 度化 https://www.mlit.go.jp/plateau/about/ 先進的なユースケース開発 データ‧カバレッジの拡 大
PLATEAL VIEW v 3 . 0 https://plateauview.mlit.go.jp/ • ブラウザで3D都市モデルを閲覧可能 •
218都市 ・ 2000万棟のデータが整備
地理空間情報としての3Dデータ https://plateauview.mlit.go.jp/ ただの3Dデータではなく、現実世界の情報を反映させた「地理空間情報」 建築年度 ・高 度 ・土 地利 用 分類など
エンタメなどの分野でも活 用 されている https://www.youtube.com/watch?v=Jb 6 Zlg 30 rgk&ab_channel=mwamjapan
ユースケースの整備 3 D都市モデルの有 用 性 https://www.mlit.go.jp/plateau/about/ →現実世界にユースケースが数多く転がっている
市 民 協働による樹 木 管理DX https://www.mlit.go.jp/plateau/use-case/uc 2 3 - 14
/ • 市 民 がスマートフォンアプリを使って都市公園内の樹 木 情報を収集し、データベース化する取り組み • 収集したデータは、樹 木 の環境価値(CO 2 吸収量など) の評価や、都市緑化 ・ 脱炭素まちづくりの推進に活 用 • 仙台市の榴岡公園で実施され、市 民 参加型のワークショ ップを通じてデータ収集が 行 われた • この取り組みは、 行 政と市 民 の協働による樹 木 管理のデ ジタル化(DX)を 目 指している
都市 高 速道路管理の効率化 https://www.mlit.go.jp/plateau/use-case/uc 2 3 - 22 / •
MMS測量で取得した 高 密度な点群データを 用 い、都市 高 速道 路の各部材を 自 動分類 ・ モデリングし、3D都市モデルを 自 動 生 成するシステムを開発 • 生 成した3D都市モデルをGISソフトやBIMソフトで活 用 し、都 市 高 速道路の管理 ・ 保全業務の効率化を 目 指している • 自 動分類機能の精度は77% ~ 82%で、 工 数を75% ~ 80%削減 できましたが、複雑な構造物の分類精度向上が課題として残っ た • アルゴリズムの 高 度化や3D都市モデルの詳細度向上を図り、低 コストかつ効率的な道路インフラ管理業務の実現を 目 指す
地下街データを活 用 したナビゲーションシステム https://www.mlit.go.jp/plateau/use-case/uc 2 3 - 05 / •
東京駅や品川 ・高 輪エリアで、地上と地下の情報を統合したデジタルツイ ン基盤を構築し、エリア全体をシームレスに繋ぐナビゲーションシステム を開発した • 既存の「東京ステーションナビ」アプリに、3D都市モデルを活 用 した三次 元ルートナビゲーション機能やARナビゲーション機能を追加し、ユーザー の利便性を向上させた • 平常時だけでなく、災害時を想定した情報配信システムを開発し、避難場 所や帰宅困難者受 入 施設の情報を提供することで、来街者の安全 ・ 安 心 を サポートしている • 駅と街を繋ぐ統合デジタルツインを活 用 し、エリアマネジメントのDX(デ ジタルトランスフォーメーション)を推進し、安全 ・ 安 心・ 快適なエリア の実現を 目 指している
オープンデータの整備 Webサイトから 自 由にダウンロード可能 https://www.mlit.go.jp/plateau/open-data/
データ変換ツールの必要性
「PLATEAU」のデータは地理空間情報としての3Dデータ https://plateauview.mlit.go.jp/ ただの3Dデータではなく、現実世界の情報を反映させた「地理空間情報」 建築年度 ・高 度 ・土 地利 用 分類など
地理空間情報とは https://www.geographyrealm.com/ 80 -percent-data-is-geographic/ 「地理空間情報」とは、地球上のありとあらゆるデータのこと 「位置情報」と「属性情報」をもつ “ 8 0 %
of data is geographic”(世にあるデータの80%は地理的なものである)
地理空間情報とは https://heritagemap.nabunken.go.jp/ 点 ・ 線 ・面 の位置情報と、遺跡名 ・ 年代などの属性情報
地理空間情報とは https://maps.gsi.go.jp/ 航空写真などの「画像」も地理空間情報
地理空間情報とは 地図投影法 早 見 表 https://www.wing fi eld.gr.jp/archives/ 1 09
39 「座標参照系」: 地球上の位置を数値の座標で表現するための基準 地球のような楕円体を平 面 (画 面・ 紙)に投影する場合、距離 ・面 積 ・角 度が必ず歪む
地理空間情報を利 用 した効果的なビジュアライゼーション例 全国100万件の交通事故マップ-みえない交差点 朝 日 新聞デジタル https://www.asahi.com/special/jiko-kosaten/ ウクライナ 戦時下の復興
キーウ近郊からの報告 読売新聞オンライン, 特別協 力 :渡邉英徳 ・ 東京 大 学 大 学院教授 https://www.yomiuri.co.jp/world/ukraine-reconstruction/ あなたの街の地価は? マップで 見 る上昇と下落 日 本経済新聞 https://vdata.nikkei.com/newsgraphics/land-value-map/
「 3 D」の「地理空間情報」 https://en.wikipedia.org/wiki/CityGML • 「都市機能」を記述するデータ形式である「CityGML」の採 用 • 都市の3Dモデルを保存するための交換形式 •
建物 ・ 道路 ・ 河川 ・ 橋梁 ・ 植 生・ 都市設備など
世界中の様々な都市でデータ整備がされている https:// 3 d.bk.tudelft.nl/opendata/opencities/
「都市機能を記述する」という 目 的から、ファイルサイズも巨 大 なものになる • 3 Dデータ記述した「XML」であるため、重たい(解凍後10GBを超えることがほとんど) • 変換して利
用 することが前提の中間形式である
仕様書は膨 大 PDFで1000ページを超える https://www.mlit.go.jp/plateau/ fi le/libraries/doc/plateau_doc_ 00 01 _ver 04
.pdf
仕様が難解
仕様が難解
仕様が難解
仕様が難解だが、 高 品質なモデルが作成できる https://plateauview.mlit.go.jp/
仕様が難解だが、 高 品質なモデルが作成できる https://plateauview.mlit.go.jp/
仕様が難解だが、 高 品質なモデルが作成できる https://plateauview.mlit.go.jp/
仕様が難解だが、 高 品質なモデルが作成できる https://plateauview.mlit.go.jp/
高 品質だが、利 用 までのハードルが 高 い →変換のためのOSS実装に 至 る •
「機械可読可能なXML形式」ではあるが、仕様が難解すぎる • ファイルサイズが膨 大 なため、そのままの利 用 はできない • 変換のためには 高 価な有償ソフトウェアが必要
「PLATEAU GIS Converter」の実装 https://github.com/MIERUNE/plateau-gis-converter
「 3 D Tiles」への変換 https://github.com/MIERUNE/plateau-gis-converter
変換可能フォーマット • GeoPackage • GeoJSON • Wavefront OBJ • glTF
• 3 D Tiles • Mapbox Vector Tiles (MVT) • CZML • KML • Shape fi le • Minecraft
変換可能フォーマット • GeoPackage → GISに特化したSQLite • GeoJSON → GISに特化したJSON •
Wavefront OBJ → 3 Dデータを格納するテキストデータ群 • glTF → 3 Dデータを格納するバイナリデータ群 • 3 D Tiles → glTF • Mapbox Vector Tiles (MVT) → タイル形状に分割されたpbf • CZML → 4 Dデータを格納するJSON • KML → Google Earthで利 用 するXML • Shape fi le → GISに特化したバイナリデータ群 • Minecraft → ボクセル
GeoPackage • SQLiteをGISに特化する形で拡張したもの • 単 一 のファイルで複数のレイヤー(道路と 建物、など)を管理できる • DBのため、パフォーマンスも良い
• オープンソースGIS界隈では実質の業界標 準となっている OGC® GeoPackage Encoding Standard https://www.geopackage.org/spec/
GeoJSON • JSON形式(テキスト形式)で地物を表現 • 点(Point) ・ 線(LineString) ・面 (Polygon)の他に複数形(Multi〇〇) が定義可能
• JavaScriptで取り扱いやすい • 人 間可読性が 高 い • テキスト形式のため、ファイルサイズが肥 大 化しやすい
Wavefront OBJ • 3 Dモデルの形状データを記録するファイ ル形式 • 頂点座標や 面 の情報などをテキスト形式で
記述する • 多くの3DCGソフトウェアで採 用 され、標 準的なデータ交換形式の1つ • マテリアル情報は別ファイル(.mtl)で定義 し、テクスチャマッピングなども可能
glTF • WebGLでの利 用 が想定された3Dデータ • JSON/.bin/Textureの3パートに分かれる • 3 D形状の他に、カメラ
・ ライトの位置、 アニメーションなどの3Dシーン全体を記 録する • JSON形式の「glTF」とバイナリ形式の 「glb」がある • 3 D Tilesは複数のglbからなるフォーマッ ト glTF https://www.khronos.org/gltf/
3 D Tiles • Webで 大 規模3Dデータを可視化するため のデータ • 「タイル」に分割されているため、個々の
ファイルサイズが 小 さくなる • カメラとの距離によってタイルが変わる • 点群データやメッシュデータなどの 高 速に 描画することができる • glTFがベースとなっている • Cesiumなどで可視化することができる 3 D Tiles https://github.com/CesiumGS/ 3 d-tiles
Mapbox Vector Tiles (MVT) • ベクタータイルとも呼ばれるタイル形式の Protocol Bu ff ers
• 主にWeb地図利 用 される • ベクトル形式(点、線、ポリゴン)のまま タイル分割されて配信される • 拡張 子 は.mvtや.pbfが利 用 される 国 土 地理院ベクトルタイル提供実験 https://maps.gsi.go.jp/development/vt_expt.html
CZML • Cesiumで利 用 可能な4D( 3 D × 時系列) フォーマット
• JSON形式で記述される • 線、点、3Dモデルなどを利 用 した時系列 アニメーションを作成することができる • CZMLからglTFを参照することも可能 Cesium Time Animation using CZML https://cesium.com/blog/ 2 0 1 8 / 03 / 21 /czml-time-animation/
KML • Google Earthなど使 用 されるXMLベース のファイル形式 • ポイント、ライン、ポリゴンや各要素に対 して、説明
文 や 色・大 きさなどのスタイル を設定可能 • 圧縮形式のKMLも存在する
Shape fi le • 1990年代から存在する、古いバイナリ形 式のフォーマット • 地 方 公共団体などで広く利
用 されている が、デメリットが多い • ファイルサイズに2GBの制限がある • フィールド名が最 長 10 文 字まで • フィールド数が最 大 255個まで • 最低3ファイル必要 • など
Minecraft(MCA) • .mcaファイルは、Minecraft(Java版) のワールドデータを保存するために使 用 さ れる独 自 のファイル形式 •
1つの.mcaファイルには、最 大 1024個の チャンク( 32 x 32 のチャンク領域)のデー タが含まれている • 5 12 m× 512 m(× 38 4 mの 高 さ)の領 域に相当
Rustの選定 ・ 課題と解決策
Rustである必然性があった 大 規模データの 高 速変換 XMLのような冗 長 なテキスト形式かつ3Dデータであるため、変換対象は10GBを超えることもある。 1都市丸ごと変換するユースケースは多々あり、これらを現実的な時間で変換するためには 高
速かつ安全に並列処理を 行 う必要があった。 クロスプラットフォームでのビルド 幅広いユーザーを取り込む必要があったため、WindowsとmacOSの2つのプラットフォームで動作させる必要があった。 Rustのように1つのコードベースから複数のプラットフォームにビルドすることが可能な点は、 非 常に魅 力 的に 見 えた。 GUIの構築 複雑なコマンドライン操作を避け、 一 般ユーザーでも直感的に利 用 できるGUIが求められていた。 Web屋が簡単に構築でき、Rustの恩恵を受けることができるTauriの存在は 大 きかった。
Tauri(GUI)の存在 • JavaScriptでフロントエンドを開発可能 • Rustでバックエンド開発を 行 う • Tauri 2
. 0 ではLinux、macOS、Windows、Android、iOS 用 のアプリを開発可能 https://tauri.app/
TypeScript or Python? 🙆GISに利 用 されるツール群が数多く揃っている 🙅低速 🙅良いGUI構築ツールがなかった 🙆全てTSでGUIが作れる(Electron) 🙅GIS処理
・ XMLのパースなどはフルスクラッチ
ただし、ハードルは 高 い • RustのGISクレートは存在しないが、3次元に対応したクレートは存在しない • ポリゴンの三 角 化 ・
専 用 の幾何データ表現を実装 • 標 高 を楕円体 高 に変換、地 心 座標系への変換、平 面 直 角 座標系の定義などを実装 • MIERUNE/ fl atgeom-rs ・ MIERUNE/earcut-rs ・ MIERUNE/japan-geoidなどを公開 • PLATEAU仕様に準拠したCityGMLをパースするクレートも存在しない • XMLスキーマを解析し、定義 • 手 続きマクロで導出 • 個別ファイル形式ごとの仕様を満たす、出 力 ドライバーを実装 • 特に、プロジェクトで最重要な3D Tilesの最新仕様を満たすクレートを実装 • テクスチャアトラス作成 ・ 解像度最適化のためのクレートも実装
アーキテクチャ パイプラインアーキテクチャを採 用 、各処理はチャネルを利 用 した並列化で処理
Rust × Geometry 3次元データを別の座標系に変換させるための機能は、すぐに実装されない(2次元データ専 用 ) https://github.com/georust/proj/issues/ 1 50
Rust × Geometry 3次元ポリゴン 用 の幾何データ表現を実装(MIERUNE/ fl atgeom-rs) • ジャグ配列を回避したフラットなデータ構造
• 効率的なシリアライズ ・ デシリアライズが可能 • 3次元座標に対応 https://github.com/MIERUNE/ fl atgeom-rs
Rust × Geometry 3次元での座標変換 • 3次元の地理座標(経緯度 ・ 標 高 )から地
心 座標 (XYZ)への変換 • 経緯度だけでなく、平 面 直 角 座標系とよばれる 日 本固有のXYZ座標も 入力 として受け付ける • 独 自 に計算処理を実装 https://www.gsi.go.jp/kanshi/faq.html# 3
• mapbox/earcutを参考にRustで再実装 • 入力 されたポリゴンを全て三 角 形に分割する • glTFに変換するためには、事前に分割が必要 https://github.com/MIERUNE/earcut-rs
Rust × Geometry 3 Dデータ変換のための三 角 形化(MIERUNE/earcut-rs)
XMLスキーマを解析し、構造体を定義 • CityGML ・ GML ・ i-UR のスキーマの上に、 PLATEAU独 自
の仕様が定められている • XMLスキーマから、構造体定義 用 の 文 字列を得 るプログラムも実装 • 20種類ある地物の型を個別にパスを定義 Rust × CityGML https://github.com/MIERUNE/plateau-gis-converter/tree/main/nusamai-plateau
quick-xmlによる 高 速なXMLパース • ファイルサイズが 大 きいため、DOMツリー全体 をメモリに載せるのは難しい • StAX(Streaming
API for XML)ベースのパー サーのためストリーミング可能で、メモリ効率 が良い • オーバーヘッドも少ないため、 高 速に処理可能 Rust × CityGML https://github.com/ta fi a/quick-xml
• 地物を地理的に「タイル分割」し、glTF拡張仕 様を満たしたglbファイルを 大 量に出 力 • 3 D Tiles仕様を満たしたtileset.jsonを出
力 • テクスチャなどを適切に貼り付ける • 大 量にファイル出 力 を 行 うため 至 る所で並列化 • テクスチャなしのデータであれば、1GB程度の CityGML to 3 D Tilesが1s未満で完了 Rust × 3 D Tiles 「 3 D Tiles」の出 力 (MIERUNE/cesiumtiles-rs) https://github.com/MIERUNE/cesiumtiles-rs
• {zoom}/{x}/{y}.glbのように、タイル分割された ファイルを出 力 する • 地物を分割→タイル順にソート→タイルを出 力 の 手
順を全てRayonとmpscで並列化 Rust × Parallel Processing タイル分割の並列化 https://maps.gsi.go.jp/development/siyou.html
• glTFのモデル定義がなされたクレートは存在す るが、属性情報を取り扱うことは出来ないた め、 自 作 • 具体的に以下の拡張機能に対応していない • EXT_mesh_features:
頂点に「地物ID」を振る • EXT_structural_metadata: 地物IDと属性情報 を紐付ける https://github.com/CesiumGS/glTF/tree/ 3 d-tiles-next/extensions/ 2 . 0 /Vendor/EXT_mesh_features Rust × 3 D Tiles https://github.com/CesiumGS/glTF/tree/ 3 d-tiles-next/extensions/ 2 . 0 /Vendor/EXT_structural_metadata glTFの拡張仕様に対応
• 元データは(基本的に)地物ごとにテクスチャ が作成されている上、重複箇所も多い • そのまま利 用 すると 大 量の画像ファイルがglTF に組み込まれ、ファイルサイズやドローコール
増加により描画パフォーマンスが低下する • テクスチャアトラスを作成することで、どちらも 低減を図れる https://github.com/MIERUNE/atlas-packer Rust × Texture 数千枚の画像を効率的に配置 テクスチャアトラス作成のためのモジュールを実装(MIERUNE/atlas-packer)
• ファイルサイズ ・ 処理時間のどちらも効率よく • タイルのズームレベルに合わせた低解像度化 • webp利 用 などによるファイルサイズ軽減
• アトラスの空きスペースを埋めるように配置 • 画像キャッシュなどによる読み書き速度軽減 https://github.com/MIERUNE/atlas-packer Rust × Texture タイルごとの更なる画像最適化
(おまけ)Rust × Minecraft • ポリゴンをボクセライズするアルゴリズムを実装 • Minecraftで利 用 可能な.mca形式に変換 •
CityGMLが保有する「地物型」(道路、植 生 な ど)に応じて利 用 するブロックを変更 https://github.com/MIERUNE/dda-voxelize-rs ddaアルゴリズムによるボクセライザーの実装(MIERUNE/dda-voxelize-rs)
(おまけ)Rust × PointCloud • LAS/LAZやCSVなどの 一 般的な点群データを取り 込み、3D Tilesに変換するツールを作成 •
ズームに応じた適切な点群の間引きや量 子 化によ る圧縮アルゴリズムなどを実装 • ロードされれば超 高 速で動作する https://github.com/MIERUNE/point-tiler 点群データの3D Tiles化(MIERUNE/point-tiler)
プロジェクトの今後の展望
より 手 軽に、便利に • 現状はシンプルというなの無 骨 なUI • 地図屋らしく、地図から選択できるようにしたい
よりファイルサイズを削減 • ジオメトリ • meshopt/Dracoなどによる圧縮 • テクスチャ • Basis Universalによる超圧縮
• KTX 2 の利 用 https://www.khronos.org/ktx/
Basis Universal • GPUが直接扱える圧縮テクスチャフォーマッ ト • 解凍する必要がないため、メモリ使 用 量が 大
幅に削減される • glTFファイルフォーマットでサポートされて いる • ファイルサイズとGPUメモリ使 用 量の 大 幅な 削減につながる • レンダリング速度が向上する https://www.khronos.org/ktx/
RustでのGIS × 3 D分野への貢献 • GeoRustへの貢献 • 特に、3次元座標 • その他、OSSの
自 作など https://georust.org/
継続して開発中! 興味があれば皆さんも是 非 !