Code for History

"Code for History"はIT技術を歴史学上の問題の解決に使うコミュニティです。強調したいのは、我々にとってIT技術は「手段」であって「目的」ではありません。「目的」は歴史学上の問題を解決する事であって、必要であればITでない手段も活用します。常に最優先なのは、問題を解決することです。

StrolyとMaplatの長短比較

StrolyMaplatの長所短所比較を聞かれることが何度かあったので、その際に都度答えた内容をいくつか組み合わせて、記事として起こしてみました。

全体として、技術的な面と運用的な面での長短に分けて記載します。

技術的な面での比較

双方の長短がわかりそうな代表的な地図をセレクトしてみました。

Stroly:
https://m.stroly.com/a/i#1522409396

Maplat:
https://s.maplat.jp/r/naramap/

Stroly - 1つの画像に複数の地図が共存可能

まず、Strolyにアクセスしてみると、日本地図が見えますが、周辺に北海道や台湾、東京や大阪の拡大図などがメインの画面と区切られた地域に存在します。
そういった、メインの地図と区切られた地域に地図の中心を持っていって、地図を現代地図に切り替えると、ちゃんと台湾や大阪が表示されます。
別の言い方をすると、Strolyは一枚の画像の中に複数の地図が存在する場合、それぞれに対応できます。
残念ながら、Maplatは現状、まだこれには対応しておらず、 一枚の画像の中の単一の地図にしか対応できません*1

Maplat - 古地図絵地図と現代地図をぴったり重ね合わせ、半透過重ね合わせも可能

これが技術的にStrolyのMaplatに勝っている部分ですが、逆にStrolyの欠点は、Stroly側で地図を切り替えてもらえばわかりますが、地図がぴったりとサイズ一致しないと思います。
絵地図と、現代地図と、双方が微妙に違うサイズに表示され、ぴったり重ならないはずです。
また地図の表示ズームだけでなく、朝鮮半島のあたりで切り替えてもらえばわかりますが、絵地図側の方角が少しズレているのも、切り替えても双方の傾きがズレたままで、ぴったり合わないと思います。
これは、StrolyのWeb版は今表示している範囲の中心点で位置が合うだけで、地図全体でズームをぴったり合わせたり、方角をぴったり合わせたりする機能がない事が原因です。
それに対し、Maplatの方は、地図を切り替えてもらえばわかりますが、中心点だけでなく、地図のスケールや方角も比較的ぴったり合わせて地図を切り替える事ができます。
都度ぴったり合わせるよう計算しているので、リアルタイムに背景画像として現代地図を表示することもできますし、古地図側を透過表示して重なり具合を確かめる事も出来ます。
これによって、実際に古地図や絵地図と切り替えた現代地図が、本当に同じ場所を表している地図である、ということが視覚的直感的にわかりやすいというのがMaplatの長所です。

Maplat - 地図間の座標変換で1対1変換、必ず元の場所に戻ってくる

また、ちょっとわかりにくいMaplatの利点なのですが、Maplatは絵地図と現代地図(或いは絵地図と絵地図間でも可能)で座標を変換する際、ある地点を変換して、もう一度逆変換した際、絶対に元の場所に戻ってくるよう設計されています*2

jsfiddle.net

こちらのサイトを見てみてください。
右下に地図とその上にメッシュが出てくると思いますが、StrolyとMaplatで同じデータを使って、絵地図の上の格子状の点を経緯度に変換し、その経緯度をさらに絵地図上の座標に逆変換した結果を描画しています。
深紅がMaplatの結果で、黄色がStrolyの結果です。
双方向きちんと元の場所に戻ってくるように変換されていれば、ちゃんと格子になるはずなのですが、Strolyの方は特に右下付近などでぐちゃぐちゃに変換されているのに対し、Maplat側は綺麗に格子に戻っています。

技術的な優劣はこんな感じですが、この辺の内容はだいたいこちらのプレゼンにまとめてあります(ただしMaplatの方が優れている部分の視点のみ)。

www.slideshare.net

運用的な面での比較

Stroly - 手軽に始めて手軽に配信、オールインワンのウェブエディタ

運用的な面でのStrolyの優位性は、何と言っても手軽さにあるでしょう。 企業が十分に労力をかけて整備しているサービスですから、Twitterアカウントなどでログインすればすぐに使い始められて、チュートリアル等も豊富、編集が終わればデータはすぐ地図をサービス提供できる手軽さは、一人の開発でドキュメントの整備なども手が回らないMaplatでは全く太刀打ちできません。
Maplatで地図を提供しようと思うと、ドキュメントも不十分なエディタを使ってデータを作成し、一部エディタがまだ対応しきれていない部分は手作業でデータを作り、それをサーバ等に適切に配置して、初めて提供できるようになります。
手軽さの度合いは比べるべくもありません。

Maplat - オープンソースライブラリ故の自由度、カスタマイズもオフライン環境でも自由自在

が、Strolyはサービスです。
サービスであること、またその手軽さとの引き換えとして、使い方の自由度がありません。
決まった地図UIでしか地図を提供できませんし、もちろんカスタマイズは可能ですが、そのためにはStroly社と契約して、カスタマイズ費用を払い、特別に専用UIを開発してもらうしかありません。

それと比べて、Maplatはライブラリです。
自由度はStrolyと比べ物になりません。
普通にデフォルトの設定で使って標準のUIを出すこともできますが、UI表示をオフにして、メソッドとイベント経由で動作を制御して、完全にオリジナルなUIで動作するようにすることもできます。
地図だけのページではなく、普通のHTMLページの中の一部分にだけ表示するようにもできます。
表示の自由度だけでなく、配信の方法も、Stroly社のサーバからサービスとしてオンラインでしか配信できないStrolyと違い、Maplatはライブラリなので配信に必要な材料さえ揃っていればどこの会社のサーバからでも、完全オフラインな環境(例えばネットワークの繋がっていない街頭のデジタルサイネージなど)からですら地図コンテンツを配信できます。
ドキュメントなどが揃ってない分ハードルは高いですが、理解して使っていただければ自由度はStrolyとは比べ物になりません。
しかも、オープンソースなので、どんなにカスタマイズしても利用は無料です*3

Maplat - オリジナルモバイルアプリの開発の中にもライブラリとして組み込み可能

またモバイル対応も、StrolyはiOSAndroidに対応していますが、Stroly社独自のアプリとしての実装しかありません。
カスタマイズで機能をつけようと思うとStroly社に開発を依頼する必要があり、地図表示機能だけを提供して、あとは別の会社が自由に機能を開発できるようなモバイルライブラリの提供はありません。
が、Maplatは、モバイルで自由なアプリを開発していただけるライブラリの形で提供しています*4
なので、Maplatの機能を一部として埋め込んだ、独自のアプリを自由に作っていただけます。

以上が、運用面でのStrolyとMaplatの比較です。

結論:長短を把握して、用途によって使い分け

以上がStrolyとMaplatを比較した、長短の提示になります。
私はMaplatの開発者ですので、当然Maplatの利用が伸びればいいと思っていますが、やはり現状一長一短があり用途によって向いている向いていないがありますので、この記事を参考に向いているソリューションを選んでいただければと思います。
Maplatを利用されるにあたり不明な点などあれば、ぜひrekishikokudo@tilemap.jpにご連絡いただくか、Maplatレポジトリのissueページなどで質問してみてください。

*1:技術的には対応可能です。もともとStrolyの複数地図対応仕様を考えたのは私ですので。ただ、開発が追いついておらず、また結構な量の開発工数がかかるので、すぐに対応するのはほぼ不可能です。

*2:Maplatはこの実現手法で特許出願中です。特願2017-218223

*3:もちろん、私にヘルプを要求される場合は実働に応じて人件費は請求いたしますが...ライセンス費用的なものは不要です

*4:正確には、Androidはモバイルライブラリ化が完成していますが、iOSは7月末完成予定です

© Code for History