距離・平均速度・迂回時間でルートの時間短縮を計算
距離が短いルートが、必ずしも早く到着できるとは限りません。この計算ツールは、2つの候補について距離と平均速度から走行時間を求め、迂回、停車、アクセス、待ち時間などの固定時間を加えます。各ルートの実質的な所要時間、速い選択肢、短縮時間と短縮率を確認できます。自動車、自転車、船舶、配送計画など、距離だけでは適切に判断できない移動の比較にご利用いただけます。
無料で実行
比較できる条件を入力します
ルートAとルートBについて、距離と現実的な平均速度を入力してください。2つの距離には同じ距離単位、2つの速度には同じ速度単位が適用されるため、距離と速度で異なる単位系を選んでも整合性を保って比較できます。平均速度には、速度計に一時的に表示される最高値ではなく、移動区間全体を反映した値をお使いください。道路では市街地、交差点、渋滞、低速区間を考慮します。自転車や船舶では地形、風、予想される環境を含めます。距離が長くても高い速度を維持できれば早くなる場合があり、逆に高速道路でも実際の平均速度が低ければ利点を失います。距離を0にすると待ち時間やアクセス時間だけの候補も表せますが、所要時間を数学的に定義するため、速度は必ず0より大きくしてください。
迂回や固定の遅延時間を加えます
距離を速度で割ると移動時間を求められますが、移動距離に比例しない遅延もあります。その時間を該当するルートの迂回分として分単位で入力してください。給油、離れた駐車場からの徒歩、フェリーの受付、料金所、乗り換え、工事による迂回、高速道路までのアクセスなどを表せます。各ルートに個別の値を設定でき、初期値は0です。計算では、最初に距離と速度を対応する単位へ変換し、移動時間を算出してから、ルート固有の遅延を加えます。結果には移動時間、追加時間、合計時間が別々に表示されるため、根拠を確認できます。楽観的な最良値ではなく、通常予想される値をご入力ください。不確かな遅延は小さい値と大きい値で再計算すると、推奨ルートが変わる境界を把握できます。
時間短縮の結果を読み取ります
追加時間を含む合計が小さい方を、速いルートとして表示します。短縮時間は2つの合計の絶対差なので、負の値にはなりません。丸める前の値が実質的に同じ場合は、同着として返します。遅い方の合計時間に対する短縮率も表示され、長い移動におけるわずかな差と、実用的な改善を区別できます。20分の移動で10分短縮する場合と、8時間の移動で10分短縮する場合では意味が異なります。数値は指定した精度で表示し、読みやすい時間表記は秒単位に丸めます。本ツールは計画用であり、リアルタイムナビゲーションではありません。交通、通行止め、天候、時刻表、規制は取得しません。状況が変わった場合は平均速度と追加時間を更新し、安全性、信頼性、費用、通行の可否も併せてご判断ください。
活用例
近道と高速道路を比較
高速道路の速度が、追加の距離とアクセス時間を補えるか確認します。
配送ルートを計画
積み込み、入場手続き、料金所、迂回を含めて定期配送の候補を比べます。
自転車ルートを評価
直接的でも遅い道と、一定の速度を保ちやすい長い道を比較します。
よくある質問
ルートの時間はどのように計算しますか?
距離を平均速度で割って移動時間を求め、迂回時間を加えて合計します。
迂回時間はどちらに適用されますか?
各ルートに個別設定できます。A、B、両方、またはどちらにも設定しない選択が可能です。
距離と速度で異なる単位系を使えますか?
はい。距離同士と速度同士で共通の単位を選ぶと、比較前に自動変換します。
両方の所要時間が同じ場合はどうなりますか?
faster_routeはtieとなり、短縮時間は0になります。
リアルタイムの交通情報を利用しますか?
いいえ。ネットワークを使わない決定的な計算です。予想条件を反映した平均値をご入力ください。
APIリクエストの料金はいくらですか?
APIリクエストごとに$0.002です。ブラウザー版も同じ決定的な計算を使用します。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/travel/route-time-savings \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"route_a_distance":120,"route_a_speed":80,"route_b_distance":135,"route_b_speed":100}'const res = await fetch("https://api.kit.forhosting.com/travel/route-time-savings", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"route_a_distance": 120,
"route_a_speed": 80,
"route_b_distance": 135,
"route_b_speed": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/route-time-savings",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"route_a_distance": 120,
"route_a_speed": 80,
"route_b_distance": 135,
"route_b_speed": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/route-time-savings", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"route_a_distance":120,"route_a_speed":80,"route_b_distance":135,"route_b_speed":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"route_a_distance":120,"route_a_speed":80,"route_b_distance":135,"route_b_speed":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/route-time-savings", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"route_a_distance": 120,
"route_a_speed": 80,
"route_b_distance": 135,
"route_b_speed": 100
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.route_time_savings",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |