Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
(30.2552, 130.5348)  (30.2488, 130.5294)2点間の距離を計算する方法             Last update: 2012/12/12                    K. Morishita ...
計算の前に座標系について知ろう    2
緯度経度と直交座標系                        横線が緯線 地球上での位置を表す方法には2通りある  緯度経度+楕円体高  3軸直交座標系       縦線が経線               3            ...
まずは   緯度経度+楕円体高 地球はおおむね球状なので、地球上での位置座標は地球の中心か  らの角度と距離で表すことができる 角度は、緯度と経度  緯度≒赤道面からの角度   北極方向を普通はプラス+にとります(もしくは北緯・南緯と言...
緯度を図で説明してみると…             Z楕円体面に垂直に下す                 φ: Latitude                               Y or X                    ...
楕円体高を図で説明してみると…       Z       H: Altitude   Y or X                              6
経度を図で説明してみると…          Z                    赤道面に直角に下す                        Y     θ: Longitude X                         ...
楕円体と座標系の定義 楕円体を定義すれば、地球の形が決まる これを地球上の複数の点で固定すれば座標系が定まる  Ex. 「熊本大学のXX点を緯度**°経度@@°と定める」の様に 楕円体の定義に必要なパラメータ  長半径(=赤道半径) ...
さまざまな測地系 地球は楕円体だが、厳密には重力加速  度の違いによりでこぼこしている(右図) そこで、各国は楕円体が最も自国に  フィットするように局地座標系を定義した 最近では地球重心を原点とする世界測     地下の密度の違いで重力...
測地系の違いの影響 日本の測地系は、  旧日本測地系  日本測地系2000  日本測地系2011(311地震の影響で改定された) と移り変わってきた 特に、旧日本測地系と日本測地系2000との差は同じ座標  値の地点間で約400 m...
楕円体高と標高の差 標高の基準は各国が独自に定めている 日本では、東京湾の平均海水面高を標高0 mとしている 地図作りでは、これを基準にして水準測量を繰り返す  重力加速度も測ります 楕円体表面と平均海水面高は一致しない 熊大周辺で...
プログラムを組む上での考慮点 GPS受信機などの測位デバイスが、どの測地系で座標を出  力しているのか把握する必要がある 必要なら、測地系の変換を要する ちなみに、GPSが採用しているのはWGS84  大抵のハンディGPS受信機がデフォ...
次に   3軸直交座標系3軸直交座標系を下記の様に定義したものをECEF(earth centered, earth fixed)座標系と呼ぶ Z軸を地軸に一致させる                                      ...
ただし、 地球の地軸は一定していない  地球内の密度の移動などの影響でフラフラしています そこで、平均的な地軸方向を基準にします 大陸移動により、地表の座標は常に動いています  大陸移動の速度を計算して、元期(がんき)とそれを基準  ...
座標系の実現 地球の重心点なんぞ高精度には測れない そこで、地表の施設の座標を決め打ちする  座標には、「○○年××月△△日時点で」という元期が付く VLBIというmm単位で正確な座標決定方法を利用 地球個体潮汐(引力で地球がひずむ現...
距離の計算  16
公式は短距離と長距離で           使い分けるが吉 短距離では  求める精度によるが、10 km以下ではECEF座標系での差分で十分 長距離になると    船や航空機では実際に進むのに必要な距離が問題となる    移動の軌跡は...
具体的な使い分け 数cmの誤差を許容するなら ~10 km: ECEF座標系上でのユークリッド距離 ~100 km: ヒュベニの公式などの簡易式  ヒュベニの公式は高度を考慮しない それ以上: 長距離用の公式  高度を考慮するものは...
ごく短距離で        荒く距離を求めるなら まず赤道での経度1°当たりの距離𝑙 𝑎 を求める  予め計算して、定数で与えてok  おおよそで良ければ、緯度1°当たりの距離も𝑙 𝑎 とする 経度1°当たりの距離𝑙は、緯度𝜙の関数 ...
[注意]採用されているアルゴリズムの差により、1万km以上の距離になると数m異なり得ます計算結果の正誤確認方法              20
WEB上のサービス http://www.benricho.org/map_straightdistance/ http://keisan.casio.jp/has10/SpecExec.cgi?id=syste  m/2006/12576...
ソフトウェアでチェック Google Earth     Google社のリリースしているGISソフト衛星写真で表示されている     地図と座標間の誤差は多い場所で数 mとか     地球をぐるぐる回せる間隔が楽しい(人工衛星の気分?...
GNSS測量のイロハ    23
GNSS測量とは   GPSなどの衛星を利用して位置を測ること   衛星からの電波が届かないと測位できません   GPS受信機はアンテナの位置座標を計算する   あくまで、位置座標は受信機が計算する   GPS受信機は電波を衛星に対し...
GNSS測量の種類 単独測位  受信機1台で測位(位置を測る)  価格が安い  代わりに、精度は悪い 相対測位  受信機は2台必要      公共の基準局を用いる場合は1台    アンテナとケーブルも良い奴を受信機と同数を調達す...
測量の精度と作業時間について GPS受信機を用いて、ある地点の座標を単独測位する場合  どんなに性能が良くても、10 mの誤差を見込む  時間をかけても無駄  20分ほど取れば十分   これ以上に時間をかけても無駄    誤差量は余...
測量用の受信機の用意と注意 単独測位なら、ハンディタイプの安い受信機+PCの組み合わせ  通信ケーブルと、PCのバッテリ持続時間にご注意  測位結果をNMEAというフォーマットで出力できるならbetter  水平方向に動かないと内部メモ...
測位にかかる時間 GPS受信機は、起動直後の測位には非常に時間がかかります  衛星の軌道情報を受信するため  電源を久しぶりに入れた場合や、電池の入れ替えで内部メモリがクリア   されるような機種だとその度に最低12分30秒かかる  特...
単独測位結果の処理 バイナリデータの場合  テキストデータへ変換する テキストデータの場合  自作のスクリプトで処理するのが普通  処理データ量が少なければ、Excelでもできる まずは、観測データをプロットしてみて、外れ値の検討 ...
相対測位の場合の処理 相対測位では、基準点の観測データが必要 独自に基準局を設けるのでなければ、国土地理院のGEONETや  民間サービスを利用する  GEONET(無償) http://terras.gsi.go.jp/ja/index...
スタンプラリー等での利用の一例 ユーザ位置を基に、仮想のスタンプを押すアプリを作  ることを想定した場合   ユーザの受信機は単独測位   Waypointを精密に計測する必要があまりない   従って、測量は単独測位でOK   仮想ス...
参考文献 32
距離の計算に関する参考文献 ヒュベニの公式  http://yamadarake.jp/trdi/report000001.html その他  http://homepage3.nifty.com/kubota01/distance.h...
Upcoming SlideShare
Loading in …5
×

Calc Method of Distance on The Earth (地球上での距離の計算)

8,832 views

Published on

2点間の距離を緯度経度から求める方法に関するスライドです。
具体的な計算方法は各種リンクや用語検索で探してください。
サンプルプログラムはhttp://morimori2008.web.fc2.com/contents/GPS/GPS_programing/gps_tools.html#GPSclass_Csharpにもあります。

Published in: Education
  • Be the first to comment

Calc Method of Distance on The Earth (地球上での距離の計算)

  1. 1. (30.2552, 130.5348) (30.2488, 130.5294)2点間の距離を計算する方法 Last update: 2012/12/12 K. Morishita *スライド用というより、読んで分かることを心がけてます。 詳細は、参考文献を参照してください。 想定読者は、GPSについて初心者の方です。
  2. 2. 計算の前に座標系について知ろう 2
  3. 3. 緯度経度と直交座標系 横線が緯線 地球上での位置を表す方法には2通りある  緯度経度+楕円体高  3軸直交座標系 縦線が経線 3 Google Earth
  4. 4. まずは 緯度経度+楕円体高 地球はおおむね球状なので、地球上での位置座標は地球の中心か らの角度と距離で表すことができる 角度は、緯度と経度  緯度≒赤道面からの角度  北極方向を普通はプラス+にとります(もしくは北緯・南緯と言い分け)  経度=本初子午線を基準とした赤道面内の角度  北極方向から見て反時計回りを普通はプラス+にとります(又は東経・西経) 地球中心からの距離は使い難いので、地球表面からの高さを使う  ただし、地球は厳密には楕円体  自転しているから、遠心力で膨れる  という訳で、楕円体表面からの高さである楕円体高を使う 4
  5. 5. 緯度を図で説明してみると… Z楕円体面に垂直に下す φ: Latitude Y or X 5
  6. 6. 楕円体高を図で説明してみると… Z H: Altitude Y or X 6
  7. 7. 経度を図で説明してみると… Z 赤道面に直角に下す Y θ: Longitude X 7
  8. 8. 楕円体と座標系の定義 楕円体を定義すれば、地球の形が決まる これを地球上の複数の点で固定すれば座標系が定まる  Ex. 「熊本大学のXX点を緯度**°経度@@°と定める」の様に 楕円体の定義に必要なパラメータ  長半径(=赤道半径)  扁平率(どれだけ円が潰れているかの度合い) 楕円体と座標系とジオイド(重力の定義)を合わせて測地系 8
  9. 9. さまざまな測地系 地球は楕円体だが、厳密には重力加速 度の違いによりでこぼこしている(右図) そこで、各国は楕円体が最も自国に フィットするように局地座標系を定義した 最近では地球重心を原点とする世界測 地下の密度の違いで重力加 速度にむらが生じる 地系へ移行しつつある が、過去の遺産が膨大なので過去の測 地系が使われる場合もある そのため、GPS受信機は任意の測地系 で出力できるように作られている 同じ楕円体の定義でも、地表へのあて 「鉛直下向き」を伸ばして はめ方(座標系)の違いで、地表上の点 いっても、地心には達しない の座標値が異なることに留意 図はWikipediaより 9
  10. 10. 測地系の違いの影響 日本の測地系は、  旧日本測地系  日本測地系2000  日本測地系2011(311地震の影響で改定された) と移り変わってきた 特に、旧日本測地系と日本測地系2000との差は同じ座標 値の地点間で約400 mにも達する*なお、日本測地系2000と2011の差は東日本で数mです。2012年春の段階でも地殻変動は継続中なので座標の利用には留意してください。 10
  11. 11. 楕円体高と標高の差 標高の基準は各国が独自に定めている 日本では、東京湾の平均海水面高を標高0 mとしている 地図作りでは、これを基準にして水準測量を繰り返す  重力加速度も測ります 楕円体表面と平均海水面高は一致しない 熊大周辺で約30 mも異なる さらに、GPS受信機が内部に保持しているジオイドモデル (重力モデル)とこの平均海水面高も一致しない  自転や海流の影響が大きい 従って、GPS受信機の出力するMSL(Mean Sea Level)値は 日本の標高とは異なる 11
  12. 12. プログラムを組む上での考慮点 GPS受信機などの測位デバイスが、どの測地系で座標を出 力しているのか把握する必要がある 必要なら、測地系の変換を要する ちなみに、GPSが採用しているのはWGS84  大抵のハンディGPS受信機がデフォルトをWGS84としている  改定が数年毎に行われており、最新はG1674バージョン 12
  13. 13. 次に 3軸直交座標系3軸直交座標系を下記の様に定義したものをECEF(earth centered, earth fixed)座標系と呼ぶ Z軸を地軸に一致させる Z  北向きに正を取る X軸は本初子午線方向  厳密には一致しない Y軸はXとZ軸に直行する方向にとる 原点は地球の重心 地球の自転に合わせて回転させる Y GPSでは、上記のECEF座標系を使う X 13
  14. 14. ただし、 地球の地軸は一定していない  地球内の密度の移動などの影響でフラフラしています そこで、平均的な地軸方向を基準にします 大陸移動により、地表の座標は常に動いています  大陸移動の速度を計算して、元期(がんき)とそれを基準 とした時間で座標は補正可能です  言い換えると、座標を時間の関数で考えるということです 14
  15. 15. 座標系の実現 地球の重心点なんぞ高精度には測れない そこで、地表の施設の座標を決め打ちする  座標には、「○○年××月△△日時点で」という元期が付く VLBIというmm単位で正確な座標決定方法を利用 地球個体潮汐(引力で地球がひずむ現象)も考慮 15
  16. 16. 距離の計算 16
  17. 17. 公式は短距離と長距離で 使い分けるが吉 短距離では  求める精度によるが、10 km以下ではECEF座標系での差分で十分 長距離になると  船や航空機では実際に進むのに必要な距離が問題となる  移動の軌跡は地表(楕円体面)に沿って曲線を描く  緯度が変わると曲率半径が変わるので、式はかなり難解  普通はジオイドの凸凹(≒海水面の凸凹)は考慮しない  楕円体高も考慮しないのが普通  地球を一周すると、高度Hなら約Hだけ誤差がある 17
  18. 18. 具体的な使い分け 数cmの誤差を許容するなら ~10 km: ECEF座標系上でのユークリッド距離 ~100 km: ヒュベニの公式などの簡易式  ヒュベニの公式は高度を考慮しない それ以上: 長距離用の公式  高度を考慮するものは少ない(と思う。) どうしても高精度が必要ならば、移動予定の軌跡(曲線)を 離散化して、ECEF座標系に変換した上で積分する 18
  19. 19. ごく短距離で 荒く距離を求めるなら まず赤道での経度1°当たりの距離𝑙 𝑎 を求める  予め計算して、定数で与えてok  おおよそで良ければ、緯度1°当たりの距離も𝑙 𝑎 とする 経度1°当たりの距離𝑙は、緯度𝜙の関数  𝑙 ≅ 𝑙 𝑎 cos 𝜙 2点の座標をそれぞれ 𝜃 𝐴 , 𝜙 𝐴 , 𝜃 𝐵 , 𝜙 𝐵 とし、その差分を Δ𝜃 𝐴𝐵 , Δ𝜙 𝐴𝐵 とすれば、2点間の距離𝑑は  𝑑= 𝑙 𝐴 Δ𝜃 𝐴𝐵 2 + 𝑙 𝑎 Δ𝜙 𝐴𝐵 2 ちなみに、赤道半径は6,378,137 m @ GRS80 & WGS84 19
  20. 20. [注意]採用されているアルゴリズムの差により、1万km以上の距離になると数m異なり得ます計算結果の正誤確認方法 20
  21. 21. WEB上のサービス http://www.benricho.org/map_straightdistance/ http://keisan.casio.jp/has10/SpecExec.cgi?id=syste m/2006/1257670779 21
  22. 22. ソフトウェアでチェック Google Earth  Google社のリリースしているGISソフト衛星写真で表示されている  地図と座標間の誤差は多い場所で数 mとか  地球をぐるぐる回せる間隔が楽しい(人工衛星の気分?)  http://www.google.co.jp/intl/ja/earth/index.html カシミール3D  国土地理院が発行する「ウォッ地図」の他、様々な地図を利用可能  http://www.kashmir3d.com/ 22
  23. 23. GNSS測量のイロハ 23
  24. 24. GNSS測量とは GPSなどの衛星を利用して位置を測ること 衛星からの電波が届かないと測位できません GPS受信機はアンテナの位置座標を計算する あくまで、位置座標は受信機が計算する GPS受信機は電波を衛星に対して送信しない  受信のみ 測位の仕組み別に、大きく分けて2種類の測位方法がある 24
  25. 25. GNSS測量の種類 単独測位  受信機1台で測位(位置を測る)  価格が安い  代わりに、精度は悪い 相対測位  受信機は2台必要  公共の基準局を用いる場合は1台  アンテナとケーブルも良い奴を受信機と同数を調達する必要がある  作業に時間がかかる  作業者の慣れも必要  受信機が高価  精度は2周波ならmm オーダ, 1周波ならcmオーダ 25
  26. 26. 測量の精度と作業時間について GPS受信機を用いて、ある地点の座標を単独測位する場合  どんなに性能が良くても、10 mの誤差を見込む  時間をかけても無駄  20分ほど取れば十分  これ以上に時間をかけても無駄  誤差量は余り変わらず  1万円以上の受信機なら、さほど精度(厳密には確度)は変わらない  速度マスク(=移動しないと値を更新しない機能)に注意 相対測位なら、1時間ほど測量すれば数 mm ~ cmで測位できる  2周波受信機なら、15分ほどでOK 26
  27. 27. 測量用の受信機の用意と注意 単独測位なら、ハンディタイプの安い受信機+PCの組み合わせ  通信ケーブルと、PCのバッテリ持続時間にご注意  測位結果をNMEAというフォーマットで出力できるならbetter  水平方向に動かないと内部メモリには記録しないのがスタンダード  一部機種では定期的に保存させる機能があります 相対測位なら・・・  1周波の安い奴で8万くらいからある  2周波は・・・3桁万(レンタルなら、1~2日で保険込みで40万円くらい)  測量サービスもあります  周囲が開けていないと測位は難しい  解析のために、近所の基準局が必要  国土地理院のGEONETが使える  ただし、1周波受信機だと距離が5 kmを超えると厳しい 27
  28. 28. 測位にかかる時間 GPS受信機は、起動直後の測位には非常に時間がかかります  衛星の軌道情報を受信するため  電源を久しぶりに入れた場合や、電池の入れ替えで内部メモリがクリア されるような機種だとその度に最低12分30秒かかる  特に測量用だと念には念を入れる設計になっているので時間がかかる 実際の測量の前に屋外で20分ほど放置しておくと良い 前日に起動させていた場合、通常なら40秒ほどで測位できる 相対測位を行う場合は、2周波受信機でなければ、少なくとも30分は 固定位置での測位が必要 ここ4・5年より前にリリースされた機種だと、少し時間がかかります 28
  29. 29. 単独測位結果の処理 バイナリデータの場合  テキストデータへ変換する テキストデータの場合  自作のスクリプトで処理するのが普通  処理データ量が少なければ、Excelでもできる まずは、観測データをプロットしてみて、外れ値の検討  とりあえずで良いならば、u-centerが使える  http://www.u-blox.com/ja/evaluation-tools-a-software/u-center/u- center.html 29
  30. 30. 相対測位の場合の処理 相対測位では、基準点の観測データが必要 独自に基準局を設けるのでなければ、国土地理院のGEONETや 民間サービスを利用する  GEONET(無償) http://terras.gsi.go.jp/ja/index.html  データ配信サービス http://www.jsurvey.jp/9.htm GEONETの場合、測量作業直後には観測データが手に入らない  数時間後に手に入る  観測時刻によっては、いくつかに分割された観測データを結合する 必要がある  フリーのソフトを使って結合は可能  3日ほど経てば、結合済みのデータが供用される 30
  31. 31. スタンプラリー等での利用の一例 ユーザ位置を基に、仮想のスタンプを押すアプリを作 ることを想定した場合 ユーザの受信機は単独測位 Waypointを精密に計測する必要があまりない 従って、測量は単独測位でOK 仮想スタンプを置く間隔を30 m以上空ければ問題なし*企画として面白いかどうかは別ですよ? 31
  32. 32. 参考文献 32
  33. 33. 距離の計算に関する参考文献 ヒュベニの公式  http://yamadarake.jp/trdi/report000001.html その他  http://homepage3.nifty.com/kubota01/distance.htm  http://www.toyama- cmt.ac.jp/~mkawai/lecture/sailing/geodetic/geosail.ht ml#note1 33

×