【发布时间】:2014-12-12 11:17:16
【问题描述】:
我有两个不同站点的数据集。数据基本上是带有坐标、经度和纬度的数据帧。给定第一个数据集(反之亦然),我想为另一个数据集中的每个站点找到最近的站点。我的主要问题是坐标没有排序并且数据集有不同的长度。例如,第一个包含 2228 个站点,第二个包含 1782 个。所以,我不知道如何处理。 我知道函数 rdist.earth 并尝试使用它。这是一个简短的示例:
#First data set of stations
set1 <- structure(list(lon = c(13.671114, 12.866947, 15.94223, 11.099736,
12.958342, 14.203892, 11.86389, 16.526674, 16.193064, 17.071392
), lat = c(48.39167, 48.148056, 48.721111, 47.189167, 47.054443,
47.129166, 47.306667, 47.84, 47.304167, 48.109444)), .Names = c("lon",
"lat"), row.names = c(NA, 10L), class = "data.frame")
#Second data set
set2 <- structure(list(lon = structure(c(14.4829998016357, 32.4000015258789,
-8.66600036621094, 15.4670000076294, 18.9160003662109, 19.0160007476807,
31.0990009307861, 14.3660001754761, 9.59899997711182, 11.0830001831055
), .Dim = 10L), lat = structure(c(35.8499984741211, 34.75, 70.9329986572266,
78.25, 69.6829986572266, 74.515998840332, 70.3659973144531, 67.265998840332,
63.6990013122559, 60.1990013122559), .Dim = 10L)), .Names = c("lon",
"lat"), row.names = c(NA, 10L), class = "data.frame")
#computing distance
dd<- rdist.earth(set1,set2,miles=FALSE)
现在我有了矩阵 dd 和距离……但我不知道如何找到每个点的信息。我的意思是,例如,从数据集 1 中,第一个点,第二个数据集中最近的站点是什么?有什么想法吗??
非常感谢。
【问题讨论】:
-
这听起来类似于这个问题stackoverflow.com/questions/27329276/…
标签: r