GPS測位計算プログラム入門

はじめに

GPSを勉強しはじめた技術者を対象として、航空保安無線システム協会様の機関誌「航空無線」に3回(2002~2003年)にわたり、測位計算プログラムの一例を紹介させていただきました。また、同協会様のご厚意により、発刊と同時に当所Webページに掲載することをご許諾していただき、おかげさまで反響も大きく、これまで多数のお問い合わせやご質問をいただきました。この一部については、追加情報としてWebページ上に掲載し、最近でも学生の皆様を中心にお問い合わせや引用をいただくこともあり、微力ながら多少はお役に立ってと感じる次第です。このため、弊所Webページのリニューアルにあたり、投稿記事の執筆は少し前になりますが、掲載を継続させていただくことになりました。皆様へのご助力になれば幸いです。(2024年)

1.WGS84と座標変換のはなし<2002年冬号>

第1回目は、地球上または空間の位置は、WGS84座標系で決められることを説明し、以下のプログラムと計算例を紹介しています。

・ECEF直交座標と測地座標の相互変換プログラム

・ECEF直交座標から地平線座標への変換プログラム

WGS84と座標変換のはなし(PDF 522KB)
プログラム(Windows版 zip 6.56KB)
プログラム(Linux版 tgz 20KB)

2.GPS衛星の軌道計算のはなし<2003年春号>

第2回目は、衛星から放送される航法メッセージの内容や構造と、航法メッセージに含まれる軌道パラメータを説明し、以下のプログラムと計算例を紹介しています。

・受信機データから衛星の軌道パラメータを取得するプログラム

・軌道パラメータから衛星の座標位置を求めるプログラム

GPS衛星の軌道計算のはなし(PDF 1.1MB)
プログラム(Windows版 zip 17.6KB)
プログラム(Linux版 tgz 70KB)

3.測位計算のはなし<2003年夏号>

最終回は、最低4衛星の位置とGPS受信機までの距離の情報から連立方程式を解くことによりGPS受信機の位置が求められ、実際には4衛星以上を使って、最小2乗法で測位計算する方法説明し、プログラム例を紹介しています。

・測位方程式を解くプログラム

・ハウスホルダー変換を使った最小2乗法プログラム

測位計算のはなし(PDF 104KB)
プログラム(Windows版 zip 16KB)
プログラム(Linux版 tgz 50KB)

サンプルデータの提供

エフェメリスのみ(dat,32.6KB)
1時間データ(Windows版 zip 1.96MB)
1時間データ(Linux版 gzip 1.93MB)
約1日データ(Windows版 zip 40MB)
約1日データ(Linux版 gzip 39.3MB)

コンパイルの方法

Linux版

ダウンロードしたファイルは圧縮されているので解凍して下さい。
例えば,>tar zxvf 1st.tgzなどです。
そのディレクトリの中にMakefileがあるので,>makeとするだけでコンパイルできます。もしうまくいかない場合は環境に合わせてMakefileを書き換えて下さい。
また、データファイルを適当なディレクトリにおいて実行してください。(「その1」ではデータファイルは必要ありません)。

Windows版

ダウンロードしたファイルはWinZipで圧縮されているので解凍して下さい。
その後、手持ちのCコンパイラを使ってコンパイルして下さい。
もし,コンパイラをお持ちでない場合はフリーのCコンパイラやツールがいくつか公開されていますので,使ってみるのも一考です。
この場合,c:\>makeするだけでコンパイルできます。Borland C++ Compiler 5.5日本語版では動作確認しました。

TOP