ぱそきいろのIT日記

ぱそきいろがITに関する記事を書いていきます。

what3word APIで漢字対応の検索サイトを作った話

こんにちは、ぱそきいろです。

what3wordsというサービスが面白かったのと、そのAPIを使って遊んでみました。
baptist.bubbleapps.io

what3wordsとは?

wikipediaには以下のようにあります。
what3words(ワットスリーワーズ)は、3メートルの解像度で場所を伝達するためのジオコーディングシステムである。what3wordsでは、地理的座標を3つの単語で符号化する。例えば、自由の女神像の持つ松明の位置は、"toned.melt.ship"の3語で表している。従来のほかの位置エンコードシステムとの違いは、長い文字(たとえば住所)や数字(たとえば経緯度)ではなく、3つの単語で簡単に表される点にある。

What3words - Wikipedia

一言で言うと、世界中のあらゆる地点を3語で表せるサービスです。
例えば皇居の位置を住所、緯度経度、what3wordsで表すと以下のようになります。

  • 住所 東京都千代田区千代田1-1
  • 緯度経度 緯度: 35.685175 経度: 139.7528
  • what3words ///おもち・させつ・どっさり

のようになります。

住所は長く、刺す位置が曖昧です。
今回の場合は以下の範囲が千代田区千代田1-1で表されます。
(正確では無いかもしれませんが、範囲が広い場合があると伝えたいです)
f:id:takabsk55:20201013002417j:plain


それに比べて緯度経度は一点を表すため曖昧さがありません。
しかし、これだけの桁数を覚えるのは容易ではありません。

これらを解決するのがwhat3wordsです。
この3単語で10m四方まで場所を限定することができます。
what3words.com

f:id:takabsk55:20201010172633p:plain


単語から場所を想像しづらいと言うことはありますが、待ち合わせや書類の記入が楽になっていいなと思いました。

使いにくい点

便利に思えるwhat3wordsですが、サイトで使いにくい点がありました。
what3words.com

例えば上記の例では「///おもち・させつ・どっさり」と入力すれば皇居が出てくるのですが、予測変換を利用して「///お餅・左折・どっさり」と漢字混じりで入力すると正しい場所を表示してくれません。
これは、主に海外の方が利用することを想定しているため漢字に対応していないのだと思われます。
ただ、これはいまいち使いにくい気がします。
幸いなことにwhat3wordはAPIを公開してくれてますのでこれを使って改善したサイトを作ろうと思います。

作ったもの

what3wordsで場所の検索を漢字対応したサイトを作りました。
baptist.bubbleapps.io
三つの検索窓に単語を入力すると場所を検索して下の地図に表示されます。
f:id:takabsk55:20201010172251p:plain

構成

フロントエンドにbubble.io、漢字をひらがなにするためにひらがな化api、バックエンドにaws lambdaを使っています。
f:id:takabsk55:20201010173036j:plain
what3words apiを叩く前にlambdaでひらがな化apiを叩いていて平仮名にしているという感じです。

まとめ

今回、技術的に新しいことを書くというよりも、what3wordsというサービスが面白そうという話でした。
ついでにapiを叩いて、bubbleを使って表示してみました。
これが普及したら「待ち合わせは『お餅・左折・どっさり』で!」というメッセージが飛び交うんですかね。
bubbleでハマったところや、google mapの認証でハマったところは時間があれば記事にします。
以上、ありがとうございました。