【问题标题】:Search for coordinates in a path在路径中搜索坐标
【发布时间】:2013-05-31 18:26:13
【问题描述】:

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

我正在尝试找到一种方法来创建具有大量坐标点(纬度、经度)的路径,然后检查特定坐标点是否在该路径内。我已经在寻找如何使用 Apple Maps 和新的 Google SDK 来做到这一点,但没有成功。

完整的问题是:

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

有办法做这样的事情吗?

【问题讨论】:

    标签: iphone ios maps google-maps-sdk-ios apple-maps


    【解决方案1】:

    我想对于一个简单的解决方案,您可以使用类似的东西

    (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

    我不知道它如何符合球面坐标,但它适用于欧几里德空间。 干杯, 艾尔

    【讨论】:

      猜你喜欢
      • 2011-03-26
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多