在路径中搜索坐标



我是iOS iPhone开发新手,在使用地图时遇到了一些问题。

我试图找到一种方法来创建一个有很多坐标点(纬度,经度)的路径,然后检查一个特定的坐标点是否在这个路径内。我已经尝试过如何使用Apple Maps和新的Google SDK来实现这一点,但是没有成功。

完整的问题是:

我有一些坐标(但不是全部)来表示车辆经过的路径。我需要检查车辆路径内是否有特定坐标。例如:我有坐标X, Y和z。如果我用这个坐标创建一个路径,完整的路径将有坐标X, Y, W和z。有了这个路径,我可以检查坐标W,它不在用于构建路径的坐标中。这有点像在两点之间创建一条路径,但告诉地图使用一些检查点创建一条路线,然后检查该路径内是否有随机坐标。

有这样的方法吗?

我想对于一个简单的解决方案,你可以使用像

(MKUserLocation *)userLocation;
CLLocation* X = [init from some coordinates];
CLLocation* Y = [init from some coordinates];
CLLocation* W = userLocation.location;
CLLocationDistance distToX = [X distanceFromLocation:W];
CLLocationDistance distToY = [Y distanceFromLocation:W];

和检测W离X,Y定义的行有多远,可以调整以下代码:

def pointLineDistance(p,v1,v2):
  return (numpy.linalg.norm(p-v1)**2 * numpy.linalg.norm(v2-v1)**2 - (numpy.dot((v1-p),(v2-v1)))**2) / numpy.linalg.norm(v2-v1)**2 

对不起,我正在使用python &这里是Numpy,复制&粘贴它,但这是点p(你的W)和另外两个向量v1,v2(你的X,Y)之间距离的二维/三维广义实现。查阅http://mathworld.wolfram.com/Point-LineDistance2-Dimensional.html

我不知道它如何适用于球面坐标,但它适用于欧几里德空间。欢呼,EL

最新更新