相关疑难解决方法(0)

如何使用data.table:=有效地计算坐标对之间的距离

我想找到最有效(最快)的方法来计算lat长坐标对之间的距离.

已经提出了一个不太有效的解决方案(这里)使用sapplyspDistsN1{sp}.我相信如果一个人会在运营商spDistsN1{sp}内部data.table使用,:=但我无法做到这一点,这可以更快.有什么建议?

这是一个可重复的例子:

# load libraries
  library(data.table)
  library(dplyr)
  library(sp)
  library(rgeos)
  library(UScensus2000tract)

# load data and create an Origin-Destination matrix
  data("oregon.tract")

# get centroids as a data.frame
  centroids <- as.data.frame(gCentroid(oregon.tract,byid=TRUE))

# Convert row names into first column
  setDT(centroids, keep.rownames = TRUE)[]

# create Origin-destination matrix
  orig <- centroids[1:754, ]
  dest <- centroids[2:755, ]
  odmatrix <- bind_cols(orig,dest)
  colnames(odmatrix) <- c("origi_id", "long_orig", "lat_orig", "dest_id", "long_dest", "lat_dest")
Run Code Online (Sandbox Code Playgroud)

我失败的尝试使用 data.table

odmatrix[ …
Run Code Online (Sandbox Code Playgroud)

r geospatial data.table r-sp

11
推荐指数
2
解决办法
5739
查看次数

标签 统计

data.table ×1

geospatial ×1

r ×1

r-sp ×1