この記事はOpenStreetMap Advent Calendar 2020の23日目の記事を、26日目が過ぎてから書いているものです。
今年もいくつかのAdvent Calendarに参加して、多くを12/20の週末に書き溜めていたのですが、書き溜められなかったものはやはり次の週末まで書けませんでした。
申し訳ありません。
また、この記事は基本、State of the Map 2020 Japan Onlineでの私の発表を紹介するだけの記事です。
発表記事へのリンクはこちらになります。
A vision to make OSM data the backbone of history across time and space - Introduction to HTGCL -
発表以降の新たな情報は特にないので、以上、なのですが、それではあまりに不親切なので、簡単に説明を加えます。
何を発表したか
私の開発しているMaplatというオープンソースの古地図ビューアアプリがあるのですが、そのアプリの新しい機能である、線を線に対応する座標変換を使って、古地図を現代地図に対応させる際に、現代地図側の線ネットワークとしてOSMの道路や河川のネットワークを用いよう、という案について発表させていただきました。
そのことにより、OSMという現代の地図ネットワークを背骨として、過去のいくつもの時代の地図が共通の位置基盤を元につなげることができるようになるというアイデアです。
新概念HTGCL
Maplatの座標変換での新機能で、古地図と現代地図の位置を対応させる際に、線(道路や河川など)を線に対応させるものがあります。
従来のGISなどでの座標変換では、古地図と現代地図を対応させる際には、GCP(Ground Control Point)と呼ばれる点と点(たとえば現代地図の交差点と対応する古地図の交差点、など)を対応させて、点と点の間は計算で補完して対応させてきました。
しかしこの点を元に対応付ける方法だと、点と点を結ぶ線などは、中間で座標の対応がズレる場合などが発生してしまいます。
Maplatでは線を線に対応して変換させられるので、このような座標変換ズレは発生しません。
この、古地図座標変換での新しい「対応線」という概念を、対応点の際のGCPになぞらえて、HTGCL(Historical Topographic Ground Control Line)と名付けました。
HTGCLの現代地図側線ネットワークとして、OSMを使う案
このHTGCLを古地図ごとに作る際に、現代地図側の線ネットワークを古地図ごとに作り直す考え方もありますが、単純に重複して無駄な作業になりますし、また微妙なずれで対応づけにくくなる分、分析などで利用しづらくなります。
それを防ぐため、現代地図側の線ネットワークとして共通のOSMデータを用いようというのが、SotM Japan 2020で発表したアイデアの肝になります。
これが実現すると、これまで個別に現代地図と紐づいていた古地図が、OSMという線ネットワークを背骨のように共通に持って、強く結びつくようになります。
街の時代に伴う変化などを研究解析する際にも、マッピング済み古地図データの価値が高まることが期待されます。
実現に向けての課題
私は以前熱心にOSMの活動を行っていましたが、Maplatを始めてからは、そちらの活動が忙しすぎるためOSM活動はあまり行っていませんでした。
歴史を扱うMaplatに対し、OSMは現在を扱うので、今後はあまりOSMにかかわる機会もなくなるのかなと考えておりましたが、思わぬアイデアでOSMとかかわる可能性が生まれ、うれしく思っています。
とはいえ、このアイデアはまだ温めているレベルで、具体的な実装にはまだ至っていません。
解決すべき課題も多く、具体的な実装に移れるのは年レベルで後のことになるかもしれません。
たとえば、OSMデータを共通に背骨として持つといっても、OSMデータは誰もが自由に編集できるデータですから、昨日は1つだったラインが次の日には2つのラインに分割されていた、といったことも普通に起こるでしょうし、そのような際にどのように同一性を担保するか、といったところも難しい問題になります。
もしかすると、完全にOSMデータとしてノードIDなども取得して管理するよりも、もっとカジュアルに、現代地図側のHTGCLの編集を行っている際に、編集中の線のノードがOSMのノードにスナップされる機能、程度でもいいのかもしれません。
以上、古地図を扱う新概念HTGCLと、OSMデータを時代を結ぶ背骨にするアイデアについて、述べさせていただきました。