« Fool Proof: プロアトラスW3の新機能 | トップページ | 日本アルプス滑翔 DG-505MBでアルプスを行く »

2004.06.12

SiRF社GPSのNMEA高度問題について

風を聴け: Mio168の評価(暫定)その後を書いた際に、”高度が高く表示される”とコメントがありました。
ちょうど、ジオイド高であったので、アプリケーション側の問題かと思っていたのですが、釈然としないままいたところ、GpsPasSion http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=10915でこの件のポストがありました。そこで、本日あらためて確認したのですが、やはり、おかしいようです。

--以下レポート--

SiRF社GPSのNMEA高度問題について

SiRF社GPSのNMEA(GGAセンテンス)の報告する高度がジオイド高に相当する分高く出力されるのでは無いかと疑問を持っていたのだが、このあたりに問題があるのではないかと思われる。

下記は国内で手に入る最新のSiRF社GPSファームSiRFXTrac(おそらくV2.2)を搭載したDigi Walker Mio168とGARMIN社GPS LegendののNMEA(GGAセンテンス)を比較したものである。

1.Mio168(SiRFXTrac)
$GPGGA,083836.334,3600.0402,N,13700.3852,E,1,06,1.4,630.8,M,,,,0000*09
2.GARMIN Legend
$GPGGA,083836,3600.0504,N,13700.3866,E,1,04,2.7,592.6,M,36.4,M,,*46

*測位地点は長野県松本市内, 標高590m
*この付近のジオイド高は約40m, 参考:http://vldb.gsi.go.jp/sokuchi/geoid/calcgh/calcframe.html

問題のポイントはセンテンスの終わり近くにある"M"で囲まれるジオイド高のデータ部分である。
Legendのセンテンスでは"M"が二つあるが、前の"M"は「海抜」の単位を示すもので、後ろの"M"はジオイド高の高さを示す"M"である。Mio168(SiRFXTrac)ではジオイド高が無いことになっている。
NMEAの規定では、ここで示される高度は「海抜」と言う規定であるはずで、ジオイド高は何らかの計算で求めらた高度が挿入されると判断される。
しかし、ジオイド高のデータを表示しない場合、1:「海抜」楕円体高で示される、2:「海抜」を示しているが、単にジオイド高を示していないだけ。と想像するのだが、この例ではそれでは説明がつかない。

Legendの示す「海抜」(592.6m)は概ね地図上の海抜(590m)を示すが、Mio168(SiRFXTrac)の示す「海抜」(630.8m)ジオイド高を過補正したものに見えるのである。

なお、今回はMio168(SiRFXTrac)を用いたが、Holux社GM-270(GSW2)でも、同じNMEA(GGAセンテンス)を出力していたので、この問題は以前から存在していたものと思われる。

[補足・訂正 '04/06/14]

この件、楕円体高について勘違いをしていたようです。
 正 : 楕円体高 = ジオイド高 + 海抜(標高)
 誤 : 海抜(標高) = 楕円体高 + ジオイド高
失礼しました。

したがって、SiRFの場合にはNMEAの規定する海抜では無く、楕円体高(海抜より約40m高い)の表示がされると言うことのようです。
いずれにしても、海抜表示の地図上にジオイド高分ずれた位置が表示されることには違いなく、ちょっと困りましたね。

しかし、”ジオイド高はどのように求めているのか”と考え始めると、少々気掛かりではあります。と言うのは、GPS側でジオイド高を地域毎に正確に計算するルーチンは持っていない場合が多い(?)ようで、単純にDATUMのテーブルから定数を持ってきて補正している場合もあるようです。そう言う場合、九州や北海道では中部地方と比べて最大40m近く誤差が出ます。

地域によって微妙に異なるジオイド高をGPS側で扱うより、楕円体高をそのまま出力し、アプリケーション側で処理する方が良いと言う考えもあるのでしょうか?

2004 06 12 07:06 PM [GPS] | 固定リンク

トラックバック

この記事のトラックバックURL:

この記事へのトラックバック一覧です: SiRF社GPSのNMEA高度問題について:

コメント

コメントを書く