Gesamtdistanz aller geografischen Punktpaare
Der Rechner für die Gesamtdistanz aller Punktpaare misst die Großkreisentfernung jedes ungeordneten Paares in einer Menge geografischer Punkte und addiert sämtliche Messwerte.
Im Browser ausführen – kostenlos
Er eignet sich für Konnektivitätsanalysen, Vergleiche von Standortnetzen, die Diagnose von Clustern und alle Abläufe, die ein reproduzierbares Maß der geografischen Streuung benötigen. Geben Sie dezimale Breiten- und Längengrade ein; das Ergebnis nennt die Anzahl der Punkte und ausgewerteten Paare sowie die summierte Entfernung in Kilometern, Meilen und Metern.
Was die Gesamtdistanz aller Punktpaare aussagt
Die Gesamtdistanz aller Punktpaare fasst sämtliche direkten geografischen Abstände innerhalb einer Punktmenge zu einer Kennzahl zusammen. Der Rechner kombiniert jeden Punkt mit allen nachfolgenden Punkten, misst den kürzesten Weg auf einer kugelförmigen Erde und addiert diesen Abstand genau einmal. Vier Standorte ergeben beispielsweise sechs ungeordnete Paare; die umgekehrte Reihenfolge eines Paares erzeugt keinen weiteren Beitrag. Das Ergebnis hilft bei Fragen zur gesamten räumlichen Streuung und ist kein Maß für eine Route, einen Umfang oder die Entfernung von einem gewählten Mittelpunkt. Eine kompakte Gruppe liefert eine kleinere Summe als eine weit verteilte Gruppe mit derselben Zahl von Standorten. Da die Summe auch mit zusätzlichen Punkten wächst, sollten Sie für einen direkten Streuungsvergleich Mengen gleicher Größe verwenden. Alternativ können Sie anhand der ausgegebenen Paarzahl extern eine mittlere paarweise Entfernung berechnen. Doppelte Koordinaten sind zulässig und tragen für ihr Paar den Abstand null bei. Wiederholte Beobachtungen bleiben dadurch erhalten, statt unbemerkt entfernt zu werden.
So funktioniert die Berechnung
Jedes Paar wird mit der Haversine-Formel und einem mittleren Erdradius von 6,371.0088 Kilometern ausgewertet. Breiten- und Längengrade werden von Dezimalgrad in Radiant umgerechnet, ihre Differenzen fließen in die Kugelformel ein und der resultierende Mittelpunktswinkel wird mit diesem Radius multipliziert. Berechnet wird damit die Großkreisentfernung: der kürzeste Oberflächenweg auf einer Kugel, nicht eine gerade Linie durch die Erde und auch keine Straßen-, Fuß- oder Netzentfernung. Die Implementierung begrenzt den Haversine-Zwischenwert auf seinen mathematisch gültigen Bereich und vermeidet damit Gleitkommaprobleme bei nahezu identischen oder fast antipodalen Punkten. Anschließend summiert sie die ungerundeten Kilometerwerte und erzeugt erst danach stabile, gerundete Gesamtergebnisse in Kilometern, Meilen und Metern. Längengrade dürfen zwischen -180 und 180 liegen; Paare über den Antimeridian hinweg verarbeitet die periodische trigonometrische Berechnung daher natürlich. Dieses Kugelmodell ist konsistent und für allgemeine Konnektivitätsanalysen geeignet. Eine hochpräzise Vermessung sollte dagegen ein ellipsoidisches geodätisches Verfahren einsetzen.
Punkte vorbereiten und Ergebnis einordnen
Geben Sie zwei bis 1,000 Datensätze mit jeweils numerischen Feldern für Breiten- und Längengrad an. Der Breitengrad muss zwischen -90 und 90 Grad, der Längengrad zwischen -180 und 180 Grad liegen. Verwenden Sie vorzeichenbehaftete Dezimalgrade: Nördliche und östliche Koordinaten sind positiv, südliche und westliche negativ. Geben Sie keine Gradzeichen, Himmelsrichtungsbuchstaben oder numerischen Zeichenketten ein, denn die strenge Validierung verhindert mehrdeutige Umwandlungen. Der Rechner meldet n(n−1)/2 Paare, sodass Sie die vollständige Auswertung der Menge bestätigen können. Beachten Sie, dass die Summe sowohl von der geografischen Streuung als auch von der Anzahl der Beobachtungen abhängt: Eine Verdoppelung einer ähnlich verteilten Stichprobe kann deutlich mehr als doppelt so viele Paare erzeugen. Teilen Sie beim Vergleich unterschiedlich großer Mengen die Gesamtdistanz durch die Paarzahl, um die mittlere paarweise Entfernung zu erhalten, oder bewahren Sie beide Werte für Ihre Analyse auf. An der Grenze von 1,000 Punkten wertet der Rechner 499,500 Paare aus. So bleibt der quadratische Aufwand praktisch begrenzt, während umfangreiche Standort-, Sensor- oder Versorgungsgebietsdatensätze unterstützt werden.
Anwendungsfälle
Standortnetze vergleichen
Ermitteln Sie, ob gleich große Mengen von Lagern, Kliniken oder Büros geografisch kompakt oder weit verteilt sind.
Zusammenhalt von Clustern bewerten
Nutzen Sie Summe und Paarzahl für eine reproduzierbare Diagnose der mittleren Entfernung eines geografischen Clusters.
Ausdehnung von Sensoren verfolgen
Vergleichen Sie Momentaufnahmen mit gleicher Gerätezahl, um Expansion oder Verdichtung eines Feldnetzes zu erkennen.
Häufige Fragen
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Der Browser-Rechner kann dieselbe deterministische Logik lokal ausführen.
Wird jedes Paar doppelt gezählt?
Nein. Jedes ungeordnete Paar zählt einmal, sodass n Punkte zu n(n−1)/2 Entfernungsberechnungen führen.
Welches Entfernungsmodell wird verwendet?
Der Rechner nutzt die Haversine-Formel und einen mittleren Erdradius von 6,371.0088 Kilometern.
Kann ich doppelte Koordinaten angeben?
Ja. Doppelte Datensätze bleiben in der Menge; die Entfernung zwischen identischen Koordinaten trägt null bei.
Ist dies eine Straßen- oder Reiseentfernung?
Nein. Gemessen wird die kürzeste Großkreisentfernung an der Oberfläche, unabhängig von Straßen, Grenzen, Gelände oder Verkehrsnetzen.
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/total-pairwise-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"points":[{"latitude":0,"longitude":0},{"latitude":0,"longitude":1},{"latitude":1,"longitude":0}]}'const res = await fetch("https://api.kit.forhosting.com/geo/total-pairwise-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"points": [
{
"latitude": 0,
"longitude": 0
},
{
"latitude": 0,
"longitude": 1
},
{
"latitude": 1,
"longitude": 0
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/total-pairwise-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"points": [
{
"latitude": 0,
"longitude": 0
},
{
"latitude": 0,
"longitude": 1
},
{
"latitude": 1,
"longitude": 0
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/total-pairwise-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"points":[{"latitude":0,"longitude":0},{"latitude":0,"longitude":1},{"latitude":1,"longitude":0}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"points":[{"latitude":0,"longitude":0},{"latitude":0,"longitude":1},{"latitude":1,"longitude":0}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/total-pairwise-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
{
"points": [
{
"latitude": 0,
"longitude": 0
},
{
"latitude": 0,
"longitude": 1
},
{
"latitude": 1,
"longitude": 0
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.total_pairwise_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.
Limits
min_points | 2 |
max_points | 1000 |
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. |