【发布时间】:2020-10-28 15:25:51
【问题描述】:
我有两个 CSV 文件,其中包含位置坐标(1100 万行,三列:“lid”、“lat”、“lon”)和设施(50k 行列“fid”、“lat”、“lon” )。对于每个位置,我需要计算到最近设施的最小距离。
我知道如何在 R 中使用“st_distance”来做到这一点。但是,“st_distance”需要很长时间,因为它首先计算完整的距离矩阵并且两个文件非常大。我尝试将位置文件分解为更小的组,并在 3 个核心上使用“future_map”,这比我预期的要花费更多的时间。有没有办法加快这个过程?
【问题讨论】:
-
sf::st_nearest_feature()可能会有所帮助。否则,将您的两组完全连接起来,这样每个位置都连接到每个设施。使用geodist计算每对之间的距离,然后选择每个位置的最小距离。我建议使用data.table来完成这一切。
标签: r tidyverse geospatial distance sf