ジオコーディングについての質問です。

変換サービスで住所を座標に変換すると、次のような形式に変換されました。

130.00000
33.00000

この右端(小数点第5位)の値1あたりは何メートルになるのでしょうか?

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1412952644

こちらのページも参考にしたのですが、30.86mで計算するとどうしても現実味ががありません。
具体的には、□□1丁目と○○2丁目の隣接している住所間の距離が6km!などになってしまって困っています。

どなたか解説していただけると助かります、よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:2008/10/17 11:43:09
  • 終了:2008/10/17 14:19:49

ベストアンサー

id:pahoo No.3

pahoo回答回数5960ベストアンサー獲得回数6332008/10/17 13:07:23

ポイント200pt

福岡県の市町村 緯度と経度」によると、福岡市は北緯33.3526度、東経130.2401です。

先ほど紹介した「地球上の2地点間の距離

  1. 北緯33.3526、東経130.2401
  2. 北緯33.3526、東経130.24011

(経度だけ0.00001度違う)を代入すると、「9.E-4 km」すなわち「0.9 m」という答えになります。

[f:id:pahoo:20081017125834g:image]

上図は地球の断面図です。

赤い線(A)は緯度0度、つまり赤道の半径です。これは約6400kmです。赤い線をぐるり1周させると円周になりますが、これは公式「2×円周率(π)×半径」で求めることができます。計算すると40212kmになります。

次に、北緯33度(角C)の地点Bが同様に1周すると、青い線は赤い線より短いので、その円周は赤道より小さくなることが分かります。これを計算するには三角関数を用います。

BD=cos(C)×BC

したがって、B地点における円周は

2×π×cos(C)×BC

となります。

これを計算すると、33589kmとなります。

これを360度で割ると1度あたりは93.3km。さらに100000で割ると、0.93メートルとなり、冒頭の計算結果が正しいことが分かります。


ただし、地球は完全な球体ではなく、緯度方向と経度方向の半径は20kmも異なります。

よって、厳密には緯度方向と経度方向を合わせた行列演算を行う必要があります。

冒頭のサイトも、地球を完全な球体と見なして計算しているようなので、若干誤差が発生します。

id:southgate_01

詳しい解説をいただき、ありがとうございます。

単に「答え」が分かっただけではなく、「答えを出す方法」もよく分かったので大変感謝しています。

2008/10/17 14:18:50

その他の回答(2件)

id:sterna No.1

arakai回答回数267ベストアンサー獲得回数62008/10/17 11:53:15

ポイント30pt

度分秒ではなく、少数で度表示なのではないですか?

1度が経度ではおよそ110kmですので、

この場合1度は1.1mくらいになるはず。

http://www.google.com/search?hl=ja&q=110*0.00001%E3%82%AD%E3%83%AD%E3%83%A1%E3%83%BC%E3%83%88%E3%83%AB%E3%82%92%E3%83%A1%E3%83%BC%E3%83%88%E3%83%AB%E3%81%A7&lr=

緯度は場所による違いも大きいので自分で計算してみてください。

id:southgate_01

コメントありがとうございます。


「度分秒」「度表示」という言葉の違いを知らなかったのが原因みたいですね。

ちょっと1.1mで試してみます。

2008/10/17 11:59:19
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/10/17 12:01:13

地球上で0.00001度が何メートルになるかというご質問ですね。

結論を書くと、一概に言うことができません。ちょっとした計算式が必要です。

地球上の2地点間の距離」を利用すると便利です。


地球儀をを頭に思い浮かべてください。

赤道1周は約4万キロなので、これを360度で割ると、1度あたりの長さは約111kmとなります。ところが、東京のある緯度(北緯35.68度)で1周すると4万キロよりかなり小さいですよね。

これは、緯度方向についても同じことが言えます。

ですから、ある緯度における経度0.00001度あたりの長さというのは求めることができますが、一般的に「0.00001度が何メートルになるか」ということはできません。


地点A(東経X度・北緯X度)と地点B(東経Y度・北緯Y度)の2地点間の距離は、三角関数を用いて算出することができます。

計算式はネット上を探せば出てくると思いますが、「地球上の2地点間の距離」を利用すると簡単に計算してくれます。また、「PHPで2地点間の直線距離を求める」では住所を指定した距離計算ができます。

id:southgate_01

おぉ、仕組みが理解できたのでとても嬉しいです。


知りたいのは九州の県内です。

具体的には、「福岡県における0.00001度」「大分県における・・・」と言った具合なのです。


解説の内容からすると、当該地点(福岡県の中心)の縦・横の地球1周の距離が分かれば、一応説得力のある答えが出るように理解したのですが、追加で何かヒントなどがあればアドバイスをお願いします。

2008/10/17 12:15:32
id:pahoo No.3

pahoo回答回数5960ベストアンサー獲得回数6332008/10/17 13:07:23ここでベストアンサー

ポイント200pt

福岡県の市町村 緯度と経度」によると、福岡市は北緯33.3526度、東経130.2401です。

先ほど紹介した「地球上の2地点間の距離

  1. 北緯33.3526、東経130.2401
  2. 北緯33.3526、東経130.24011

(経度だけ0.00001度違う)を代入すると、「9.E-4 km」すなわち「0.9 m」という答えになります。

[f:id:pahoo:20081017125834g:image]

上図は地球の断面図です。

赤い線(A)は緯度0度、つまり赤道の半径です。これは約6400kmです。赤い線をぐるり1周させると円周になりますが、これは公式「2×円周率(π)×半径」で求めることができます。計算すると40212kmになります。

次に、北緯33度(角C)の地点Bが同様に1周すると、青い線は赤い線より短いので、その円周は赤道より小さくなることが分かります。これを計算するには三角関数を用います。

BD=cos(C)×BC

したがって、B地点における円周は

2×π×cos(C)×BC

となります。

これを計算すると、33589kmとなります。

これを360度で割ると1度あたりは93.3km。さらに100000で割ると、0.93メートルとなり、冒頭の計算結果が正しいことが分かります。


ただし、地球は完全な球体ではなく、緯度方向と経度方向の半径は20kmも異なります。

よって、厳密には緯度方向と経度方向を合わせた行列演算を行う必要があります。

冒頭のサイトも、地球を完全な球体と見なして計算しているようなので、若干誤差が発生します。

id:southgate_01

詳しい解説をいただき、ありがとうございます。

単に「答え」が分かっただけではなく、「答えを出す方法」もよく分かったので大変感謝しています。

2008/10/17 14:18:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません