在R或Python中查找一组对象的最小距离
我有一组县以及每个质心的纬度和经度:在R或Python中查找一组对象的最小距离,python,r,geocoding,geospatial,geocode,Python,R,Geocoding,Geospatial,Geocode,我有一组县以及每个质心的纬度和经度: county lat lon Abiline 32.134 -23.322 Cook 43.324 -32.219 Allegheny 31.949 -30.123 我还列出了许多医院,以及每家医院的经度和纬度。我想找出每个县中心到最近医院的距离 到目前为止,我已经使用ggmap中的geocode()函数来查找每个县到每个医院的距离,然后选择最小距离。然而,因为我有许多县和许多医院,这个问题很快就会变得高度复杂
county lat lon
Abiline 32.134 -23.322
Cook 43.324 -32.219
Allegheny 31.949 -30.123
我还列出了许多医院,以及每家医院的经度和纬度。我想找出每个县中心到最近医院的距离
到目前为止,我已经使用ggmap中的geocode()函数来查找每个县到每个医院的距离,然后选择最小距离。然而,因为我有许多县和许多医院,这个问题很快就会变得高度复杂,而且可能需要很长时间
我希望避免使用arcgis来实现这一点——在R或Python中有没有一种简单的方法来实现这一点 我认为你想要达到的目标类似于这个问题 以下是实现相同目的的完整算法和说明: 我们得到一个平面上n个点的数组,问题是找出数组中最近的一对点。这个问题在许多应用中都会出现。例如,在空中交通管制中,您可能希望监视靠得太近的飞机,因为这可能表示可能发生碰撞。回想一下两点p和q之间的距离公式。 蛮力解为O(n^2),计算每对之间的距离并返回最小值。我们可以使用分治策略计算O(nLogn)时间内的最小距离 算法 下面是O(n(Logn)^2)算法的详细步骤。 输入:n个点的数组P[] 输出:给定阵列中两点之间的最小距离 作为预处理步骤,根据x坐标对输入数组进行排序
资料来源:geeksforgeks.org我认为你想要达到的目标类似于这个问题 以下是实现相同目的的完整算法和说明: 我们得到一个平面上n个点的数组,问题是找出数组中最近的一对点。这个问题在许多应用中都会出现。例如,在空中交通管制中,您可能希望监视靠得太近的飞机,因为这可能表示可能发生碰撞。回想一下两点p和q之间的距离公式。 蛮力解为O(n^2),计算每对之间的距离并返回最小值。我们可以使用分治策略计算O(nLogn)时间内的最小距离 算法 下面是O(n(Logn)^2)算法的详细步骤。 输入:n个点的数组P[] 输出:给定阵列中两点之间的最小距离 作为预处理步骤,根据x坐标对输入数组进行排序
来源:geeksforgeks.org你在寻找欧几里得距离吗?如果你在寻找R中的最小欧几里得距离,你可以使用
min(dist(c(df$lat,df$lon))
是的,我在寻找欧几里得距离。在您的解决方案中,df$lat
和df$lon
是指每个医院和县的堆叠(lat,lon)对吗?是的,它应该返回一个成对的距离矩阵您在寻找欧几里德距离吗?如果您在R中寻找最小欧几里德距离,您可以使用min(dist(c(df$lat,df$lon))
是,我在寻找欧几里得距离。在您的解决方案中,df$lat
和df$lon
是否指每个医院和县的堆叠(lat,lon)对?是的,它应该返回一个成对的距离矩阵