Plus Code短縮
基準地点47.5, 8.5の近くでは、完全なPlus Code 8FVC9G8F+6Xは9G8F+6Xに短縮されます。周辺の地域から補えるため、先頭の4文字を削ります。安全に復元できる分だけを削ります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- コード
- 8FVC9G8F+6X
- 緯度
- 47.5
- 経度
- 8.5
- 短縮コード
- 9G8F+6X
- 完全なコード
- 8FVC9G8F+6X
- 削除された文字数
- 4
- コードの長さ
- 10
Open Location Code(通称Plus Code)は、緯度と経度を、通り番号がなくても読み上げ・入力・印刷できる短い文字列に変換します。eight F V C nine G eight F plus six X のような完全コードは世界で一意ですが、日常の共有は多くの場合、既知の都市や地区の中で行われ、先頭の桁対は繰り返し、末尾のブロックだけが地点を特定します。本Plus Code短縮機能は、有効な完全コードと近傍の参照緯度・経度を受け取り、参照点とセル中心の近さを測り、Open Location Codeの安全規則が許す範囲で先頭の文字対を削除します。
参照地点に対するPlus Code短縮の仕組み
完全なOpen Location Codeは、地球上の矩形セルを、2から9および C F G H J M P Q R V W X の二十文字アルファベットで符号化し、八文字の後に必須のプラス区切りを置きます。先頭の十個の有効桁は緯度と経度の対を成し、二十の累乗でセルを細かくし、区切り後の任意の格子桁でさらに精緻化します。
既知の地域内で位置を共有する場合、先頭の四文字または六文字は近傍のどの地点でも同じになりやすく、情報よりノイズになります。短縮は固定接頭辞を削るだけではありません。
完全コードをセル中心まで復号し、参照緯度・経度とチェビシェフ距離(緯度差と経度差の絶対値の最大、単位は度)で比較し、二十、一、零点零五、零点零零二五、零点零零零一二五度の固定分解能表を辿ります。範囲がある対の分解能の三十パーセント未満なら、対応する先頭対を落としてよいと判定します。
この三十パーセント係数は、後から少しずれた都市中心やGPS読み取りから復元しても短いコードが最近傍のままであるための安全余裕です。参照が遠い場合、対は削除されず完全コードがそのまま返ります。区切り前にゼロのパディングがある広域だけのコードは、安全に切る精度桁が足りないため短縮できません。
Plus Code短縮が役立つ場面
既知の都市内でラベル印刷やSMS送信をする際、運転手が Google Maps や plus.codes で見慣れた短い形が必要です。
災害対応や人道マッピングでは、仮設避難所や給水点を短いコードとキャンプ名や地区名で共有し、決定的な短縮器があればオフライン用モバイル、edge worker、表計算取込みなど各クライアントが同じ参照で同じ切り詰めに一致します。
フォームに OLC を組み込む開発者は、完全な open-location-code ライブラリを全クライアントに配布せず、一回の呼び出しで検証と短縮ができます。検証失敗は残高を消費しません。
活用例
既知の都市でのSMS・ラベル共有
保存済みの完全Plus Codeを、都市名や地区名の横に置ける短いコードに変換し、運転手や顧客が地図アプリで見慣れた短い形を見せます。
オフライン・人道マッピング用パック
キャンプの参照緯度経度から、避難所や補給点向けに同じ短いコードをオフライン生成し、各端末が後で同じ最近傍の完全コードを復元できるようにします。
よくある質問
参照地点付きでPlus Codeを短縮するには?
code に完全な Open Location Code と、有限の参照緯度・経度を送ってください。
短いコードやパディング付き広域コードを短縮できますか?
できません。 入力はパディングゼロのない有効な完全コードである必要があります。
基準地点はどれくらい近くにある必要がありますか?
コードの区画の中心近くです。緯度差と経度差の大きいほうが、その桁の区画サイズの3割未満のときだけ先頭の組を削ります。後で復元するときの安全のための余裕です。
Plus Codeが短縮されずに返ってきたのはなぜですか?
基準地点がコードの位置から遠すぎて、安全に削れる文字がないためです。その場合は完全なコードがそのまま返り、削った文字がないことも結果に示されます。
短いコードには地名を添えるべきですか?
はい。短いコードは、短縮に使った町や地区と一緒でなければ場所を特定できません。このツールは地名を調べたり作ったりしないので、地域名はご自身で添えてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/plus-code-shorten \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"code":"8FVC9G8F+6X","latitude":47.5,"longitude":8.5}'const res = await fetch("https://api.kit.forhosting.com/geo/plus-code-shorten", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"code": "8FVC9G8F+6X",
"latitude": 47.5,
"longitude": 8.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/plus-code-shorten",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"code": "8FVC9G8F+6X",
"latitude": 47.5,
"longitude": 8.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/plus-code-shorten", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"code":"8FVC9G8F+6X","latitude":47.5,"longitude":8.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"code":"8FVC9G8F+6X","latitude":47.5,"longitude":8.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/plus-code-shorten", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"code": "8FVC9G8F+6X",
"latitude": 47.5,
"longitude": 8.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.plus_code_shorten",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
結果は地名と組み合わせやすい短いコードであり、APIは短縮の有無、削除文字数、使用した角度範囲も返します。無効な完全コード、パディング付き広域コード、欠損座標は、曖昧な断片を作らず invalid_input エラーではっきり失敗します。
参照地点に対するPlus Code短縮の仕組み
本機能はこの純算術経路のみを実装し、地名検索・地図API呼び出し・ご自身で付けるべき地名ラベルの生成は行いません。
入力契約、応答形、エラー動作
区切り前にゼロ埋めがあるパディングコードは短縮不可として拒否されます。緯度はマイナス九十から九十の閉区間にクリップされ、経度はマイナス百八十から百八十の半開区間に正規化されます。例:コード eight F V C nine G eight F plus six X、参照緯度四十七点五、経度八点五では、先頭四文字を落とした短いコード nine G eight F plus six X になります。短いコードにはご自身のUIで地名文字列を付けてください。POST で JSON 本文に三つの必須フィールドを送ってください。code は eight F V C nine G eight F plus six X のような完全 Open Location Code 文字列、latitude は符号付き十進度の有限な参照緯度、longitude は同様の有限な参照経度です。便宜上の別名として、コードには plus_code・olc・full_code・location_code、緯度には lat・ref_latitude・reference_latitude、経度には lon・lng・ref_longitude・reference_longitude を受け付けます。コードは前後空白を除き大文字化され、短いコード(区切りが八文字目より前)や Open Location Code 妥当性規則に合わない文字列は、フィールド名付きの invalid_input で拒否されます。欠損フィールド、空文字、非有限数はフィールド名を示すメッセージで失敗し、課金されません。本エンドポイントは都市名を出力しません。
Plus Code短縮が役立つ場面
配達・フィールドサービス・物流アプリは、通り番号のない入口に対して既に完全 Open Location Code を保存しています。実装は純粋な parse ティア A のため、成功した呼び出しはモデルトークンも外向きネットワークもなく、公開された基本料金 $0.002 です。要求を小さく保ち、テストで short_code と characters_removed を固定すれば、独自のジオコーディング基盤なしでラベル、チャットボット、edge worker 向けの再現可能な短い Plus Code が得られます。
連携の活用例
フィールドサービスとラストマイル配送
作業指示書を印刷する前に、デポやゾーンの重心を基準にドア単位のOLCコードを短縮します。外部地図APIは呼び出しません。
技術的な質問
参照がコードから遠い場合は?
先頭対は削除されません。short_code は完全コードと等しく、was_shortened は false、characters_removed は 0 となり、曖昧な断片は送りません。
APIは短いコードの後に都市名を付けますか?
付けません。先頭の OLC 文字だけを切ります。表示や送信時に、都市・地区・キャンプなどの地名ラベルはご自身で付けてください。
Plus Code短縮の料金は?
ブラウザツールは無料です。API リクエストは成功した呼び出しごとに前払い KIT 残高から $0.002 です。無効入力は課金されません。