2点間の傾斜角度を計算
この計算ツールは、2点間の水平距離と高低差を、符号付きの角度へ変換します。高さを水平距離で割った値の逆正接を用いるため、2点目が高ければ正、低ければ負、同じ高さならゼロになります。メートル、フィート、キロメートル、マイルなど、両方の測定値で同じ長さの単位をお使いいただけます。結果には角度だけでなく、勾配比、ラジアン値、上り・下り・水平の方向も含まれるため、確認や別の処理にも便利です。
無料で実行
高低差と水平距離を同じ単位で測ります
必要な値は、2点間の水平距離と、1点目から2点目までの符号付き高低差です。水平距離とは上から見た平面上の距離であり、斜面に沿って測った長い距離ではありません。高低差は2点目の標高から1点目の標高を引いて求めます。2点目が18メートル高い場合は18、18メートル低い場合は-18をご入力ください。2つの値には必ず同じ単位をお使いください。両方をフィート、両方をメートルなどにそろえれば、割り算で単位が相殺されます。水平距離をキロメートル、高低差をメートルで入力する場合は、先にどちらかを換算する必要があります。水平距離はゼロより大きくなければなりません。ゼロで割る計算では、このツールが対象とする2点間の傾斜を表せないためです。高低差がゼロの場合は有効で、角度はゼロ度になります。小数桁を増やすよりも元の測定精度が重要です。不確かな現地測定値に多くの桁を表示しても、実際の精度は向上しません。
逆正接による計算方法を確認します
最初に高低差を水平距離で割り、高さと距離の比である勾配比を求めます。次に、その比の逆正接を計算します。逆正接は、正接が入力された比になる角度を返します。得られたラジアン値に180を掛け、piで割ることで度へ変換します。たとえば、高低差と水平距離が等しければ比は1となり、角度は45度です。高さ1、距離10の場合は約5.71度になります。符号は維持されるため、高低差の符号だけを反転すると、同じ急さの上りが下りに変わります。出力される勾配比とラジアン角は、計算の検算や別形式を必要とするソフトウェアへの受け渡しに利用できます。精度の設定は出力の丸めだけを制御し、内部の割り算や逆正接には影響しません。この処理は有限数の直接計算のみを行い、ネットワーク、保存状態、乱数、現在時刻を使用しないため、同じ有効な入力からは常に同じ結果が得られます。これは水平線からの幾何学的な角度であり、方位、地図上の方位角、百分率の勾配ではありません。
結果を適切に解釈してご利用ください
正の角度は1点目から2点目への上り、負の角度は下り、ゼロは水平を示します。方向欄にも上り、下り、水平が示されるため、アプリケーション側で丸められた数値から方向を推測する必要はありません。測量結果の確認、登山道の計画、排水の初期検討、スロープ、道路、造園、標高断面の比較などに活用できます。ただし、結果は入力された測定値だけに基づく数学的な値です。端点間の地形、曲率、障害物、建築基準、バリアフリー要件、車両の制限、地盤の安定性、測定誤差は考慮されません。長い区間と短い区間で端点間の角度が同じでも、途中の局所的な勾配は大きく異なる場合があります。局所的な急勾配が重要な場合は、短い区間に分けてください。施工、安全に関わる通路、排水、法令適合の判断では、適切な機器と資格を持つ専門家による測定・要件確認が必要です。機器が水平距離ではなく斜面に沿った距離を示す場合は、換算または再測定してからお使いください。自動処理では、不足値、有限でない値、ゼロ以下の距離を既定値で補わず、エラーとして扱うことをお勧めします。
活用例
登山道の区間を確認する
地図上の水平距離と端点の標高差を、符号付きの上り角度または下り角度へ変換できます。
現地測定値を比較する
複数の測量区間を同じ方法で計算し、分析用の勾配比とラジアン値も保持できます。
標高データ処理を検証する
地理、造園、排水、工学データの準備工程に、再現可能な角度計算を追加できます。
よくある質問
APIでの計算料金はいくらですか?
APIリクエスト1回の料金は$0.002です。ブラウザー版は対話的な計算にご利用いただけます。
どの単位を使用できますか?
水平距離と高低差を同じ長さの単位にそろえれば、どの単位でもご利用いただけます。
角度が負になるのはなぜですか?
高低差が負の場合、2点目が1点目より低いことを意味し、符号付き角度は下りを示します。
水平距離と斜面に沿った距離は同じですか?
同じではありません。水平距離は上から見た距離です。斜面上の距離を使うと角度が実際より小さくなります。
百分率の勾配とはどのような関係ですか?
返された勾配比を100倍すると百分率になります。角度はその比の逆正接を度で表した値です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/slope-degrees-two-points \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"horizontal_distance":120,"elevation_difference":30}'const res = await fetch("https://api.kit.forhosting.com/geo/slope-degrees-two-points", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"horizontal_distance": 120,
"elevation_difference": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/slope-degrees-two-points",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"horizontal_distance": 120,
"elevation_difference": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/slope-degrees-two-points", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"horizontal_distance":120,"elevation_difference":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"horizontal_distance":120,"elevation_difference":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/slope-degrees-two-points", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"horizontal_distance": 120,
"elevation_difference": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.slope_degrees_two_points",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |