Routen-Gesamtstrecke
Ermitteln Sie die Gesamtlänge einer Route über mehrere GPS-Punkte, Abschnitt für Abschnitt: Die drei Wegpunkte im Beispiel ergeben 327,98509 km bzw. 203,800486 Meilen Luftlinie. Jeder Abschnitt wird zusätzlich in Kilometern angezeigt. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Wenn ein Pfad als geordnete Liste von GPS-Koordinaten definiert ist — eine Liefertour, der Export einer Wandertour, ein Flugplan oder die Skizze einer Multi-Städte-Reise — ist die erste Zahl, die Produktteams in der Regel brauchen, die gesamte Luftlinienlänge dieser Polylinie. Paarweise Distanzwerkzeuge decken nur zwei Punkte gleichzeitig ab; Werkzeuge für den Umfang eines geschlossenen Rings zwingen Sie zurück zum Start. Dieser Rechner für die Gesamtstrecke einer Route akzeptiert zwei oder mehr Waypoints, misst den Großkreisbogen jedes aufeinanderfolgenden Abschnitts mit der Haversine-Formel auf einer festen kugelförmigen Erde und liefert die summierte Länge in Kilometern, gesetzlichen Meilen und Metern sowie jeden Abschnitt in Kilometern.
Wie die Multi-Waypoint-Großkreis-Routendistanz berechnet wird
Eine Multi-Waypoint-Route ist eine geordnete offene Polylinie auf der Erde: Punkt eins zu Punkt zwei, Punkt zwei zu Punkt drei, und so weiter bis zur letzten Koordinate. Diese Fähigkeit schließt den Pfad nicht zurück zum Ursprung; wenn Sie die Länge eines geschlossenen geografischen Rings benötigen — Grundstück, Lieferzone oder andere Grenze — verwenden Sie stattdessen ein Polygon-Umfangswerkzeug. Gesetzliche Meilen verwenden die internationale Umrechnung von 1609.344 Metern pro Meile.
Das Modell ist kugelförmig, keine WGS84-ellipsoidischen Vincenty- oder Karney-Geodäten, daher können Ergebnisse um einen kleinen Prozentbruchteil von Vermessungsbibliotheken abweichen — in der Regel ausreichend für Logistik-Vorfilter, Reiseplaner, Sportzusammenfassungen und Analyse-Buckets, und kein Ersatz für katastermäßige Vermessung. Antipoden und nahezu identische Punkte werden unterstützt; internes Clamping verhindert, dass Gleitkomma-Randfälle NaN erzeugen, und identische aufeinanderfolgende Waypoints tragen Länge null bei.
Wo die Routen-Gesamtstrecke in Produkte und Pipelines passt
Koppeln Sie einen Geocoder nur, wenn Sie von Adressen ausgehen; sobald Sie lat und lon haben, vermeiden Sie erneutes Geocoding nur zur Längenmessung. Für abbiegegenaue Fahrdistanz, Verkehrs-ETAs oder Höhenprofile behalten Sie eine dedizierte Routing-Engine — dieses Werkzeug ist Großkreis-Polylinienlänge, nicht Straßennetz-Kosten. Für geschlossene Grenzen nutzen Sie den Polygon-Umfang; für ein einzelnes Ursprung–Ziel-Paar genügt ein Zwei-Punkt-Haversine-Aufruf, aber Multi-Stadt- und Multi-Checkpoint-Produkte brauchen die summierte Routenform, damit eine Anfrage n−1 paarweise Aufrufe ersetzt und konsistente Ordnung garantiert.
Fehlgeschlagene Validierung wird nicht berechnet. Halten Sie Listen für interaktive UX bescheiden, pinnen Sie gerundete Summen in Tests fest, und Sie erhalten einen kleinen, auditierbaren Baustein für jeden Kanal, den KIT bereits bedient.
Anwendungsfälle
Multi-Stop-Liefer- und Außendienst-Skizzen
Summieren Sie Großkreis-Abschnitte zwischen Depot und Kunden-Pins, um die Tourenlänge zu schätzen, bevor Sie Budget für Straßenrouting-APIs ausgeben.
Distanz-Headlines für GPX- und GeoJSON-Tracks
Reduzieren Sie einen exportierten Wander-, Rad- oder Flug-Track auf Gesamt-km, mi und m plus Abschnitte pro Teilstrecke für Dashboards und Share-Karten.
GIS im Unterricht und Massen-Anreicherung von Itineraren
Fügen Sie Luftlinien-Multi-Stadt-Routensummen zu Unterrichtsdaten, Reiseplanern oder CSV-Zeilen hinzu, ohne einen GIS-Stack aufzubauen.
Häufige Fragen
Wird der Pfad zum ersten Waypoint geschlossen?
Nein. Dieses Werkzeug misst eine offene Polylinie. Für den Umfang eines geschlossenen geografischen Rings verwenden Sie stattdessen einen Polygon-Umfangsrechner.
Ist das dasselbe wie Fahr- oder Straßendistanz?
Nein. Die Ergebnisse sind Luftlinie auf einer Kugel. Straßendistanz, Verkehr und Höhe erfordern eine Routing-Engine; nutzen Sie dies für Polylinienlänge und Vorfilter.
Wie viele Wegpunkte kann ich eingeben?
Mindestens zwei und höchstens 5000. Bei nur einem Punkt, einer leeren Liste oder mehr als 5000 Punkten startet die Berechnung nicht, und Sie sehen den Grund.
In welchen Einheiten wird die Summe angegeben?
Standardmäßig in Kilometern, auf Wunsch in Landmeilen oder Metern. Alle drei Summen erscheinen immer, dazu jeder Abschnitt in Kilometern, und eine Meile zählt als 1609,344 Meter.
Was passiert, wenn ich Breite und Länge vertausche?
Liegen beide Zahlen noch in den gültigen Bereichen, wird die Route trotzdem gemessen, und die Summe ergibt keinen Sinn. Prüfen Sie vor einer langen Liste, welcher Wert die Breite und welcher die Länge ist.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/geo/route-total-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"waypoints":[{"lat":40.7128,"lon":-74.006},{"lat":39.9526,"lon":-75.1652},{"lat":38.9072,"lon":-77.0369}]}'const res = await fetch("https://api.kit.forhosting.com/geo/route-total-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"waypoints": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 39.9526,
"lon": -75.1652
},
{
"lat": 38.9072,
"lon": -77.0369
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/route-total-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"waypoints": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 39.9526,
"lon": -75.1652
},
{
"lat": 38.9072,
"lon": -77.0369
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/route-total-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"waypoints":[{"lat":40.7128,"lon":-74.006},{"lat":39.9526,"lon":-75.1652},{"lat":38.9072,"lon":-77.0369}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"waypoints":[{"lat":40.7128,"lon":-74.006},{"lat":39.9526,"lon":-75.1652},{"lat":38.9072,"lon":-77.0369}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/route-total-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"waypoints": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 39.9526,
"lon": -75.1652
},
{
"lat": 38.9072,
"lon": -77.0369
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.route_total_distance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Wie die Multi-Waypoint-Großkreis-Routendistanz berechnet wird
Einzelne Abschnittslängen werden in Kilometern gespeichert, in voller Präzision summiert und dann für einen stabilen JSON-Vertrag gerundet: sechs Dezimalstellen für Kilometer und Meilen, drei für Meter.
Eingabevertrag, Einheiten, Aliase und Validierungsfehler
Die Breite muss im geschlossenen Intervall von −90 bis 90 liegen; die Länge von −180 bis 180 einschließlich. Optionales unit wählt, welcher Wert das primäre total-Feld füllt: km (Standard), mi oder m. Ein einzelner Waypoint, ein leeres Array oder mehr als fünftausend Punkte scheitern an der Validierung, bevor eine Distanz berechnet wird. Vertauschen von lat und lon ist ein häufiger Client-Fehler: Wenn beide Zahlen noch in beide Bereiche fallen, kann der Aufruf mit einem unsinnigen Pfad gelingen — prüfen Sie vor Massenvorgängen stets Nord-Süd versus Ost-West. Senden Sie einen JSON-Body mit einem erforderlichen waypoints-Array aus mindestens zwei Objekten, jeweils mit Breite und Länge in WGS84-artigen Dezimalgraden. Werte außerhalb dieser Bereiche, nicht endliche Zahlen, fehlende Felder, leere Zeichenketten oder Array-Elemente, die keine Objekte sind, werden mit invalid_input abgelehnt und nie berechnet. Das Array akzeptiert die Transport-Aliase points, coordinates und route; jeder Vertex akzeptiert latitude für lat und longitude oder lng für lon, damit GeoJSON-ähnliche und mobile Clients Felder ohne Umformungsschritt abbilden können. Unabhängig von unit enthält jede erfolgreiche Antwort stets total_km, total_mi und total_m, damit Clients mehrere Einheiten ohne zweiten Aufruf anzeigen. Die Nutzlast meldet außerdem waypoint_count, segment_count (bei gültiger offener Route immer eins weniger als die Waypoint-Anzahl), segments_km als geordnete Liste der Abschnittslängen und earth_radius_km gleich 6371 zur Nachvollziehbarkeit. Der Preis ist ein fester Betrag von $0.002 pro erfolgreichem Item auf der API; der tier-A-Pfad im Browser ist für interaktive Prüfungen gedacht, ohne zuerst eine vollständige Pipeline anzuschließen.
Wo die Routen-Gesamtstrecke in Produkte und Pipelines passt
Nutzen Sie diesen Endpoint, sobald Sie bereits geordnete Koordinaten haben und eine transparente Luftlinien-Tourenlänge brauchen: Multi-Stop-Lieferskizzen vor dem Straßenrouting, GPX- oder GeoJSON-Track-Exporte auf eine Headline-Distanz reduziert, GIS-Schulungsräume, die Polylinienlänge mit planaren Karten vergleichen, Sport-Apps, die Segmente zwischen Checkpoints zusammenfassen, sowie Betrugs- oder Risikosignale, die behauptete Itinerare mit geradlinigen Grenzen vergleichen. Rufen Sie ihn aus einem Worker, einem Backend-Job oder einem Skript auf: übergeben Sie die Waypoint-Liste, lesen Sie total und die drei Einheitenfelder und speichern Sie optional segments_km neben jedem Abschnitt für UI-Aufschlüsselungen.
Technische Fragen
Wie wird die Gesamtstrecke der Route berechnet?
Jedes aufeinanderfolgende Waypoint-Paar wird mit der Haversine-Großkreisformel auf einer Kugel mit Radius 6371 km gemessen; die Abschnittslängen werden zu total_km, total_mi und total_m summiert.
Wie viele Waypoints sind mindestens erforderlich?
Mindestens zwei Punkte {lat, lon} sind erforderlich. Ein einzelner Punkt oder eine leere Liste liefert invalid_input und wird nicht berechnet.
Was kostet die API?
Jede erfolgreiche Anfrage kostet $0.002 aus Ihrem vorausbezahlten ForHosting-KIT-Guthaben. Fehlgeschlagene Validierung wird nicht berechnet. Das Browser-Tool ist kostenlos.