多角形の辺の方位角
正方形(0, 0)、(0, 1)、(1, 1)、(1, 0)では、4つの辺の方位は真北から90°、0°、270.008726°、180°で、最後の辺が始点に戻ります。各区間ごとに大円に沿った出発方向が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 精度
- 6
- 頂点数
- 4 degrees
- 辺の数
- 4
- 基準
- true_north
辺の方位角計算では、順序付きの地理座標を各セグメントの方向へ変換します。緯度と経度を入力し、最後の点を最初の点へ接続するか指定すると、真北から時計回りに測った大円航路の初期方位角が得られます。結果には頂点と辺の番号、両端点、統一された丸め値が含まれるため、地図表示、経路確認、現地作業、品質検査、自動化された地理データ処理に利用できます。
多角形または折れ線の頂点を順番に準備します
進行順に頂点を入力してください。各行の lat は -90 から 90、lon は -180 から 180 までの十進度です。順序を逆にすると各辺の向きと方位角も変わります。
既定では closed が true で、最後の頂点から最初の頂点への辺を追加します。開いた折れ線では false を指定してください。閉じたリングの末尾に最初の頂点を再入力しても、その重複は計算前に削除されます。
閉じた多角形には正規化後の頂点が 3 個以上、開いた折れ線には 2 個以上必要です。連続する同一点は長さも方向もないため拒否されます。入力元が緯度・経度の順であることもご確認ください。
各辺に返される方位角を確認します
0、90、180、270 はそれぞれ真北、東、南、西です。値は 0 以上 360 未満に正規化されます。計算対象は大円航路の初期方位角であり、磁北基準ではありません。
また、長い辺で一定の針路になるとは限りません。precision は小数点以下 0 から 12 桁まで指定でき、既定値は 6 です。丸めは表示と機械比較を安定させますが、測量精度を保証するものではありません。
応答には基準が真北、単位が度であることも明記されます。
地図処理で辺の方位角を安全に使用します
辺ごとの方位角は、ラベルや矢印の回転、実測トラバースと基準点の比較、公開前の急な反転の検出に役立ちます。計算はローカルかつ決定的で、ジオコーディング、道路、地形、障害物、法的境界を参照しません。方位角は座標間の角度方向を示すだけで、移動の可否や許可を証明しません。
地籍、工学、航空、安全上重要な用途では、検証済み座標参照系と楕円体測地ライブラリをご使用ください。一般的なウェブ地図、教材、事前確認では、球面式は明確で移植しやすい方法です。
活用例
多角形境界へ注記します
元の頂点番号を保ったまま、各境界線へ真北基準の方位角を表示し、矢印を回転できます。
経路形状を検査します
開いた折れ線の各方位角を計算し、予期しない反転の検出や現地記録との比較に使えます。
測量形式の概要を作成します
順序付き基準点を、正式な測地処理前に確認できる決定的な辺一覧へ変換します。
よくある質問
多角形は自動的に閉じられますか?
はい。 closed の既定値は true で、最後の頂点を最初へ接続します。開いた折れ線では false を指定してください。
最初の頂点を末尾でも指定するとどうなりますか?
長さ 0 の辺を作らないよう、閉じるための重複 1 個を計算前に削除します。
方位角は磁北から測りますか?
いいえ、真北が基準です。磁気コンパスの針路が必要な場合は、現地の磁気偏角を別途適用してください。
多角形ではなく閉じない経路にも使えますか?
使えます。図形を閉じる設定をオフにすると、最後の点から最初の点へ戻る辺は追加されません。その場合、経路には2点以上、閉じた多角形には3点以上が必要です。
東西方向の辺がちょうど270度にならないのはなぜですか?
各方位は、球面上の最短経路が最初の点を出る瞬間の向きだからです。向きは進むにつれて変わるため、例の3番目の辺は270ではなく270.008726から始まります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/polygon-edge-bearings \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"vertices":[{"lat":0,"lon":0},{"lat":0,"lon":1},{"lat":1,"lon":1},{"lat":1,"lon":0}]}'const res = await fetch("https://api.kit.forhosting.com/geo/polygon-edge-bearings", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"vertices": [
{
"lat": 0,
"lon": 0
},
{
"lat": 0,
"lon": 1
},
{
"lat": 1,
"lon": 1
},
{
"lat": 1,
"lon": 0
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/polygon-edge-bearings",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"vertices": [
{
"lat": 0,
"lon": 0
},
{
"lat": 0,
"lon": 1
},
{
"lat": 1,
"lon": 1
},
{
"lat": 1,
"lon": 0
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/polygon-edge-bearings", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"vertices":[{"lat":0,"lon":0},{"lat":0,"lon":1},{"lat":1,"lon":1},{"lat":1,"lon":0}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"vertices":[{"lat":0,"lon":0},{"lat":0,"lon":1},{"lat":1,"lon":1},{"lat":1,"lon":0}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/polygon-edge-bearings", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"vertices": [
{
"lat": 0,
"lon": 0
},
{
"lat": 0,
"lon": 1
},
{
"lat": 1,
"lon": 1
},
{
"lat": 1,
"lon": 0
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.polygon_edge_bearings",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
各辺に返される方位角を確認します
各辺には 0 始まりの番号、始点と終点の番号、両座標、bearing_deg が含まれます。
地図処理で辺の方位角を安全に使用します
ブラウザーではローカルに実行でき、API の正常な 1 回の料金は $0.002 です。
技術的な質問
連続する同一頂点が拒否されるのはなぜですか。
両端が同じ辺には長さも定義可能な方向もないため、要求は invalid_input を返します。
API の料金はいくらですか。
正常な API 要求には公開基本料金 $0.002 が適用されます。同じ計算をブラウザーでも実行できます。