要点
- 計算方法:Google の Open Location Code 仕様(Apache 2.0)を、現行のリファレンス実装と同じ整数演算で実装。2~15 桁のコードはランダムな 20,000 地点で Google のパッケージと一致し、セルの大きさは WGS84 楕円体上で測っています。
- ブラウザ内で動作します。クリックした場所、描いた図形、開いたファイルはアップロードされません。
- データとライブラリ:OpenFreeMap, MapLibre GL JS, Open Location Code (Plus Codes), GeoNames (via all-the-cities), GeographicLib (geographiclib-geodesic)。
- 無料で使えます。登録もインストールも不要です。
Plus Code(プラスコード)は、住所の代わりとして Google が無料で提供している仕組みです。8FVC9G8F+6X のように数字と英字に + 記号を加えた短い文字列で、地球上のどこにでもある小さな長方形を表します。Google Maps ではピンを立てるたびに Plus Code が表示され、番地のない地域での配達や緊急通報、イベントの案内状、アフリカやインドの一部での小包、スマートフォンで集める現地調査のデータなどに使われています。コードは全桁で書くことも、Google Maps のように末尾の 6~7 文字に町の名前を添えた形に短縮することもできます(例:9G8F+6X Zürich)。このページはどちらの形式も読み取れます。省略された先頭の文字は、コードの後ろの町、指定した町、または地図に表示中の範囲から補い、どの町を使ったかも表示します。結果として、地図上にセルが描かれ、その中心が十進度、度分秒、UTM で示され、地上での実際の大きさもわかります。逆方向の変換では、地点をクリックするか、町を検索するか、現在地を使うと、必要な長さのコードと、最寄りの町を使ったショートコードが表示されます。スプレッドシートの列のようなコードや座標のリストも、まとめて CSV、KML、GeoJSON に変換できます。
使い方
- Plus Code、町名付きのショートコード、または Google Maps のリンクを貼り付けて「表示」を押します。
- セルの中心を十進度、度分秒、UTM で読み取り、地図上でセルを確認します。
- または地図をクリックするか、町を検索するか、「現在地を使用」を押して、選んだ長さの Plus Code と最寄りの町を使ったショートコードを得ます。
- 値を個別にコピーするか、共有リンクをコピーするか、リストを CSV、KML、GeoJSON に変換します。
精度はどのくらい?
コードが表すのは点ではなく範囲
2 文字ごとに、前のセルを縦横 20 × 20 に分割します。2 文字で 20° × 20°、4 文字で 1° × 1°、6 文字で 0.05°(約 5.5 km)、8 文字で 0.0025°(約 275 m)、10 文字で 0.000125°、赤道上で約 14 × 14 m です。11 文字目からは 1 文字ごとにセルを 4 列 5 行に分割するため、11 桁で約 3.5 × 2.8 m、13 桁で約 22 × 11 cm になります。東西方向の幅は緯度の余弦に比例して狭まり、北緯 56° では 10 桁のセルが 7.8 × 13.9 m です。このページは各セルの幅と高さを WGS84 楕円体上で測っています。中心の座標はコードに対して正確ですが、相手が意図した場所はセル内のどこにあってもおかしくありません。
Google Maps と同じコード
コードは公開されている Open Location Code 仕様に基づき、Google の現行リファレンス実装と同じ整数演算でブラウザ内で計算されます。そのため、セルのちょうど境界上にある地点にも Google Maps と同じコードが付きます。Google の open-location-code パッケージとランダムな 20,000 地点で比較したところ、2~15 桁のすべてのコード、復号したすべてのセル、短縮したすべてのコードが一致しました。Plus Code は GPS や Web 地図と同じ測地系である WGS84 の緯度経度を使います。
知っておきたいこと
ショートコードには正しい町が必要
V75V+8R のようなショートコードでは、1° 四方の区画を決める最初の 4 文字が省略されています。この 4 文字はコードの後ろに書かれた町から復元され、このページは末尾の文字が一致するセルのうち、その町に最も近いものを選びます。Paris, France ならエッフェル塔の 8FW4V75V+8R になりますが、Paris, Texas なら同じショートコードが 7,800 km 離れた 8656V75V+8R になります。よくある地名の場合は町の後ろに国名を書くか("Paris, France")、「ショートコード用の町」で町を選んでください。町は対象の場所から約 50 km 以内にある必要があります。
使われない文字
Plus Code に使われるのは数字 2~9 と英字 C、F、G、H、J、M、P、Q、R、V、W、X だけです。単語を作らず、読み間違えにくいように選ばれています。0、1、A、B、E、I、L、O などの文字があれば入力ミスです。0 は 8FVC0000+ のような短縮された範囲コードの埋め文字としてのみ使われ、全桁のコードでは + 記号は必ず 8 文字目の後ろに来ます。
地図の表示範囲から補うショートコード
ショートコードに町が書かれておらず、町も選ばれていない場合、地図がある地域を表示していれば、その中心からコードを補完し、その旨を表示します。場所のおおよその位置がわかっていれば正しく補完されますが、セルを必ず確認してください。同じショートコードは緯度・経度 1° ごと、つまり約 111 km おきに繰り返し現れます。
よくある質問
Plus Code を緯度経度に変換するには?
8FVC9G8F+6X のようにコードを貼り付けて「表示」を押します。地図にセルが描かれ、パネルにその中心(チューリッヒの 47.365562, 8.524937)が十進度、度分秒、UTM で表示され、それぞれにコピーボタンが付いています。
9G8F+6X Zürich のようなショートコードはどうすればよいですか?
Google Maps の表示どおり、町の名前と一緒に貼り付けてください。町は GeoNames の地名リストから探され、省略された 4 文字を補って 8FVC9G8F+6X になります。町が見つからない場合は「ショートコード用の町」で選ぶか、地図をその地域にズームしてください。
現在地の Plus Code を調べるには?
「現在地を使用」を押すか、地図上で自宅をクリックします。パネルに 10 桁のコード、より小さなセルを表す 11 桁のコード、そして最寄りの町を使ったショートコード(エッフェル塔なら V75V+8R Paris)が表示されます。コピーして Google Maps に入力すれば確認できます。
Plus Code の精度はどのくらいですか?
Google Maps の標準である 10 桁のコードは、赤道上で約 14 × 14 m のセルで、極に近づくほど東西の幅が狭くなります。建物の入口を見つけるには十分です。11 桁のコードなら約 3 × 3 m まで絞り込め、門や駐車スペースを示せます。
スプレッドシートの Plus Code のリストを変換できますか?
はい。「リストを変換」を開き、スプレッドシートの列から 1 行に 1 つずつコードを貼り付けるか CSV ファイルを開いて、緯度、経度、セルの大きさを含む CSV、または Google Earth や GIS ソフト用の KML か GeoJSON として結果をダウンロードします。リスト内の座標には逆に Plus Code が付きます。
Plus Code と what3words は同じものですか?
いいえ。Plus Code は Google によるオープンで無料の仕組みで、誰でも計算でき、セルが入れ子になっており、近い場所のコードは似た文字列になります。what3words は 3 m 四方ごとに 3 つの単語を割り当てる独自のシステムで、その単語は専用のサービスなしには変換できません。
誤りや不足がありましたら、[email protected] までメールでお知らせください。修正いたします。