Top Banner
FOSS4Gだらけの 古地図Platform Maplatのご紹介 大塚恒平
25

FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

Apr 15, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

FOSS4Gだらけの 古地図Platform Maplatのご紹介大塚恒平

Page 2: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

MAPLATって?

Page 3: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

古地図/絵地図で街歩きができるアプリ/基礎技術

Page 4: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

https://github.com/code4nara/Maplat でgithub公開中

Page 5: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

https://github.com/code4nara/Maplat でgithub公開中

ハッカソンの成果が元

Page 6: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

https://github.com/code4nara/Maplat でgithub公開中

活発に開発中

Page 7: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

特徴

Page 8: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

• 従来のGIS手法と異なり、古地図を歪めず、美しさを損ねずに現代地図と切り替え • 全てオープンソース • データ作成ツール(QGIS)、座標変換ロジック(GDAL/turf.js)、表示API(OpenLayers3/Cesium(予定))まで、全てがFOSS4Gで構成 • 変換ロジック差し替え可、既存のTMS古地図変換とも共存可能 • 豊富なデータ作成ヘルパースクリプト

Page 9: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

データ作成

Page 10: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

QGIS Georeferencerで 対応点データ作成

Page 11: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

Helper Script群で 簡単にデータ変換/作成

Page 12: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

簡易サーバ内蔵で即動作確認

Page 13: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

機能詳細

Page 14: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

中心、範囲、方角を双方向計算し各地図切替

Page 15: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

変換ロジック切替可能

•  TIN(三角網による変換) •  Mapboxのturf.js利用、三角網外での変換は独自ノウハウで変換

•  初期起動が早い、変換速度はそこそこ •  TPS(シンプレートスプラインによる変換) •  gdalのc++コードをJavaScriptにコンパイル •  変換速度は速いが、変換テーブル事前作成が必要、変換テーブルファイルのファイルサイズが巨大

•  その他の変換ロジックも共存可能 (TMS等Webメルカトルベースの地図も含む)

Page 16: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

三角網外の変換の定義

この領域の変換は定義可能

この領域の変換を独自手法定義

Page 17: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

変換ロジック切替可能

•  TIN(三角網による変換) •  Mapboxのturf.js利用、三角網外での変換は独自ノウハウで変換

•  初期起動が早い、変換速度はそこそこ •  TPS(シンプレートスプラインによる変換) •  gdalのc++コードをJavaScriptにコンパイル •  変換速度は速いが、変換テーブル事前作成が必要、変換テーブルファイルのファイルサイズが巨大

•  その他の変換ロジックも共存可能 (TMS等Webメルカトルベースの地図も含む)

Page 18: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

デモhttps://code4nara.github.io/Maplat/?appid=ueda 上田市版https://code4nara.github.io/Maplat/?appid=iwate 盛岡市版https://code4nara.github.io/Maplat/?appid=sabae 鯖江市版https://code4nara.github.io/Maplat/?appid=nara 奈良市版

Page 19: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

今後の展開

Page 20: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

直近の展開

•  某商用観光アプリ(複数展開中)に採用決定 •  来年半ばごろに既存アプリへの機能追加予定、現在ノウハウ移管中

•  他ソースの自動読み込み/自動コンパイル機能 •  David Ramsey Collection, MapWarperなどの他ソースから自動変換

•  JavaScript以外への展開 •  個人的にはXamarin展開を優先したい

•  QGISだけでなく独自対応点データ生成ツール作成 •  サーバ型での提供は現状考えていない、electron等を使ったデスクトップツールを想定

•  後述する独自仕様や、協業元のフィードバック等も取り入れてQGISだけではできないことを実現

Page 21: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

独自ノウハウの拡充

•  点と点だけでなく、線を線に変換する技術開発中

•  地図の定義と変換テーブル、タイル画像をセットとしてまとめて配信できるデータフォーマット検討中 •  WebからはHTTP Byte Rangeリクエストでランダムアクセス

両者を点ではなく線として変換する

Page 22: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

副産物の活用

•  生成した対応点を元にシンプレートスプライン変換画像のTMSタイル等も提供 •  時代を橋渡ししての位置特定用途等に寄与 (明治期の地図の海岸線を使って、江戸期の海岸線の位置特定など)

•  TIN三角網での、実距離との比較を元に古地図/絵地図の歪み要素の比較指標を定義 •  古地図内での注視点ごとの歪み度合いを時代比較して主題の変化を確認

•  古地図ごとに 適な変換(Maplatを使うか、TMSタイルに変換するか)を評価する指標にもなりうる

Page 23: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

将来の展開

•  3D Maplatの実現 •  国土地理院の標高タイル形式でMaplat古地図タイル向けの標高タイルを定義することは可能(というか既にテスト作成済み)

•  Cesiumで読み込ませて古地図タイルと表示する事で、古地図の3D表示が実現可能

•  高さの値の正規化要否は検討要

• 鳥瞰図、写真Maplatの実現 •  比較対象投影地図側に高さ情報を含んだ投影を想定 •  鳥瞰図上で現在地表示、写真を3D地図に重ね合わせ •  古写真、浮世絵と現代写真、3D地図の重ね合わせ

Page 24: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)

日本発のFOSS4Gソリューション として広く世界に知られるよう 頑張ります

Page 25: FOSS4Gだらけの古地図Platform Maplatのご紹介 (OFF4G 2016)