gpt4 book ai didi

java - 根据纬度和经度将位置映射到最近的位置

转载 作者:行者123 更新时间:2023-11-30 07:56:39 25 4
gpt4 key购买 nike

我有两组位置,比如 A(20K 个位置)和 B(2k 个位置)。我想根据经纬度为集合 A 中的所有位置绘制到集合 B 中它们最近的位置的 map 。

Java 或 R 有什么解决方案吗?首选 Java 解决方案。

最佳答案

来自@rosscova 的回答

取点,但作为矩阵

pointsA <- as.matrix(data.frame( lat = c( 10, 12, 20 ), lon = c( 12, 17, 10 ) ))
pointsB <- as.matrix(data.frame( lat = c( 11, 15 ), lon = c( 15, 15 ) ))

然后,在处理坐标时,您可能更喜欢使用大圆(WGS84 椭球)距离而不是欧氏距离。我通常使用 sp 包中的 spDists 函数

library( sp )
out_Dists <- spDists(x = pointsA, y = pointsB, longlat = TRUE, segments = FALSE, diagonal = FALSE)

最后使用 apply 函数和行上的 which.min 得到最近的 pointBpointA

pointsA[ apply(out_Dists, 1, which.min), ]

关于java - 根据纬度和经度将位置映射到最近的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41931045/

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