座標をLatitude&に変換するにはどうすればよいですか。経度?

StackOverflow https://stackoverflow.com/questions/609379

  •  03-07-2019
  •  | 
  •  

質問

私は、輸送の可視化アプリをリバースエンジニアリングしています。データフィードの発信元の緯度を調べる必要があります。具体的には、XY 0,0とは何ですか。私が見つけた唯一の式は、2点間の距離、または方位/距離の位置を計算します。

XYを使用して、非常に古いアプリケーションでマップを表示します。 XYはフィートです。

これらの座標があります:

47.70446615506108, -122.34469839507263: x=1268314, y=260622
47.774182540800616,-122.3412994737105:  x=1269649, y=286031
47.60024792289405, -122.32767331735774: x=1271767, y=222532
47.57012494413499, -122.29129609983679: x=1280532, y=211374

x = 0、y = 0 の緯度と経度が何であるか、およびこれを見つけるための式を調べる必要があります。

これらには2つのデータフィードがあり、一方は他方よりも最新です。最新のデータを含むフィードには、緯度、経度は含まれませんが、XYのみが含まれます。私は彼らの(現在の)データフィードのXY座標を緯度と経度に簡単に変換できるように、0、0が何であるかという、より少ない、より有益な(lat、lonを含む)データフィードに基づいて外挿しようとしています。

役に立ちましたか?

解決

使用している座標系を尋ねます! (または、データベースからデータセットを取得した場合は、データセットのメタデータを見てください。そうでなければ、その値に懐疑的です)

ほとんどの場合、これは州平面座標系のいずれかです。それらは地球のローカライズされた地域用で( UTM のようなもの)、頻繁に使用されます測量。

CORPSCON (または他のGISプログラム; ExpertGPS は、GISオプションパックをお持ちの場合にこれを行いますが、無料ではありません。 GPSBabel は、lat / longと状態平面座標系のいずれかとの間で変換する変換を行います。また、座標がどの datum にあるかを知る必要があります。WGS84とNAD83は非常に近いですが、NAD27は異なります。

他のヒント

データの最初の2行を見て、緯度を引くと

47.7044 - 47.7741 = -0.06972 degrees

緯度ごとに60海里、海里あたり6076フィートです。

-.06972 * 60 * 6076 = 25,415 ft

2つの「Y」値の減算:

260662 - 286031 = 25,409 ft

実際、XとYの値が足元にあることを証明しているようです。

Y値のいずれかを取り、度に戻す場合、たとえば

260622 ft / ( 6076 ft/nm ) / ( 60 nm/degree ) = .71
286031 ft / 6076 / 60 = .78

(47.70および47.77)の緯度からこれらの値を引くと、47度に非常に近い値が得られます。これはy = 0ポイントである必要があります。

経度の場合、度は赤道で60海里、極で0マイルです。したがって、1度あたりのマイル数に緯度のコサインを乗算する必要があるため、約cos(47度)、つまり.68となります。したがって、1度あたり6076 nmではなく、約4145 nmです。

X値については、

1268314 ft / ( 4145 ft/nm ) / ( 60 nm/degree ) = 5.10 degrees
1269649 ft / 4145 / 60 = 5.10 degrees

これらのX数は、緯度が高くなると(負の値が小さくなる)増加するため、5.1度を追加する必要があると思います。つまり、X基点は約

です。
-122.3 + 5.1 = 117.2 West longitude for your x=0 point.

これはおおよそスポケーンWAの位置です。

X = 1280532、Y = 211374の場合

Lat = 47 + ( 211374 / 6096 / 60 ) = 47.58
Lon = -117.2 - ( 1280532 / ( 6096 * cos(47.58)) / 60 ) = -122.35

指定されたデータ47.57および-122.29とほぼ同等です

分散は異なる投影によるものである可能性があります-X、Yシステムは「フラット化」されている可能性があります球面投影に適用される緯度/経度ではなく投影?正確にするためには、さらに高度な数学やそのオープンソースライブラリが必要になる場合があります:)

この質問も役立つ場合があります。これには、大円距離を計算するためのコードが含まれています。

2つの緯度間の距離を計算する-経度ポイント? (ハーベシン式)

さまざまな座標系があります。緯度/経度(例:WGS84など)とx / yの最初(例:何らかの投影システム)の座標系が何であるかを知る必要があります。

その情報を入手したら、変換と操作を行うために使用できるツールがいくつかあります。 1つの例(無料のオープンソースコーディングライブラリ)は、 proj4 です。

座標系については既に十分なアドバイスが得られているので、過去に大成功を収めたライブラリをご紹介します。

Geotransは、米国国防総省による使用が承認されているため、十分にテストされていることを確認できます。ここから入手できます:

http://earth-info.nga.mil/GandG/geotrans/index.html

そのページはライブラリではなくアプリケーションについて述べているので、正しいリンクではないかもしれません。ライブラリはDevelopersパッケージに含まれていると思います。ライセンス条件はメモリから非常に自由でしたが、商業的に使用する前に条件を確認してください。

編集:

Geotransのライセンスに関する興味深い議論については、こちらをご覧ください:

http://www.mail-archive.com/debian-legal@lists.debian.org/msg39263.html

ここで、私はこれを言った:

Javaでは、 OpenMapコンバーター UTMでのポイントの表現から、緯度と経度を使用するものへ(GPSで最も一般的に使用されるWGS-84楕円体を想定)。

OpenMapはオープンソースであり、ダウンロードページへのリンクを投稿しますが、途中で短いライセンススクリプトがあります。だから、失礼なことを避けるために、私はディープリンクしません。代わりに、彼らのホームページダウンロードをクリックします。

それはあなたの問題を直接解決するか、少なくとも有用なアルゴリズムを指し示す必要があります。

これを行うためにBrenor Bropheyの gPoint PHPクラスを使用しましたいくつかの機会。確実な結果、GPLコード、および簡単に展開できます。推奨。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top