首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在r中查找特定经度/经度距离内的位置

在r中查找特定经度/经度距离内的位置
EN

Stack Overflow用户
提问于 2016-08-30 16:22:22
回答 2查看 2.6K关注 0票数 21

我有一个网格数据集,数据位于以下位置:

代码语言:javascript
运行
复制
lon <- seq(-179.75,179.75, by = 0.5)
lat <- seq(-89.75,89.75, by = 0.5)

我希望找到该位置周围500公里内的所有数据点:

代码语言:javascript
运行
复制
mylat <- 47.9625
mylon <- -87.0431

我的目标是在R中使用geosphere包,但我目前编写的方法似乎效率不是很高:

代码语言:javascript
运行
复制
require(geosphere)
dd2 <- array(dim = c(length(lon),length(lat)))
for(i in 1:length(lon)){
  for(ii in 1:length(lat)){
    clon <- lon[i]
    clat <- lat[ii]
    dd <- as.numeric(distm(c(mylon, mylat), c(clon, clat), fun = distHaversine))
    dd2[i,ii] <- dd <= 500000
  }
}

在这里,我循环遍历数据中的每个网格,并确定距离是否小于500公里。然后我存储了一个真或假的变量,然后我可以用它来求数据的平均值(其他变量)。在这个方法中,我想要一个距离经度和经度500公里内的位置的真或假矩阵。有没有更有效的方法来做到这一点?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39222302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档