地理的中間点計算ツール
40.7128, -74.006と34.0522, -118.2437の中間点は39.51030757, -97.16013189です。2つの緯度と経度を平均した値ではなく、地球上の最短経路のちょうど真ん中を示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Lat1
- 40.7128
- Lon1
- -74.006
- Lat2
- 34.0522
- Lon2
- -118.2437
- 緯度
- 39.51030757
- 経度
- -97.16013189
地球上の2つの場所の中間点が必要なとき、緯度と経度を単純に平均する方法は、ほとんどの経路で誤りになります。この計算ツールは真の大圏中間点、すなわち2つの端点の間で地球上の最短経路のちょうど中間に位置する地点を返します。4つの十進度の座標を入力すると、地図、物流計画、現地報告書にそのまま落とし込める1組の緯度経度が得られます。
なぜ平坦な平均より大圏中間点が優れているのか
人はよく2つの緯度と2つの経度を平均し、その結果を中間と呼びます。その平坦な平均が通用するのは、赤道付近の短い距離だけです。球面上では経度は極に向かって収束し、都市間の最短経路は紙の地図上の直線ではなく大圏の弧になります。
角度を平均すると、特に区間が高緯度や対蹠子午線をまたぐ場合、結果が実際の経路から外れることがあります。ここで用いる手法は、各点を三次元の単位ベクトルに変換し、それらのベクトルを平均し、その和を正規化して、atan2 で緯度経度に戻します。したがって中間点は、端点間の大圏経路に沿って球面上に位置します。
航空区間、海運航路、無線リンクの計画、測量の基線、そして「中間」が地図上の便宜ではなく最短経路に沿った等しい測地距離を意味しなければならないあらゆるワークフローにお使いください。
座標の与え方と結果の読み方
緯度は −90 から 90 までの閉区間に収まらなければならず、経度は −180 から 180 までの閉区間に収まらなければなりません。正の緯度は赤道より北、正の経度は本初子午線より東です。同一の端点は同じ点を返します。
ベクトルの和が実質的にゼロになり、あらゆる方向が中間点として等しく妥当となるほぼ対蹠の組は、恣意的な答えを作り出す代わりに拒否されます。ジオコーディング、逆引き、標高モデルは一切適用されません。あなたは既に、関心のある座標を知っているからです。
実用上の限界、精度、統合に関する注記
この機能は、角度上の中間点計算のために地球を完全な球としてモデル化します。これは航法の入門書やほとんどの軽量な地理ユーティリティで用いられる標準的な大圏の前提です。楕円体(WGS84の測地距離)、地形、航空路、政治的境界は適用しません。
都市間の計画やほとんどの物流の素案には球面中間点で十分すぎるほどですが、高精度の測量には下流で楕円体ライブラリが必要になる場合があります。アルゴリズムは純粋な算術で、ネットワーク呼び出しも乱数もクロックもないため、自動テストやオフラインのランナーの中でも安全です。
出力は、lat と lon を表示可能な通常のWGS84形式の十進度として扱うことで、ご自身のマッピングスタック(Leaflet、MapLibre、Google Maps、またはCADレイヤー)と組み合わせられます。
活用例
物流と車両の待機拠点
2つの倉庫または港の間の大圏経路に沿って、ほぼ等距離の位置に一時的なデポ、給油地点、集合場所を配置します。
飛行経路と無線経路の計画
専門の航空ツールやRFツールで詰める前に、航空路や見通し線リンク上の中間位置を見積もります。
現地測量と調査研究
端点の座標しか分からない場合に、トランセクトの中心、サンプリング地点、イベントのベースマップの球面中間点を計算します。
よくある質問
これは緯度と経度を平均するのと同じですか?
いいえ。 度の平坦な平均は球面幾何を無視します。このツールは球面上の単位ベクトルを平均するため、結果は2点間の大圏の弧の上に位置します。
受け付けられる座標の範囲は?
緯度は −90 から 90 まで(両端を含む)、経度は −180 から 180 まで(両端を含む)でなければなりません。
対蹠点の場合はどうなりますか?
2点が地球上で正反対(または数値的に退化)の場合、垂直な大圏上のすべての中間点が等しく妥当です。この機能は恣意的な位置を選ぶ代わりに、そのケースを拒否します。
WGS84楕円体を使いますか?
いいえ。 古典的な球面の大圏構成を使います。ほとんどの計画やマッピングではこれが一般的な航法慣行と一致します。サブメートルの測地が必要な場合は楕円体ライブラリをお使いください。
地理的な中間点はどんな場面で使いますか?
2つの倉庫や港からほぼ等距離の待ち合わせ場所、補給拠点、給油地点を決めるときに使います。航空路の区間や無線回線、測量の基線の中間位置を見積もる際にも役立ちます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/midpoint \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":40.7128,"lon1":-74.006,"lat2":34.0522,"lon2":-118.2437}'const res = await fetch("https://api.kit.forhosting.com/geo/midpoint", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 34.0522,
"lon2": -118.2437
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/midpoint",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 34.0522,
"lon2": -118.2437
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/midpoint", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":40.7128,"lon1":-74.006,"lat2":34.0522,"lon2":-118.2437}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":40.7128,"lon1":-74.006,"lat2":34.0522,"lon2":-118.2437}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/midpoint", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 34.0522,
"lon2": -118.2437
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.midpoint",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
すべては外部サービスを使わない決定的な解析幾何として動作するため、同じ入力は常に同じ答えを生み、あなたの座標がリクエストの経路から外に出ることはありません。
座標の与え方と結果の読み方
1つ目の端点に lat1 と lon1、2つ目の端点に lat2 と lon2 を、すべて十進度で指定します。これらの範囲を外れた値は invalid_input エラーで拒否されるため、入力ミスが静かに無意味な地図ピンを生むことはありません。レスポンスは入力された4つの数値をそのまま返し、中間点の lat と lon を小数点以下8桁に丸めて加えます。これはマッピングやGISには十分すぎる精度でありながら、プラットフォーム間で安定しています。
実用上の限界、精度、統合に関する注記
API利用はプリペイドのKIT残高から1リクエストあたり $0.002 です。
技術的な質問
APIの料金はいくらですか?
ブラウザページはデスクトップでもモバイルでもローカルで無料で動作します。API経由の同じ計算は、プリペイドのKIT残高から1リクエストあたり $0.002 で課金されます。