gpt4 book ai didi

r - 如果我有 R 中的纬度和经度,如何找到美国县最近的县?

转载 作者:行者123 更新时间:2023-12-02 14:10:08 25 4
gpt4 key购买 nike

我知道函数 sqrt((x1-x0)^2 + (y1-y0)^2) 来求距离。但我有两列纬度和经度,我想找到 4 个最近的县之间的差异。我需要一个循环吗?我还有一栏包含百分比。每个县都有一个百分比。因此,我需要找到最接近的县之间的百分比差异。

最佳答案

当然你不需要循环这个问题。

与其这样做,不如创建一个 Earth.dist 函数,如下所示:

earth.dist <- function (long1, lat1, long2, lat2)
{
rad <- pi/180
a1 <- lat1 * rad
a2 <- long1 * rad
b1 <- lat2 * rad
b2 <- long2 * rad
dlon <- b2 - a2
dlat <- b1 - a1
a <- (sin(dlat/2))^2 + cos(a1) * cos(b1) * (sin(dlon/2))^2
c <- 2 * atan2(sqrt(a), sqrt(1 - a))
R <- 6378.145
d <- R * c
return(d)
}

通过将其与所有国家/地区之间的计算相结合,您可以按升序距离对每个国家/地区的列表进行排序,然后计算方差。它将遵循您正在寻找的结果。

希望这个功能解释对您有所帮助。

关于r - 如果我有 R 中的纬度和经度,如何找到美国县最近的县?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37120375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com