2017-05-11 3 views
-1

Ich habe eine CSV-Datei mit einer Liste von Koordinatenpositionen für über 2000 Farmen mit der folgenden Struktur;Erstellen einer Entfernungsmatrix aus einer Liste von Koordinaten in R

FarmID | Latidue | Longitude | 
------ |---------|-----------| 
    1 | y1 |  x1 | 
    2 | y2 |  x2 | 
    3 | y3 |  x3 | 

....... Ich mag eine euklidische Entfernung Matrix aus diesen Daten zu erstellen, um die Distanz zwischen allen Farmpaaren zeigen, damit ich eine resultierende Matrix wie:

 1  | 2 |  3  | 
-----------|---------|-----------| 
1 0  | 2.236 | 3.162 | 
2 2.236 | 0 | 2.236 | 
3 3.162 | 2.236 |  0  | 

Mit vielen mehr Farmen und Koordinaten im Datenrahmen muss ich in der Lage sein, irgendwie über alle Bauernhof Paare zu iterieren und eine Abstandsmatrix wie die oben zu schaffen. Irgendeine Hilfe, wie man das in R macht, würde geschätzt werden. Vielen Dank!

Antwort

2

Hier ist ein einfaches Beispiel:

farms <- data.frame(lat=runif(3), lng=runif(3)) 
dist(farms, diag=T, upper=T) 

      1   2   3 
1 0.0000000 0.9275424 0.6092271 
2 0.9275424 0.0000000 0.3891079 
3 0.6092271 0.3891079 0.0000000 
Verwandte Themen