---
title: torinome の開発秘話_PLATEAU 互換の地理空間情報可視化プラットフォーム
tags:  #holoconf23 #mixed reality  
author: [ホロラボ](https://www.docswell.com/user/HoloLab)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4EZVMVG4J3.jpg?width=480
description: 2023/4/21に実施されたHololab Conference 2023のセッションスライドです。  ■セッションアーカイブはこちら https://youtube.com/playlist?list=PLcIuMEVR3eYfERlJDNtlGCdLKFFBjC9Ap  ーーー ■公式HP https://hololab.co.jp/  ■公式Twitter https://twitter.com/HoloLabInc
published: May 18, 23
canonical: https://www.docswell.com/s/HoloLab/ZXYPV3-holoconf23_b5
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4EZVMVG4J3.jpg)

torinome の開発秘話
- PLATEAU 互換のXRデジタルツインプラットフォーム-


# Page. 2

![Page Image](https://bcdn.docswell.com/page/Y765N5YGEV.jpg)

アジェンダ
1. はじめに
2. torinome のご紹介
3. Azure サービスへの移行
4. 大規模点群対応
5. リリースサイクルの効率化
6. おわりに


# Page. 3

![Page Image](https://bcdn.docswell.com/page/G75Y5YGX74.jpg)

開発メンバー
チーム MITHRIL
清水 聡 / 秋猫
オンラインゲーム開発から転職してWeb開発へ
上田 章雄
MRエンジニアとして入社 ⇒ WEB開発
丸山 純司
今年2月に入社。前職はWebシステム開発中心


# Page. 4

![Page Image](https://bcdn.docswell.com/page/9J2GNGYQJR.jpg)

アジェンダ
1. はじめに
2. torinome のご紹介
3. Azure サービスへの移行
4. 大規模点群対応
5. リリースサイクルの効率化
6. おわりに


# Page. 5

![Page Image](https://bcdn.docswell.com/page/DEYVPVGYEM.jpg)

torinome
Cesium JS を用いた XR デジタルツインプラットフォーム
現実の位置に紐づく情報が集まるＷｅｂアプリ
様々なデータが重畳でき、簡単に可視化できる


# Page. 6

![Page Image](https://bcdn.docswell.com/page/VJNM5MGR78.jpg)

torinome = 鳥の目 広い視野を持って全体を俯瞰する
torinome = trinome 現実 デジタル 人 をつなぐ


# Page. 7

![Page Image](https://bcdn.docswell.com/page/YE9NYNWZE3.jpg)

torinome
torinome = 鳥の目 広い視野を持って全体を俯瞰する
torinome = trinome 現実 デジタル 人 をつなぐ
◆ 2D + 3D データを登録し、街レベルで俯瞰できる
1. 既存のデータを可視化できる
2. PLATEAU のデータが利用できる
3. ファイル種別に依らず同じフローで簡単登録
◆ XRとの連携
1. torinome を基盤として XR アプリケーションと連携


# Page. 8

![Page Image](https://bcdn.docswell.com/page/GE8K6KRY7D.jpg)

◆ 既存のデータを可視化できる
メッシュ
点群
GIS (GeoJSON, Shapefile)
iPhone LiDAR データ
テキスト／URL／動画
画像


# Page. 9

![Page Image](https://bcdn.docswell.com/page/LELZ9ZK9JR.jpg)

◆ PLATEAU
のデータが利用できる
Project PLATEAU
国土交通省主導
日本全国の3D都市モデルの 整備・活用・オープンデータ化プロジェクト
自由に都市のデータを引き出して活用できる
https://www.mlit.go.jp/plateau


# Page. 10

![Page Image](https://bcdn.docswell.com/page/4JMVZV2VJW.jpg)

◆ データが簡単に登録できる
登録したい場所を右クリック
名前を入力
ファイルを選択
完了


# Page. 11

![Page Image](https://bcdn.docswell.com/page/PJR262MWE9.jpg)

◆ torinome
のデモ動画


# Page. 12

![Page Image](https://bcdn.docswell.com/page/PEXDMDVV7X.jpg)

◆ 他アプリとの連携
REST API を提供
torinome に登録した情報やデータの参照・登録・更新・削除が可能
この API を使うことで他アプリからの連携が簡単にできる
緯度経度高さを持ったデータなので Geospatial API 等の位置情報APIと
相性が良く、併用することで物理空間とリンクさせられる
テキスト ・ 画像 ・ GLB 等を登録
連携アプリ
登録されたデータを提供
torinome


# Page. 13

![Page Image](https://bcdn.docswell.com/page/3EKXGXQ57D.jpg)

◆ 活用例
「パカパカAR」～まちあるき用アプリ


# Page. 14

![Page Image](https://bcdn.docswell.com/page/L735N5P1E5.jpg)

アジェンダ
1. はじめに
2. torinome のご紹介
3. Azure サービスへの移行
4. 大規模点群対応
5. リリースサイクルの効率化
6. おわりに


# Page. 15

![Page Image](https://bcdn.docswell.com/page/87DDWDLK7G.jpg)

開発初期のアーキテクチャ


# Page. 16

![Page Image](https://bcdn.docswell.com/page/VJPX9X2378.jpg)

現在のアーキテクチャ


# Page. 17

![Page Image](https://bcdn.docswell.com/page/2EVLMLDNJQ.jpg)

Azure サービスへの移行
動機
• 移行前は 1 台の仮想マシン上に全て構築し常時稼働させていた
• この状態にはいくつかの問題や改善点があったので順に触れていきます
稼働費用の削減
• 問題点
• 常時稼働させているのでサービスが利用していない時も費用が加算される
• マシン上で動く特定の重い処理だけに合わせてマシンスペックを上げる必要がある
• 効果
• アクセスあった時など必要時のみ稼働し費用が加算されるようになった
• それぞれの機能にあったマシンスペックの設定などのチューニングが行えるように
なった


# Page. 18

![Page Image](https://bcdn.docswell.com/page/57GXGXY5EL.jpg)

Azure サービスへの移行
データの冗長性の向上
• 問題点
• ファイルもデータベースのデータも仮想マシン上に保持していた
• 日毎のバックアップは取っていたがその間に何かあれば失われる
• バックアップからの復旧もマシン単位になる
• 効果
• 専用のストレージサービスにより自動的にレプリケーションが作られる
• 専用のデータベースサービスにより高度な可用性のある構成を楽に作れる
• バックアップ・レプリケーション・フェイルオーバー・etc...


# Page. 19

![Page Image](https://bcdn.docswell.com/page/4EQ8X8MLJP.jpg)

Azure サービスへの移行


# Page. 20

![Page Image](https://bcdn.docswell.com/page/KJ4262V5E1.jpg)

Azure サービスへの移行
サービスの可用性の向上
• 問題点
• マシン1台では捌ける処理負荷もディスク容量も限界がある
• マシン1台だと障害発生時にサービス全体が停止する
• 自前で複数台にするには設定や実装コストがかかりメンテナンスコストも上がる
• 効果
• 専用サービスと SDK を利用するだけで機能を分離できた
• Azure 自体が落ちない限りはマシンメンテナンスなしで動き続けてくれる
• 負荷に応じて自動的にマシンの増減に近いことをやってくれる


# Page. 21

![Page Image](https://bcdn.docswell.com/page/LE1MVM327G.jpg)

Azure サービスへの移行


# Page. 22

![Page Image](https://bcdn.docswell.com/page/GEW3L3P2E2.jpg)

アジェンダ
1. はじめに
2. torinome のご紹介
3. Azure サービスへの移行
4. 大規模点群対応
5. リリースサイクルの効率化
6. おわりに


# Page. 23

![Page Image](https://bcdn.docswell.com/page/47ZVMVK4E3.jpg)

大規模点群対応
大規模点群（5GB の las ファイル等）の対応が必要
【対応】
Azure サービス移行に伴い、 ファイルアップロードはAzure SDK を用いて
ブラウザから直接 Blob Storage へアップロードするよう処理を最適化した
【効果】
Azure SDK を用いることで、ファイルサイズが大きな場合は分割して並列アップロードされる
ため、分割アップロード実装の工数を吸収してくれた
独自 API を介さずブラウザから Blob Storage へ直接アップロードすることで、処理負荷
が軽減された


# Page. 24

![Page Image](https://bcdn.docswell.com/page/YJ65N5QG7V.jpg)

大規模点群対応
5GBのlasファイルを表示する例（場所：五反田）


# Page. 25

![Page Image](https://bcdn.docswell.com/page/GJ5Y5YRXJ4.jpg)

拡張性を重視したファイル変換システム
Cesium JS をコアライブラリとして使用
Webブラウザ用3D地図ライブラリ
Las ファイルを Cesium JS で表示するためには、
専用のファイルフォーマット(3D Tiles)へ変換が必要


# Page. 26

![Page Image](https://bcdn.docswell.com/page/9E2GNGDQER.jpg)

拡張性を重視したファイル変換システム


# Page. 27

![Page Image](https://bcdn.docswell.com/page/D7YVPV2Y7M.jpg)

拡張性を重視したファイル変換システム
•
•
•
変換処理モジュールは各ファイル形式ごとに Container Instances に分離
今後新たなファイル形式の対応が必要になった場合に機能拡張しやすい構成
Las ファイルの場合は 3D Tiles へ変換


# Page. 28

![Page Image](https://bcdn.docswell.com/page/VENM5M8RJ8.jpg)

アジェンダ
1. はじめに
2. torinome のご紹介
3. Azure サービスへの移行
4. 大規模点群対応
5. リリースサイクルの効率化
6. おわりに


# Page. 29

![Page Image](https://bcdn.docswell.com/page/Y79NYNKZ73.jpg)

CI/CD
品質の維持と 「開発→デプロイ→リリース」 のサイクルの迅速化
使用ツール
IaC ツール: Terraform
CI/CD ツール: GitHub Actions
テストツール: Jest


# Page. 30

![Page Image](https://bcdn.docswell.com/page/G78K6K2YJD.jpg)

CI/CD
ソースコード変更時の自動テスト
テストフレームワークの Jest を使って開発時にユニットテストを記述
• タスクランナーの husky で push 前に自動テストを実行
• GitHub Actions で Pull Request 時に自動テストを実行
⇒品質を維持・保証できる
⇒安心して大きな変更ができる


# Page. 31

![Page Image](https://bcdn.docswell.com/page/L7LZ9Z29ER.jpg)

CI/CD
インフラ構築
Terraform を使用してコードで管理
⇒ミスを削減できる
⇒トラブルがあった場合でも前の構成に簡単に戻せる
注意点
比較的新しいサービスは Terraform の AzureRM プロバイダーでカバーされていないことがある
⇒ AzAPI プロバイダーを使用する
Azure REST API を管理するプロバイダーのため、新しいサービスも扱える


# Page. 32

![Page Image](https://bcdn.docswell.com/page/4EMVZV8VEW.jpg)

CI/CD
新環境作成時の手順
• 新環境に必要なパラメータを設定したファイルを用意する
• terraform を実行する
⇒構築が簡単
⇒ミスを削減できる
用意するのはこれだけ→


# Page. 33

![Page Image](https://bcdn.docswell.com/page/PER2625W79.jpg)

CI/CD
開発環境・本番環境へデプロイ時の手順
• GitHub Actions を使用
• 各環境へ GitHub でボタンを押す
⇒即時反映できる
⇒開発環境ですぐに動かして確認できる
ボタンを押すだけ→
今後は変更をマージ時に自動反映予定


# Page. 34

![Page Image](https://bcdn.docswell.com/page/P7XDMDKVJX.jpg)

アジェンダ
1. はじめに
2. torinome のご紹介
3. Azure サービスへの移行
4. 大規模点群対応
5. リリースサイクルの効率化
6. おわりに


# Page. 35

![Page Image](https://bcdn.docswell.com/page/37KXGX55JD.jpg)

おわりに
基調講演でリリース発表


# Page. 36

![Page Image](https://bcdn.docswell.com/page/LJ35N5K175.jpg)

おわりに
https://hololab.co.jp/HoloMaps
常設 torinome 体験展示
16:00-16:45 テーブルセッション D4 「Ask the Speaker」


