0

私は iOS iPhone 開発の初心者で、マップの使用に問題があります。

多くの座標点 (緯度、経度) を持つパスを作成し、特定の座標点がこのパス内にあるかどうかを確認する方法を見つけようとしています。Apple Maps と新しい Google SDK を使用してこれを行う方法を既に探しましたが、成功しませんでした。

完全な問題は次のとおりです。

車両が通過するパスを表すいくつかの座標 (すべてではない) があります。特定の座標がこの車両パス内にあるかどうかを確認する必要があります。例: 座標 X、Y、Z があります。この座標でパスを作成すると、完全なパスは座標 X、Y、W、Z になります。このパスを使用して、座標 W を確認できますが、そうではありませんでした。パスを構築するために使用される座標で。これは、2 点間のパスを作成するようなものですが、いくつかのチェックポイントを使用してルートを作成するようにマップに指示し、ランダムな座標がこのパス内にあるかどうかを確認した後です。

このようなことをする方法はありますか?

4

1 に答える 1

0

簡単な解決策として、次のようなものを使用できると思います

(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];

X、Y で定義された線から W までの距離を検出するには、次のコードを調整します。

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) と他の 2 つのベクトル v1、v2 (X、Y) の間の距離の 2d/3d 一般化された実装です。http://mathworld.wolfram.com/Point-LineDistance2-Dimensional.htmlを調べてください

球面座標にどのように準拠しているかはわかりませんが、ユークリッド空間では問題ありません。乾杯、EL

于 2013-07-08T20:56:06.857 に答える