0

私はすでにいくつかの調査を行いましたが、私の問題に適合する答えはありませんでした:私はlatlonboxで表される画像(jpeg)を持っています:

https://developers.google.com/kml/documentation/kmlreference?hl=de#latlonbox では、画像を形成する北、南、東、西の情報がありますよね? N/W は左上のポイントで、S/E は右下のポイントですか?

画像のサイズは 4000x2000 です。私の mvc アプリケーションでは、サイズを 1500x750 ピクセルに縮小しました。

今、緯度/経度の入力を取得して、この画像の x/y 位置を計算しようとしています。どうすればこれを達成できますか?

このリンクを見つけました: http://code.google.com/p/geographical-dot-net/source/browse/trunk/GeographicalDotNet/GeographicalDotNet/Projection/GoogleMapsAPIProjection.cs

しかし、ズーム情報がなく、開始方法もわかりません.jpegとlatlonboxのkml情報があるためです。

助けてくれてありがとう

4

1 に答える 1

0

お返事をありがとうございます!はい、私の場合、キロメートルは非常に小さく、おそらく数百メートルしかありません。2 つの一次方程式で解こうとしましたが、それでよろしいでしょうか? 最初のリンクを使用して、latlonbox の例で次のことを行いました。

WN: (-90,8714285289695/48,25475939255556)  <=> X: (0/0)
ES: (-90,86591508839973/48,25207367852141) <=> Y: (1500/750)

E: -90,86591508839973
S: 48,25207367852141
W: -90,8714285289695
N: 48,25475939255556

Diff EW:  0,00551344056977
Diff_SN:  0,00268571403415

f_X1: m*x_lon + b ここで、f_X1 は X 座標で、x_lon は経度の値です f_X2: m*x_lat + b ここで、f_X2 は Y 座標で、x_lat は緯度の値です X 座標を取得する関数:

m = (1500/Diff_EW) = 272062 (rounded)

関数 f_X1 に既知の X/経度ペアを挿入します: 1500 = E * 272062 + b b = 1500 - (E * 272062) b = 24722662 (四捨五入)

=> f_X1: 272062x + 24722662

f_X2 を取得する同じ手順:

m  = (750/-Diff_SN) = - 279255(rounded)

関数 f_X2 に既知の Y/Latitude-Pair を挿入します。

750 = S * (-279255) + b
b = 750 - (S*(-279255))
b = 13475382

f_X2: -279255x + 13475382

East と West (E と W) の値を挿入すると、X 座標が得られます (約 1500 と 0; 丸めによる偏差)

南と北 (S と N) の値を挿入すると、Y 座標が得られます (約 750 と 0; 丸めによる偏差)

この場合、これは正しい方法ですか?関数が線形であると仮定しましたが、それが正しいかどうかはわかりません。

助けてくれてありがとう。

于 2013-11-14T07:41:14.330 に答える