簡體   English   中英

distm 函數,比較 2 個坐標的列表(2 組長/緯度坐標)並找出它們之間的距離

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM