1

現在の位置があります。緯度と経度の値は度単位(ポイントA)で、最終位置(ポイントB)も同じです。新しい位置を計算するには、2つのポイント間のコース(度単位)を計算し、指定された速度(km /秒)とタイムスパン(秒単位)を使用する必要があります。

例(擬似コード):

PointA.Lat = x.xxxx;
PointA.Lng = x.xxxx;
PointB.Lat = x.xxxx;
PointB.Lng = x.xxxx;
Speed = 3;
TimeSpan = 0.1;
Course = GetCourse(PointA, PointB);

NewPoint = CalculatePoint(PointA, Course, Speed, TimeSpan);

GeoCoordinateクラスを使用することを考えましたが、すべての計算を自分で実装する方法がわかりません。(私はGPSを持っていません-これは単なるシミュレーションであり、それらは偽のポイントです)。

誰かが数学やそれを無料で実行でき、私のコードに簡単にタグ付けできるパッケージを手伝ってくれますか?

ところで、私はC#を使用しています。

ありがとう。

4

1 に答える 1

0

私はこれをコメントしたと思いますが、必要な担当者がいません。

探しているのは、「測地逆」および「測地直接」計算を提供する測地ライブラリです。自分のことは知りませんが、「c#測地学ライブラリ」を検索してみてください</ p>

前者は2つの地理座標間の方位と距離を示し、後者は特定の方位と最初の座標からの距離で新しい座標を示します。

だからあなたの問題のために:

  1. との間の方位を取得するには、逆を使用しますPointAPointB
  2. 時間と速度から目的地の距離を計算し、
  3. 方位と距離を直接接続して、目的の目的地を取得しますNewCoord

第一原理からこれらの計算をコーディングすることは非常に重要であり、(おそらく)WGS84楕円体のパラメーターを必要とします。ただし、これが出発点です。

お役に立てれば。

于 2012-04-29T13:32:34.163 に答える