[英]distm function, to compare a list of 2 coordinates (2 sets of long/lat coordinates) and find distance between them
我有兩組數據,它們是經度和緯度坐標。 例如,我有 100 個地址和它們的經度/緯度,然后我有 200 個經度/緯度的井。 我希望能夠計算每個地址到每個井的距離。 所以我想知道地址 1 離 200 口井的每一個有多遠,然后地址 2 離 200 口井的每一個有多遠……不包括。
我已經嘗試過 distm 函數,但是它總是出現我的向量超過兩個..我的數據格式不正確......等等
library(geosphere)
distm (c(lon1, lat1), c(lon2, lat2), fun = distHaversine)
是否有人對如何解決此問題或修復我的數據集以運行 distm 有建議?
謝謝!
當您有坐標集時,應將lon-lat
數據作為矩陣提供:
library(geosphere)
data("wrld")
lat1 <- wrld[1:4,"Latitude"]
lon1 <- wrld[1:4,"Longitude"]
lat2 <- wrld[11:15,"Latitude"]
lon2 <- wrld[11:15,"Longitude"]
distm(matrix(c(lon1,lat1),ncol=2), matrix(c(lon2,lat2),ncol=2), fun = distHaversine)
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] 6655682 6818038 6866664 6961118 7159195
#> [2,] 6668641 6830962 6879683 6973962 7172070
#> [3,] 6656844 6819165 6867886 6962165 7160273
#> [4,] 6655682 6818038 6866664 6961118 7159195
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.