2

ユーザーが緯度/経度グリッドの交差点の間をクリックしたときの重心または測地線の中点を計算する必要があります。交差点は、GE のほとんどの部分で正方形を形成し、時には細長い長方形を形成します。もちろん、これは地球の形によるものです。ユーザーがこのグリッドの間の任意の場所をクリックできるようにする有効な数式と、想定されるグリッド解像度 (このディスカッションでは 1 km 間隔など) を取る正確な関数 (Javascript またはサーバー側コード) を探しています。その経緯線グリッド内の重心座標を返す入力座標。

明確にするために、私のGoogleグループの投稿に添付された画像を見てください:

http://google-earth-api.googlegroups.com/web/Picture+5.png?gda=h5oFPz8AAAD315KpovipQeBwdfGpmW3ZhBc9PTADwYa-n193hZ6AItFmHuno63c7phcEXYVuRA6ccyFKn-rNKC-d1pM_IdV0&gsc=sz6bbAsHAAABBKF7YXjXWyc4

私ができる必要があるのは、ユーザーがこのグリッドの正方形のどこかをクリックした場合、そのグリッドの交点/正方形の重心または中心点、または少なくとも境界グリッド座標 (正方形を作る) を見つける必要があることです。

グリッドが UTM 標準であり、最大解像度が 1 km (またはこれをパラメーターにする) であると仮定すると、近くにある他の 4 つのポイントを検出する必要があり、セントロイドの計算はそれほど難しくありません。皆様からのフィードバックをお待ちしております。

ユーザーがグリッド上の任意の場所をクリックして、グリッドの境界座標 (4 つの座標の正方形を作成) または必要な目盛グリッドの正方形の重心/中点を見つける簡単な方法がありません。

考えられるのは、UTM座標参照などの参照を使用して、可能な限り仮定を使用することです。

グリッドの幅が X 度であると仮定すると、純粋な JavaScript 関数に入力座標を取り、境界経緯線座標を 10 進度で返すことはできますか?

私が持っていた別の考えは、地理空間レイヤーにグリッドを作成して、入力座標を取得し、経緯線の最も近い重心を返すことでしたか?

これは理にかなっていますか?

ありがとう!

オマール

4

1 に答える 1

1

これは丸めの問題のようです

1) ユーザーが地図上の任意の場所をクリックする

2) クリックをトラップして、actualLat/actualLon 値を読み取りたい場合

3) 最も近い離散グリッド値 minLat/minLon に切り捨てます。

4) 次に、何らかの方法でグリッドの中点を計算して返したいとします。

 midLat = minLat + deltaGridLat/2;
 midLon = minLon + deltaGridLon/2;

広告 2) 私のMaidenhead ロケータ ビューアで .js ファイルを検索します。GEイベント ハンドラとマウス クリックのハンドラを初期化するためのコードを確実に再利用できます (右クリックをトラップしていることに注意してください)。

イベント ハンドラーは基本的にユーザーが選択した位置を取得し、それを関数 CoordToLoc() に渡します。そこで座標は Maidenhead ロケーター文字列に変換され、Web ページのフィールド inpLocator に表示されます。

広告 3) これはグリッドによって異なります。(私の場合のように) 個別の Lat/Lon 値にバインドされている場合は、丸めと同じくらい簡単です。グリッド ポイントが基準点からの km 単位の距離オフセットとして定義されている場合、簡単な方法は、引数を 1 の長さで割り、小数点以下の桁数を無視することです。

これが役に立てば幸いです

于 2009-10-07T14:04:59.623 に答える