ForHosting KIT · Entwickler-Tools

K nächste Nachbarpunkte nach Großkreisentfernung

Finden Sie die nächstgelegenen geografischen Punkte zu einer Abfragekoordinate, ohne eine Geodatenbank einzurichten.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Geben Sie Breiten- und Längengrad, eine Liste möglicher Koordinaten und die gewünschte Trefferzahl an. Die Funktion berechnet für jeden Kandidaten die Großkreisentfernung, sortiert vom nächsten zum entferntesten Punkt und liefert die ersten k Einträge samt Quellindex und optionaler Bezeichnung. Die deterministische Reihenfolge eignet sich für Standortsuche, Routenvorbereitung, Näherungsprüfungen und reproduzierbare Datenabläufe.

Bereiten Sie Abfrage und Kandidaten eindeutig vor

Beginnen Sie mit einer Abfragekoordinate in Dezimalgrad und einer Liste von einem bis zehntausend Kandidaten. Der Breitengrad muss zwischen -90 und 90, der Längengrad zwischen -180 und 180 liegen. Für jeden Kandidaten gelten dieselben Regeln; zusätzlich darf er eine Bezeichnung wie Filialname, Depotcode, Sensorkennung oder Stadt enthalten. Bezeichnungen werden in das Ergebnis übernommen, beeinflussen die Rangfolge aber nicht. Wählen Sie k als positive ganze Zahl, die höchstens der Kandidatenzahl entspricht. Dieser eindeutige Vertrag verhindert mehrdeutige Teilergebnisse und meldet fehlerhafte Datensätze frühzeitig. Verwenden Sie das bei Webkarten und GPS-Exporten übliche Dezimalgradformat. Quellen in Grad, Minuten und Sekunden oder in einem projizierten Koordinatensystem müssen Sie vorher umrechnen. Bei gleichen Entfernungen bleibt die ursprüngliche Listenreihenfolge erhalten. Dadurch ist die Ausgabe bei wiederholten Aufrufen und in verschiedenen Laufzeitumgebungen stets reproduzierbar.

Verstehen Sie die Rangfolge nach Großkreisentfernung

Die Berechnung modelliert die Erde als Kugel mit einem mittleren Radius von 6,371.0088 Kilometern. Für jeden Kandidaten nutzt sie die Haversine-Beziehung und eine atan2-Berechnung des Zentriwinkels, die sowohl bei sehr kurzen Strecken als auch bei nahezu gegenüberliegenden Punkten stabil bleibt. distance_km wird auf sechs Dezimalstellen gerundet; anschließend erfolgt die aufsteigende Sortierung. Gemeint ist die Entfernung auf der Erdoberfläche, nicht eine Gerade durch die Erde, eine Straßenroute oder eine Messung in einer lokalen Kartenprojektion. Der Längengradsprung an der Datumsgrenze und beide Pole werden natürlich berücksichtigt. Das Kugelmodell eignet sich für weltweite Suchen, Entdeckung, grobe Disposition und Vorauswahl. Für vermessungstechnische Ellipsoidgenauigkeit, Straßen, Höhen, Grenzen oder Hindernisse verwenden Sie das Ergebnis als erste Auswahlliste und führen danach eine Spezialberechnung durch. Über den Quellindex lässt sich jeder Treffer auch ohne eindeutige Bezeichnung sicher dem ursprünglichen Datensatz zuordnen.

Nutzen Sie die Auswahlliste in größeren Abläufen

Eine Nachbarschaftssuche ist häufig der Beginn einer Entscheidung. Eine Filialsuche kann die fünf nächsten Standorte anfordern und anschließend nach Öffnungszeiten oder Bestand filtern. Ein Logistikdienst kann nahe Depots vorauswählen, bevor nur diese wenigen Kandidaten an eine Straßenrouting-Engine gehen. Ein Umweltdashboard kann eine Beobachtung den nächsten Sensoren zuordnen und die Abstände für Qualitätsprüfungen behalten. Da die Funktion weder Netzwerk noch Zufall, gespeicherten Zustand oder aktuelle Zeit verwendet, erzeugt dieselbe Eingabe immer dieselbe Ausgabe. Ergebnisse lassen sich daher zwischenspeichern, Integrationen mit festen Beispielen testen und Rangfolgen bei Audits reproduzieren. Die festgelegte Obergrenze hält die Laufzeit vorhersehbar: Jeder Kandidat wird einmal gemessen und die begrenzte Menge sortiert. Für sehr große oder häufig geänderte Bestände ist ein räumlicher Index effizienter. Bei kompakten, pro Anfrage übermittelten Listen spart diese Funktion die Indexeinrichtung und liefert eine transparente JSON-Struktur für den nächsten Verarbeitungsschritt.

Filialen vorauswählen

Ermitteln Sie nahe Geschäfte oder Servicestellen, bevor Sie nach Bestand, Öffnungszeiten oder Terminen filtern.

Messwerte Sensoren zuordnen

Finden Sie nahe Messstationen und bewahren Sie Entfernungen sowie Quellindizes für spätere Prüfungen auf.

Routenkandidaten vorbereiten

Reduzieren Sie Depots oder Wegpunkte auf die nächsten Treffer, bevor Sie aufwendigere Straßenrouten berechnen.

Was kostet eine Anfrage?

Jede API-Anfrage kostet $0.002. Dieselbe deterministische Berechnung kann auch im Browser laufen.

Welche Entfernungsformel wird verwendet?

Verwendet wird eine Haversine-basierte Großkreisberechnung mit dem mittleren Erdradius von 6,371.0088 Kilometern.

Wie werden gleiche Entfernungen sortiert?

Bei Gleichstand bleibt die Eingabereihenfolge über die bei null beginnenden Quellindizes erhalten.

Darf k größer als die Kandidatenliste sein?

Nein. k muss eine positive ganze Zahl sein und darf die Anzahl der angegebenen Punkte nicht überschreiten.

Wird eine Straßenentfernung berechnet?

Nein. Die Kugeldistanz berücksichtigt weder Straßen und Fahrzeiten noch Höhen, Grenzen oder Hindernisse.

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.

POSThttps://api.kit.forhosting.com/geo/k-nearest-neighbors

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/geo/k-nearest-neighbors \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"lat":40.4168,"lon":-3.7038,"points":[{"label":"Toledo","lat":39.8628,"lon":-4.0273},{"label":"Segovia","lat":40.9429,"lon":-4.1088},{"label":"Guadalajara","lat":40.6337,"lon":-3.1674}],"k":2}'
{
  "lat": 40.4168,
  "lon": -3.7038,
  "points": [
    {
      "label": "Toledo",
      "lat": 39.8628,
      "lon": -4.0273
    },
    {
      "label": "Segovia",
      "lat": 40.9429,
      "lon": -4.1088
    },
    {
      "label": "Guadalajara",
      "lat": 40.6337,
      "lon": -3.1674
    }
  ],
  "k": 2
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.k_nearest_neighbors",
  "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.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_items10000
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Vollständige KIT-Dokumentation lesen →