見出し画像

位置情報を伝える技術

こんにちは、SmartHR の CTO の芹澤です。
この記事は SmartHR Advent Calendar 2019 25日目の記事です。
何を書いても良いと言われたので、僕の好きな位置情報のお話をします。

会社に来てほしい

画像1

さて、SmartHR という会社で働いていると、知人や関係者を会社に招待するような場面に遭遇します。
現代社会はとても便利なもので、インターネットで社名を検索すればすぐに地図上にピンが落とされ、場所および経路の情報が得られます。
また、多くのメッセンジャーアプリは「位置情報を送る」機能を備え、特定のランドマークに頼らずとも、位置情報を相手に正確に伝えることはそこまで難しくありません。これはモバイル端末の普及および高性能化がもたらした功績の1つと言えるでしょう。
しかし、いつなんどき、それらの手段が存在しない世界線に迷い込むかわかりません。そのような状況になっても、焦らず、正確に位置情報を伝えられる用に、手札を増やしておきましょう。

緯度経度

画像2

ちなみに、書き出しに失敗したのですが、これはネタ記事なのです。どうか温かい目で見守ってくださいませ。
緯度経度は地球表面上での位置を示すための座標表現です。電子端末で位置情報を扱う場合、ほとんどは内部的にそれを緯度経度として処理しているはずです。
緯度経度は地点の情報を小数値で扱える性質上、以下のメリットを持ちます。

・数学的な計算が容易
・データとして保持するのが容易
・ポリラインやポリゴンと言った表現にも適用可能

とにかく機械に優しいフォーマットなのですが、逆に言うと人間が素のまま扱うのは非常に困難です。任意の地点の緯度経度をソラで唱える人がいたら、おそらくそれは特殊な能力の持ち主として扱われますし、数字の羅列は読む・書く・話すのいずれにも適さないものと言えるでしょう。
また、隠れたウィークポイントとして「測地系」というメタデータがないとズレた解釈がされてしまうという点があります。上記のやりとりに関して、僕は「世界測地系」のつもりで伝えているのですが、もし相手が「日本測地系」として解釈した場合、残念なことに赤坂方面にある「日本銀行氷川分館」というスポットにたどり着く結果になります。緯度経度を相手に伝える場合は、必ず測地系も添えましょう。

地域メッシュ

スクリーンショット 2019-12-25 7.39.44

おっと、大変なミスを犯してしまいました。地域メッシュはその名の通り地図上における矩形の範囲を表すもので、地点を表すものではありません。最大限の気を遣って 1/8 地域メッシュで伝えたものの、相手は1辺約125mの矩形エリアをさまよい、僕を探し出す結果となります。建物が密集している地域では地獄を見るでしょう。
地域メッシュとは、緯度・経度に基づいて地域を隙間なく網の目の区域に分けたものです。JIS 規格で仕様が定められている日本独自の概念であり、対象エリアも日本に限定されています。
1辺約80kmの「第1次メッシュ」をベースとして、それを細かくしていったものが「第2次」「第3次」と続きます。コードは階層構造で管理されていて、桁数を指定すれば任意の階層のコードが取れる特徴があります。例えば、上記のやりとりのものだと最初の4桁である「5339」が第1次メッシュコードです。
また、コードは「分割した時の縦横それぞれ何番目のメッシュか」みたいなルールのもとに決定されているため、緯度経度との対応が割と容易だったりします。
そんな地域メッシュの主な利用用途はズバリ「統計」です。渋滞発生率や家賃の相場、飲食店の平均価格と言った値をもとに、地域ごとの特徴として分析する際に用いられます。コードの階層構造は、集計をする際の粒度の調整に役立つわけです。間違っても、自分の居場所を伝える際に使わないようにしましょう。

GeoHex

画像4

ああ、GeoHex を選んでしまいましたね。GeoHex は地域メッシュと同じく地域を表すものですが、以下の点で差異があります。

・ほぼ世界中(GoogleMaps のカバーエリア)を表現できる
・表す地域の形が正六角形(Hex)をしていて、隣接する Hex 間の距離がどの方向でも均一となる
・Hex の大きさが25段階に分けられていて、ほぼ座標と言っても変わらないような小さな単位でも扱える

地域メッシュ同様、コードが体系的に組み立てられているので、統計的な計算が容易なのと、何より地図上に Hex を表示した時に「なんだかカッコイイ!」という特徴があります。人間は、隙間なく敷き詰められた六角形に特別な何かを感じるのです。ゲームとの親和性が推されているのも納得できます。
とはいえ、GeoHex から瞬時に場所のあたりをつけられる人は滅多にいませんので、自分の居場所を伝える際には極力利用しないようにしましょう。

住所

画像5

はい、住所です。おそらく、日本において非電子的な方法で位置情報を伝える際に一番使われているフォーマットでしょう。
上記でやりとりされているようなものは正確には「住居表示」と呼び、郵便物を配達しやすくしたりするために整備されたものです。なので、これを元に区画が整理されている地域においては、この情報だけで目的の建物にたどり着けるようになっています(もちろん例外はあります)。
住所は今まで紹介してきたものの何よりも「人間に優しい」フォーマットであり、読む・書く・話すのいずれにもマッチする優れものです。住居や職場の住所をソラで唱える能力は、さほど珍しいものとして扱われませんし、日本にある程度住んでいる人であれば、知らない住所を聞いても、(都道府県レベルであれ)なんとなくの位置のアタリはつけられると思います。
逆にいうと、とにかく機械で処理するのが厳しいフォーマットとも言えます。

・住所文字列から緯度経度を割り出すためには対応表が必須
・稀に統廃合が発生するため、永続化させると使えなくなる可能性がある
・機械的に処理するための分かち書きの難易度が高い

特に分かち書きに関しては、涙を流したエンジニアの方もいるかと思います。「鹿児島県志布志市志布志町志布志」や「京都府京都市東山区三条通南裏二筋目白川筋西入二丁目北側北木之元町」などは、機械はおろか人間でも初見で理解するのは難しい例と言えます。ちなみに、この京都の住所は「通り名」と呼ばれ、前述の「住居表示」が採用されていない住所の一例です。

what3words

画像6

what3words をご存知でしょうか。これは、地球を57兆個のマスに分割し、それぞれに3つの単語を割り当てたものです。マスの1辺は 3m なので、かなり細かく位置情報を指定できるものとなっています。
これの革命的な点は、やはりその覚えやすさでしょう。機械的に地域を区切ってそこにコードを振るという点では、地域メッシュや GeoHex と同じ発想ですが、それらと違うのは、体系的なコードの割り振りはせず、人間の覚えやすさに全振りしているということです。
かくれんぼ・れいぞうこ・ひらいて」などは、極めて連想しやすい3単語であり、何回か唱えれば覚えてしまうでしょう。
また、人間への優しさを持ちつつ、機械にも優しいフォーマットになっているのもポイントです。文字列からの解析はもちろん、音声データからの解析も比較的容易で、 VUI との組み合わせも期待できます。
緯度経度を得るためには what3words に頼る必要がありますが、モダンに位置情報を伝える方法として活躍が見込めるテクノロジーと言えるでしょう。
もちろん日本語以外の単語にも対応されていて、「かくれんぼ・れいぞうこ・ひらいて」は英語だと「tame.display.action」となります。オフィスビルの場所に tame という単語を割り振るとは、なかなか趣を感じませんか。

会社に来てほしい

さて、ここまで読んでいただいた皆様におかれましては、すでに SmartHR 社の位置情報はあらゆる形式でインプットされていると思いますが、極め付けとして「会社への案内」をお伝えします。

位置情報になくて案内にあるもの、それは「人の温もり」であることがよくわかりますね。
「場所と行き方は分かったけど、アポがないよ!」と思うかもしれません。アポの取り方はいくつかあると思いますが、まずはカジュアル面談から始めるのはいかがでしょうか。SmartHR 社では現在、全方位的にメンバーを募集しています。

興味がありましたら、ぜひご応募くださいませ。
ちなみに、SmartHR のサービスでは現時点では位置情報を使うような機能はないのですが、将来的には、データ分析的な観点で扱う日が来るかもしれません。ジオコーディングに興味のある方がいましたら、ぜひお話ししましょう。

この記事が気に入ったらサポートをしてみませんか?