方位センサーが示す方位角について

1,543 views
Skip to first unread message

Takashi

unread,
Dec 7, 2009, 7:50:48 PM12/7/09
to 日本Androidの会
Takashiと申します。

TYPE_ORIENTATIONを用いて方位センサーを使用しようと思っております。
そこで質問となるのですが、このセンサーを用いて得られる方位角は真方位か磁方位
のどちらとなるのかご存知の方はいらっしゃいますでしょうか?

正確な方位を知りたいため真方位の値が欲しいのですが、いまいちそこの情報が何も
なくて困っております。

ご存知の方がいらっしゃいましたら、情報の提供をよろしくお願い致します。
また、全世界で真方位を求められる方法など知っている方もいらっしゃいましたら
ご教授お願い致します。

飯塚康至

unread,
Dec 7, 2009, 8:13:25 PM12/7/09
to android-g...@googlegroups.com
こんにちは、飯塚です。

磁方位だと思います。真北を求めるにはその場所の磁気偏角で補正する必要があります。
磁気偏角は大雑把には理科年表に載っています。
国内でよければ、国土地理院のデータに載っています。

http://ja.wikipedia.org/wiki/%E6%96%B9%E4%BD%8D%E7%A3%81%E9%87%9D

2009年12月8日9:50 Takashi <k-c...@qf7.so-net.ne.jp>:
--
以上、宜しくお願いします。

-------------------------------------------------------------------------------
【みんなの研究生活 P-Lab(1.0)】http://www.acl-inc.co.jp/p-lab
株式会社エイシーエル
飯塚 康至(明星大学非常勤講師・情報システム学会)
ブログ:http://d.hatena.ne.jp/YasushiIizuka/
Twitter:@yasushiiizuka
TEL:03-5308-1141
FAX:03-5308-1142
-------------------------------------------------------------------------------

Ryosuke OISHI

unread,
Dec 7, 2009, 8:18:29 PM12/7/09
to 日本Androidの会
Takashiさん
おおいしです。

http://developer.android.com/reference/android/hardware/SensorEvent.html
によれば、Azimuth, angle between the magnetic north direction
とありますので磁方位でしょうね。

原理的に言って、真方位を正確に求める方法はないように思います。
また、そもそもHTCの端末などに付いている磁気センサーは、日本国内で
磁方位と真方位を区別できる程の精度が出ていないような気がします。
(測定実験などを行った訳ではありませんが)

一応、屋外を等速度直線運動しているときは、GPSの位置情報から
方位を求めることができます。
これも精度はGPSの受信状況と端末の移動速度に依存します。

Takashi

unread,
Dec 7, 2009, 9:14:32 PM12/7/09
to 日本Androidの会
飯塚さん

ご回答ありがとうございます。

磁気偏角に関して調べさせて頂きました。
世界の磁気偏角を示した図が有りましたので本当に大雑把な精度となってしまいそうですが、
経度緯度から偏角が求められそうな気がします。

ただ、やはり精度は…

参考となる情報ありがとうございます。

On 12月8日, 午前10:13, 飯塚康至 <vse5...@gmail.com> wrote:
> こんにちは、飯塚です。
>
> 磁方位だと思います。真北を求めるにはその場所の磁気偏角で補正する必要があります。
> 磁気偏角は大雑把には理科年表に載っています。
> 国内でよければ、国土地理院のデータに載っています。
>
> http://ja.wikipedia.org/wiki/%E6%96%B9%E4%BD%8D%E7%A3%81%E9%87%9D
>
> 2009年12月8日9:50 Takashi <k-ch...@qf7.so-net.ne.jp>:

Takashi

unread,
Dec 7, 2009, 9:25:13 PM12/7/09
to 日本Androidの会
おおいしさん

情報ありがとうございます。

やはり磁方位の方でしたか。
精度の方は望めないようで少し残念です。

またよろしければ、GPSからの位置情報についてもう少し詳しく教えて
頂けますでしょうか?
GPSを用いて方位はどのように求めているのかご存知でしょうか?
TYPE_ORIENTATIONの方位センサーを使用すると自動的にGPSによって
方位を求めていたり補正がされているものなのでしょうか?

質問ばかりで大変申し訳ないです。

Tetsuya Ishida

unread,
Dec 7, 2009, 9:37:43 PM12/7/09
to android-g...@googlegroups.com
Takashiさん

はじめまして。石田(T)@福岡県と申します。
私も皆さんと同様に磁方位と理解しています。

磁北と真北のズレ(磁気偏角)はGeomagneticFieldクラスのgetDeclination() で
求められると思っています。緯度、経緯、標高(これもGPSから取得可能)と、
現在時刻の4パラメタが必要です。私の住所地では-6.9・・・(マイナスは西側の意)と
出ます。メジャーアプリの「GPS Status」では"Decl/-6°"と出ます。同アプリのヘルプ
ページには"計算で求めている"旨の記載がありますので別の方法で算出しているの
かもしれません。

間違っていたらすみません。あやふやな情報ですみませんがご参考まで。

2009年12月8日11:25 Takashi <k-c...@qf7.so-net.ne.jp>:

Takashi

unread,
Dec 7, 2009, 9:53:15 PM12/7/09
to 日本Androidの会
石田さん

情報ありがとうございます。

GeomagneticFieldクラスとは初めて知ったクラスなのですが、
Android Developersのサイトで調べてみたら確かにそれらしい
機能が備えられていそうな内容が記述されてました。

まだ実装していないのでわかりませんが、試してみたいと思い
ます。

ありがとうございます。

On 12月8日, 午前11:37, Tetsuya Ishida <t.in...@gmail.com> wrote:
> Takashiさん
>
> はじめまして。石田(T)@福岡県と申します。
> 私も皆さんと同様に磁方位と理解しています。
>
> 磁北と真北のズレ(磁気偏角)はGeomagneticFieldクラスのgetDeclination() で
> 求められると思っています。緯度、経緯、標高(これもGPSから取得可能)と、
> 現在時刻の4パラメタが必要です。私の住所地では-6.9・・・(マイナスは西側の意)と
> 出ます。メジャーアプリの「GPS Status」では"Decl/-6°"と出ます。同アプリのヘルプ
> ページには"計算で求めている"旨の記載がありますので別の方法で算出しているの
> かもしれません。
>
> 間違っていたらすみません。あやふやな情報ですみませんがご参考まで。
>
> 2009年12月8日11:25 Takashi <k-ch...@qf7.so-net.ne.jp>:

Ryosuke OISHI

unread,
Dec 8, 2009, 8:20:22 PM12/8/09
to 日本Androidの会
Takashiさん
おおいしです。

2点間の位置情報および時刻情報から速度ベクトルを求めれば、
向きを計算できます。
具体的には、
1. GPSが返す位置情報(緯度、経度、高度)を地心直交座標系に変換する
http://vldb.gsi.go.jp/sokuchi/surveycalc/transf.html
http://vldb.gsi.go.jp/sokuchi/datum/tokyodatum.html
2. 速度ベクトルを求める
3. Z軸と速度ベクトルの内積から向きを求める
のような方法になるかと思います。

Takashi

unread,
Dec 10, 2009, 10:43:01 AM12/10/09
to 日本Androidの会
おおいしさん

情報ありがとうございます。

これはまた、初めて知りました方法です。
確かにこれであれば方位センサーを用いなくても
方位を求められそうです。

大変参考になります。

On 12月9日, 午前10:20, Ryosuke OISHI <roi...@android-group.jp> wrote:
> Takashiさん
> おおいしです。
>
> 2点間の位置情報および時刻情報から速度ベクトルを求めれば、
> 向きを計算できます。
> 具体的には、
> 1. GPSが返す位置情報(緯度、経度、高度)を地心直交座標系に変換するhttp://vldb.gsi.go.jp/sokuchi/surveycalc/transf.htmlhttp://vldb.gsi.go.jp/sokuchi/datum/tokyodatum.html
> > > > ご教授お願い致します。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

mizmit1222

unread,
Dec 10, 2009, 7:17:36 PM12/10/09
to 日本Androidの会
みずの@組み込みWGです。

ちょうど、glass-_-onionさんが記事を書かれていたので紹介させていただきます。

iPhoneとAndroidで真北の取得方法を比較する
http://d.hatena.ne.jp/glass-_-onion/20091210/1260373724

ではでは。

On 12月11日, 午前12:43, Takashi <k-ch...@qf7.so-net.ne.jp> wrote:
> おおいしさん
>
> 情報ありがとうございます。
>
> これはまた、初めて知りました方法です。
> 確かにこれであれば方位センサーを用いなくても
> 方位を求められそうです。
>
> 大変参考になります。
>
> On 12月9日, 午前10:20, Ryosuke OISHI <roi...@android-group.jp> wrote:
>
> > Takashiさん
> > おおいしです。
>
> > 2点間の位置情報および時刻情報から速度ベクトルを求めれば、
> > 向きを計算できます。
> > 具体的には、
> > 1. GPSが返す位置情報(緯度、経度、高度)を地心直交座標系に変換するhttp://vldb.gsi.go.jp/sokuchi/surveycalc/transf.htmlhttp://vldb.gsi.g...
Reply all
Reply to author
Forward
0 new messages