ich bin noch recht neu in der Welt von R und hab eine Frage an der ich mir aktuell die Zähne ausbeiße...
Ich habe zwei Tabellen mit Adressen, Geo-Daten (Breiten- und Längengrad) und weiteren Informationen. Jetzt würde ich gerne die Geo-Daten aus jeder Zeile in Tabelle1 mit jeder Zeile in Tabelle 2 vergleichen und das Ergebnis (die Anzahl aller Adressen, die im Umkreis X Metern liegen) in eine neue Spalte in Tabelle1 schreiben. Die Funktionen für die Berechnung der Distanz sehen wie folgt aus:
Code: Alles auswählen
degreesToRadians <- function(deg){
rad = deg * pi / 180
return(rad)
}
locationDistance <- function(lat1, lon1, lat2, lon2){
lat1 <- degreesToRadians(lat1)
lon1 <- degreesToRadians(lon1)
lat2 <- degreesToRadians(lat2)
lon2 <- degreesToRadians(lon2)
equRad <- 6378137
distance = acos(sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon2-lon1))*equRad
return(distance)
}
Code: Alles auswählen
> sum(locationDistance(53.57522, 8.58286, tabelle2$lat, tabelle2$lon) <= 25)
[1] 1
> sum(locationDistance(53.57522, 8.58286, tabelle2$lat, tabelle2$lon) <= 250)
[1] 181
>
LG
Jimmy