Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用搜索算法(python)的路线到给定点的最近坐标_Python_Search_Coordinates_Haversine - Fatal编程技术网

使用搜索算法(python)的路线到给定点的最近坐标

使用搜索算法(python)的路线到给定点的最近坐标,python,search,coordinates,haversine,Python,Search,Coordinates,Haversine,我有以坐标形式表示的路线,坐标为lat/long。根据路线的长度,它可能有100甚至800个坐标。然后我又有一个特定的坐标,表示我的位置。我想做的是在路线上找到离我最近的点(坐标)。我可以用哈弗森公式计算路线中每个点到我所在位置的距离,并取最小值,但这可能需要很长时间,因为有些路线很长,有很多点需要比较。有没有一种搜索算法可以帮助解决这个问题?我做了一项关于黄金分割搜索的研究,但不能确定这是否是我要寻找的。我可以想出两种方法来解决这个问题。 一种方法是为每条路线创建一个K-D树,并在每个树中查询

我有以坐标形式表示的路线,坐标为lat/long。根据路线的长度,它可能有100甚至800个坐标。然后我又有一个特定的坐标,表示我的位置。我想做的是在路线上找到离我最近的点(坐标)。我可以用哈弗森公式计算路线中每个点到我所在位置的距离,并取最小值,但这可能需要很长时间,因为有些路线很长,有很多点需要比较。有没有一种搜索算法可以帮助解决这个问题?我做了一项关于黄金分割搜索的研究,但不能确定这是否是我要寻找的。我可以想出两种方法来解决这个问题。 一种方法是为每条路线创建一个K-D树,并在每个树中查询新的坐标点以搜索最近的点。检查

另一种更简单的可能性是,将每条管线创建为一个阵列,在点和每个阵列之间使用一些度量,并找到度量最小的一个,例如使用

然后,如果我们得到argmin,你可以看到最近的点是第6个元素

np.argmin(euclidean_distances(x,route))
6
np.argmin(euclidean_distances(x,route))
6