Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Maplat FOSS4G Kobe 発表

Avatar for Code for History

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