アプリ版:「スタンプのみでお礼する」機能のリリースについて

x=0.805018,2.415053,4.025088…
y=74.995682,224.987045,374.978394…

などと中心からのx方向、y方向の距離[m]があります。
中心の緯度経度は、
緯度=34.9083333333333
経度=136.5975
です。

c言語でそれぞれのx,yの地点の緯度経度を知る変換プログラムを作りたいのですが、どうすればよいでしょうか。
よろしくお願いいたします。

A 回答 (3件)

無理では。



緯度経度って、3次元座標を示す(ここでは極座標の動径が暗黙的に指定されているはず。)ものだから、xとyの2変数だけでは情報が足りないような。

質問内容を読み違えているだけかもしれませんが。
    • good
    • 0

2地点の経度・緯度から距離を求めるなら過去の質問にありました。


計算式を改良すればできるかもしれません。

参考URL:http://oshiete.goo.ne.jp/qa/249931.html
    • good
    • 0

いろいろと条件が足りません。


・地球上の北緯約34.9度、東経約136.6度、と考えていいのでしょうか?
・x,yはどの方向に対しての距離なのでしょうか?Yの正が北?南?それとも全然違う方角?Xの正は?
・どの程度の誤差まで許容できるの?

誤差が十分に許容できるなら、その緯度/経度付近は球面に接する平面に近似できます。
北緯約34.9度、東経約136.6度、Yの正が北、Xの正が東
とすると、アークタンジェント(x/地球の半径)で東経の、アークタンジェント(y/地球の半径)で北緯の差分の角度が求まります。
計算してませんが、数km程度ならこれで十分なはずです。

それ以上の距離があったり、より高い精度が欲しい、となると、緯度による東西の長さ、曲面上での距離、地球の偏平率などいろんなものを考慮する必要があるでしょう。


    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!