Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Maplatの最新状況 –流行りのGTFSともコラボしてみた– 神戸バージョン

Maplatの最新状況 –流行りのGTFSともコラボしてみた– 神戸バージョン

Maplat FOSS4G Kobe 発表

Code for History

October 13, 2019
Tweet

More Decks by Code for History

Other Decks in Technology

Transcript

  1. 目次 • 発表者紹介 • Maplatとは • 座標変換の手法(同相変換保証) • 線から線への変換 •

    EcmaScriptモジュール化 • 他技術との比較 • Maplatの適用例 • 今後の展開(2018年の進捗状況確認) 2
  2. • 大塚 恒平 • エンターテイメント系位置情報ビジネスで 15 年 • マピオン社(現ワンコンパス社)- 位置情報ゲーム「ケータイ国盗り合

    戦」の立ち上げに参加。ゲームシナリオ作成やプログラム実装など、企画 と技術双方のディレクターとして活躍。 • ATR-Promotions 社(現 Stroly 社)- スマホ向け古地図アプリの立ち上げに参 加。プログラム実装や特許技術開発など、企画と技術双方のディレクター として活躍。 • 現在は HERE Technologies 社において、地図コンテンツとプラットフォーム 双方の営業サポートエンジニアとして勤務。 • 余暇ではボランタリーに、本発表で取り上げる Maplat の開発を含む オープンデータ、オープンソースの活動を行なっている。この8月、新た な Code for Japan の非地域ブリゲートとして Code for History を立ち上 げた。 4
  3. Code for History • MaplatはCode for Naraの元で誕生 • 製作者が関東に移ってもCode for

    Naraの下に間借 りしていたが、出て行けとそろそろちゃんとし た方がいいかなと思いCode for Historyとい う団体を立ち上げた • 特に行動実態はない • 絶賛参加募集中!もれなく会員になれます! 5
  4. 既存の GIS を用いて古地図や絵地図を 扱う際の問題点 (1) • 古地図や絵地図は地域の魅力が詰まっているので、観光や教育用途に とても有用なはず、しかし… • 歴史的素養の少ない一般の人にとって、古地図を読み解いて現在の街

    並みと照らし合わせるのは至難の技 • 既存の GIS は古地図を現在地図に重ね合わせることはできるが、古地 図の側を酷く歪めてしまい、その持つ魅力を半減させてしまう 8
  5. 同相変換とは • どんな地図の間でも、同じ 点を連続変換すれば必ず同 じ場所に戻り、かつ隣の点 と連続することが保証 • 地図の内部だけではなく、 地図外の座標領域含め一意 に相互変換

    • ただし、データのトポロ ジーエラーが解決されてい る事が必要(エラーの有無 はMaplatEditorで判定可能) • 既存GISの技術蓄積を継承 13
  6. 全単射?同相? • FOSS4G 2019 Niigataまでは「全単射 (bijective)」に対応していると主張していた • 国土地理院のえらいひと(鎌田参事官)から、 「全単射だけでなく同相(homeomorphic)も 実現してるから、そう主張した方がいいよ」

    とアドバイスをいただいた • 点の変換が元の場所に戻る(全単射)だけで なく、その点同士の連続性も維持される(同 相)の方が数学的に高度な概念 14 黒幕:鎌田参事官 ©北海道地理空間フォーラム 全単射じゃなく 同相だお
  7. 他技術との比較 (2) 対応機能比較マトリクス 34 Items Stroly Maplat 公開の容易さ ✔:編集後すぐ公開可能 ×:手作業デプロイ

    同相変換 × ✔:特許審査中 方角縮尺変換 ×:縮尺変換にバグあり ✔:方角も縮尺もぴったり変換 線から線への変換 × ✔ 地図重ね合わせ ×:切り替えのみ、もっさり ✔:常時重ね合わせ、きびきび オフライン対応 × ✔:PWA 対応 ネットワーク環境 ×:インターネット環境のみ ✔:イントラ、ローカル動作可 HTML 埋め込み対応 ×:IFRAME での埋め込みのみ ✔:DIV 埋め込み、API 制御可能 シェア機能 ×:地図ページのシェアのみ ✔:地図ページと視点のシェア可能 モバイル対応 ×:自社アプリ開発のみ ✔:iOS と Android のライブラリ提供 POI 機能 ×:情報表示のみ ✔:リンクにより動作や遷移制御可 オープンソース × ✔
  8. 直近の展開(2018年) • 他ソースからのデータ変換機能 • Stroly, David Ramsey Collection, MapWarperなどの他ソースからMaplat形式へ 自動変換する機能をMaplatEditorに追加

    • MapWarperはオープンソースなので、それ自身を改造してMaplat表示する 機能を準備 • モバイルネイティブインタフェースの準備 • 未ライブラリ化の動作サンプルは既に公開済み • ライブラリ化は2018年6月公開予定 • API部品化をさらに徹底、表示機能とUI機能を分離 • PWA化の徹底、SPA(Single Page Application)化などはAPIインタフェースを通 じて実現 41
  9. 直近の展開(2019年チェック) • 他ソースからのデータ変換機能 • Stroly, David Ramsey Collection, MapWarperなどの他ソースからMaplat形式へ 自動変換する機能をMaplatEditorに追加

    • MapWarperはオープンソースなので、それ自身を改造してMaplat表示する 機能を準備 • モバイルネイティブインタフェースの準備 • 未ライブラリ化の動作サンプルは既に公開済み • ライブラリ化は2018年6月公開予定 • API部品化をさらに徹底、表示機能とUI機能を分離 • PWA化の徹底、SPA(Single Page Application)化などはAPIインタフェースを通 じて実現 42
  10. 独自ノウハウの拡充(2018年) • 点と点だけでなく、線を線に変換する技術検討中 • 地図の定義と変換テーブル、タイル画像をセットとしてまとめて配信 できるデータフォーマット検討中 • WebからはHTTP Byte Rangeリクエストでランダムアクセス

    • サーバレスでの関連諸技術検討中 • 古地図タイル化をサーバレスで実施 • 分散型古地図共有リポジトリ • 古地図データの登録を受け付ける登録API • 古地図の存在はベクトルタイルで検知 両者を点ではなく線として変換する 43 © OpenStreetMap
  11. 独自ノウハウの拡充(2019年チェック) • 点と点だけでなく、線を線に変換する技術検討中 • 地図の定義と変換テーブル、タイル画像をセットとしてまとめて配信 できるデータフォーマット検討中 • WebからはHTTP Byte Rangeリクエストでランダムアクセス

    • サーバレスでの関連諸技術検討中 • 古地図タイル化をサーバレスで実施 • 分散型古地図共有リポジトリ • 古地図データの登録を受け付ける登録API • 古地図の存在はベクトルタイルで検知 両者を点ではなく線として変換する 44 © OpenStreetMap
  12. 将来の展開(2018年) • 3D Maplatの実現 • 国土地理院の標高タイル形式でMaplat古地図タイル向けの標高タイルを定義す ることは可能(というか既にテスト作成済み) • Cesiumで読み込ませて古地図タイルと表示する事で、古地図の3D表示が実現可能 •

    高さの値の正規化要否は検討要 • 鳥瞰図、写真Maplatの実現 • 比較対象投影地図側に高さ情報を含んだ投影を想定 • 鳥瞰図上で現在地表示、写真を3D地図に重ね合わせ • 古写真、浮世絵と現代写真、3D地図の重ね合わせ 47
  13. 将来の展開(2019年チェック) • 3D Maplatの実現 • 国土地理院の標高タイル形式でMaplat古地図タイル向けの標高タイルを定義す ることは可能(というか既にテスト作成済み) • Cesiumで読み込ませて古地図タイルと表示する事で、古地図の3D表示が実現可能 •

    高さの値の正規化要否は検討要 • 鳥瞰図、写真Maplatの実現 • 比較対象投影地図側に高さ情報を含んだ投影を想定 • 鳥瞰図上で現在地表示、写真を3D地図に重ね合わせ • 古写真、浮世絵と現代写真、3D地図の重ね合わせ 48 © 大阪市立大学
  14. 2019年の新たな宿題(3) • 様々な用途に使えるGCPの流通仕様として、Maplatデータ フォーマットを整備 • 既存のGISによる歪ませるアプローチも、街歩きなどには向かないだけで無意味な わけでは全くない <= 同じGCPの情報が使える •

    2018年の今後の展開でも書いた、古地図の注視度インデックスなどにも使えるかも • GCP(および対応線)を古地図のメタデータとして普及させたい • 課題 • トポロジーエラー解消のために便宜的に加えたGCPをちゃんと見分けられるように • GCPの種類(施設の位置の対応、交差点の対応、地物の角の対応、etc)を見分けられるよ うに 51