Gibt es eine Möglichkeit (vorzugsweise in Excel), die Entfernung (basierend auf lat, lon) zwischen zwei Punktelisten zu berechnen?
Mein Endziel wäre zum Beispiel, eine Liste von Starbucks und eine Liste von McDonald's zu haben und dann den nächsten Nachbarn zu zeigen, wenn Sie so wollen.
Antworten:
Mit einer Liste von geografischen Koordinatenpaaren können Sie die Haversine-Formel direkt in Excel implementieren .
Der einfachste Weg , diese (oder eine genauere, aber ich denke , es ist nicht dein Fall) zu verwenden Formel besteht in drücken
Alt+F11
den VBA - Editor zu öffnen, klicken SieInsert --> Module
und dann (Kopieren und) fügen Sie zB den Code freundlicherweise von blah238 vorgeschlagen.getDistance
In Ihrer Tabelle steht eine neue benutzerdefinierte Funktion (Einheit = Kilometer) zur Verfügung, die vier Parameter akzeptiert, dh die beiden Koordinatenpaare wie folgt:wo
latitude1, longitude1, latitude2, longitude2
sollte durch ihre relativen Zellreferenzen ersetzt werden.quelle
Ein genauerer Weg ist die Verwendung der Vicenty- Formel. Es basiert auf einem Ellipsoid anstelle einer Kugel. Die vorherige Antwort reicht jedoch aus, wenn Sie in einer Stadt arbeiten (Unterschiede können in Ihrem Fall vernachlässigt werden). Ich habe hier für alle Fälle einen Excel-VB-Code gefunden .
Beachten Sie, dass die Verwendung von "Vogelflug" -Distanzen irreführend sein kann, wenn Sie in einer Stadt arbeiten. Es wäre besser, Netzwerkentfernungen zu verwenden. Ein Kompromiss ist die Verwendung von "Manhattan Entfernung"
quelle