gpt4 book ai didi

r - R 中的 distm 函数和 distVincentyEllipsoid 之间的区别

转载 作者:行者123 更新时间:2023-12-03 19:11:12 25 4
gpt4 key购买 nike

您能否充分解释使用 distm 的巨大差异?函数或 distVincentyEllipsoid计算R中测地坐标距离的函数?

我注意到使用 distm 进行此计算需要更长的时间。您能否向我解释一下差异之外,为什么会发生这种情况?

谢谢!

最佳答案

继续您之前的问题:Distance calculation optimization in R

速度与生成返回对象所需的计算级别有关,不一定与距离计算之间的差异有关(我不确定 distm() 函数使用什么大圆计算作为它的默认值)。确实是geosphere::此处的文档:https://cran.r-project.org/web/packages/geosphere/geosphere.pdf建议 distVincentyEllipsoid()与其他大圆方法相比,计算“非常准确”但“计算强度更大”,而这会让您怀疑计算速度较慢,这是因为我在回答中构建代码的方式是返回每行之间的距离向量(不是每个点之间的距离矩阵)。

相反,您的 distm()原始代码中的计算返回每个点之间的多个向量的矩阵。对于您的问题,只要对数据进行排序,就没有必要这样做,这就是我这样做的原因。此外,也没有必要使用分层聚类将基于这些距离的点聚类为 3 个(您定义的数量)聚类,因为我们可以使用每个点值之间的距离百分比来做同样的事情。同样,速度优势与在单个向量而不是矩阵上计算集群有关。

请注意,我是一名具有会计/金融背景的数据分析师,无论如何都不是 GIS 专家。话虽如此,我对 distVincentyEllipsoid() 的使用函数来自我的一般理解,即这会将大圆距离的相当准确的估计作为向量(而不是矩阵)返回。此外,在过去使用它来优化物流操作以达到定价目的,我可以证明这些计算已经在市场上进行了测试并被证明是合理的。

关于r - R 中的 distm 函数和 distVincentyEllipsoid 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62086618/

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