世界の測量

Sibling of "Relevant, Timely, and Accurate, " but much lighter and shorter ※自らの所属する組織の見解を示すものでない

アビエーション、ココタイル、Web地図のスクロール一時停止機能、ウィキ

PART I: アビエーション

2010年代も3年目が過ぎ去ろうとしている。2010年代の1/4は過ぎ去ってしまい、いよいよ来年からは2010年代前半の到達点を探る時期になってくると思う。

2010年の6月に、@niyalist さんに機会をいただいて「Web時代のGIS技術研究会」(第1回)で発表をさせていただいた。その時の資料は
Web+GISという視点から見たGISの方向性
に今も残っている。事態の進展はあるが、技術の流れとしては、このときにお話した方向を外れていないと思う。Geo+Web技術というのは、ある時期の蒸気船技術や、ある時期の航空技術に匹敵するような技術であり、そのような技術の急進期である2010年代に居合わせることができるというのは、エンジニアとして本当に幸せなことだと思っている。

Web+GISという視点から見たGISの方向性の冒頭でイメージを掲げた通り、2010年代のGeo+Web技術というのは、航空技術におけるユンカースの時代に似ていると思う。G-23・Ju52が出現してくる時代であり、2020年代と比べても、むしろ技術が生活の身近に見えるくらいの時代である。2020年代はおそらく既にDC-3の時代であり、技術よりもビジネスが卓越する時代になるだろう。2010年代は、技術がビジネスを形作っていく時代であると思う。

2010年代の中間に向かうにあたって、鍵となる技術はやはり、地図タイル技術であると思う。ユンカースにおける鋼管骨格や波形外板に相当するような技術が地図タイル技術であり、2010年代の後半にはすでに陳腐化していくものと思われるが、それ以前の技術とは実用性のレベルが桁違いに高いものであり、汎用性の高い技術として、陳腐化したのちですら、一定のレベルで使われていくところの技術であると思われる。

来年2013年については、まだまだ地図タイル技術を深めつつ普及することが有効な時期だと思う。引き続き、地図タイル技術を掘り下げ、また普及させていきたい。また、地図タイル技術が開く、非技術面の可能性についても、考察を進めていきたい。

そのための緩い枠組みとして、次のようにして Facebook ページ「地図タイル工法協会」を立ち上げることができたことは、大変名誉なことであった。
http://twitter.com/_hfu_/status/259086954581344256

PART II: ココタイル

地図タイル技術を深めていくための一つのパーツとして、ココタイルという要素を考えており、@kochizufan さん他の歴史国土や、@tmizu23 さんの OpenTileMap とも呼応しながら、検討を進めている。基本的なアイディアは、現在の場所にあるタイルセットを自動的に検知し、それだけを選択可能な選択肢として提示する Web 地図パーツが「ココタイル」であるということである。命名は、次のようにしてなされた。
http://twitter.com/_hfu_/status/269212474945982464

ココタイルは、www.handygeospatial.infoで開発を進めており、現在の最新版は、Cocotile 3 である。現在のところ、ココタイルは、mapbox.js (BSDライセンスhttps://github.com/mapbox/mapbox.js )の上に構築する形で開発を進めている。

PART III: Web地図のスクロール一時停止機能

ココタイルにかぎらず、www.handygeospatial.infoは、モバイルブラウザとPCブラウザとの両方で動くようなデザインとすることを心がけているが、デザインの重点はモバイルブラウザでの使い勝手に置いている。

モバイルブラウザ、とくにタブレットでの地図の使用感が紙と大きく違うのは、紙をなぞってコミュニケーションを取ることができないことであると思っている。紙地図であれば、紙をなぞりながら会話をするのに、タブレット地図で地図をなぞってしまうと、地図がスクロールされてしまうのである。これでは、タブレットを囲んで地図を使ってコミュニケーションをすることが難しい。

そこで、Web地図のスクロール停止が容易にできれば良いのではと思い、そのためのUIを考えて実装してみた。

具体的には、地図中心をクリックすると、地図の四隅に三角形が出てくるようにした。この三角形は、紙や壁面に写真を固定するときに使用する紙の小片のアナロジーと考えていただきたい。この三角形が出てきている間は、地図のスクロールを抑制することにした。スクロールを再び受け入れるようにするには、地図中心をサイドクリックすれば良い。地図四隅の三角形は消え、再びスクロールができようになる。
実際にこの機能をお試しいただけるサイトは、Cocotile 3である。

Web地図のスクロールを抑制するための JavaScript 実装は、addEventListener にモンキーパッチをかける方法で行い、具体的には次のとおりとしている。

(function() {
  var m = document.getElementById('map');
  var o = m.addEventListener
  m.addEventListener = function(type, listener, use_capture) {
    l = function(evt) {
      evt.preventDefault();
      if(map.scroll_stopped) return;
      listener.call(this, evt);
    }
    o.call(this, type, l, use_capture);
  }
})();

PART III: ウィキ

ジオの世界において、公表情報を構造化したものを共有すると有効だと思ったので、github に Wiki を作成してみた。
Home · handygeospatial/info Wiki · GitHub
ライセンスをCC0とすることとする。中身はまだ全くないので、まずは私が書き込みを進めていこうと思っている。githubにアカウントを持てば誰でも編集できるとのことなので、内容を書き進んでいったころに、ご賛同をいただける方がいらっしゃれば、編集に参加をいただけるとありがたいと思っている。

おわりに

これは、FOSS4G Advent Calendar (http://atnd.org/events/34052) 用の記事である。