2016-07-12 5 views
0

私は現在、C#を使用して、始点と終点の緯度と経度を10進数で表し、これらの2点(開始点と終了点)の間のGPS点(緯度と経度)を示すコードを記述します。私のデータベース。例えば2つの既知の点の間に1mごとにすべての頂点(緯度、経度)点を取得しますか?

Iは、緯度39.90732及び経度116.45353の座標を開始していると私は、緯度39.90736及び経度116.44927のエンドポイントを持っています。データグリッドビューまたはリストビューで、データベース内のこれら2つのポイント間のGPSポイント(緯度と経度の値)を照会して表示します。

また、1メートル間隔ごとにGPSポイントの数をカウントします。

1. image description for first part

2. image description for second part

+1

ご質問はありますか?コードを書く人がいますか? C#コードを書くと、なぜJavaタグですか? – TDG

答えて

0

だからあなたは、データベース内の座標のセットを持っており、特定のライン上にあるものを取得したいですか?

最初の問題:数学的に正しいためには、その行の式f(x)= k * x + dを取得して、その式に有効な解であるかどうかを確認する必要があります。開始点(s_x, s_y)と終了点(e_x, e_y)にまたがる四角形の外側にあるチェックポイントをスキップすることができます。つまり、ポイント(x, y)を確認する必要があるのは、xs_xe_xの間にあり、ys_ye_yの間にある点だけです。

2番目の問題:問題1から派生した有効な点のセットがある場合は、それぞれの開始点までの距離を計算し、距離でグループ化するのは非常に簡単です。

これは、gpsの座標をメートル法に変換する方法を知っており、距離が短く、平らな面上の球面の投影が無視できるほどです。例えば、2つの経度の間の距離は、赤道で最大であり、極に向かって小さくなる。さらに、地球上の2つのポイント間の最短距離は、メルカトル図法を使用したフラットマップ上にあるようではありません。

+0

正確に!私は何を探しているのですか? – user1957167

関連する問題