Hallo zusammen,
Ich hoffe Ihr könnt mir bei meiner Problemlösung weiterhelfen.
Ich will für 81.000 Datensätze ( Wohnungen, geocodiert) die naheliegenste Filiale finden (Anzahl ca. 200 )
Der einfache Weg für jede Filiale eine Spalte zu erstellen und dann über die MIN-Funktion die kleinsten Wert zu finden wird wohl aus Gründen der Datenmenge herausfallen.
DIe Berechnung läuft nicht über den Pythagoras sondern wiefolgt:
Public Function getDistance(latitude1, longitude1, latitude2, longitude2)
earth_radius = 6371
Pi = 3.14159265
deg2rad = Pi / 180
dLat = deg2rad * (latitude2 - latitude1)
dLon = deg2rad * (longitude2 - longitude1)
a = Sin(dLat / 2) * Sin(dLat / 2) + Cos(deg2rad * latitude1) * Cos(deg2rad * latitude2) * Sin(dLon / 2) * Sin(dLon / 2)
c = 2 * WorksheetFunction.Asin(WorksheetFunction.ImSqrt(a))
d = earth_radius * c
getDistance = d
End Function
Ist der geplante Weg (Excel) für solche Datenmengen sinnvoll
und
kann Ich mir mit VBA nur den kleinsten Wert ausgeben lassen ?
Vielen Dank für eure Hilfe,
Liebe Grüsse,
Joachim
|