HT-03A内蔵のGPSでは,緯度,経度,高度を取得できます.果たして高度はどの程度の精度で取れるのか,標高に換算して実地で調べてみました.(Android SDK 1.6)
HT-03AのGPS高度の検証
基礎知識
GPSから高度を取得する場合,普通にAndroidのAPIを使って
LocationListener#onLocationChanged(Location location)
で渡ってくるlocationから,以下のようにgetAltitude()メソッドで取得できます.
float alt = (float)location.getAltitude();
ただしこの高度は,地球の形を近似した楕円体からの高さであり,海面からの高さ(標高)とは異なるので注意が必要です.
GPSで取得できる楕円体高から標高を求めるために,今回はEGM96のジオイドモデル によるジオイド高を使いました.
標高への換算といっても計算自体は簡単で,
標高 = 楕円体高さ(getAltitudeの値) - その位置のジオイド高(今回はEGM96)
という引き算です.
使ったデータ
HT-03AのGPS情報を収集するプログラムを作成し,尾瀬近辺での徒歩およびバスの中から適宜動かして,SDカードにデータを記録したものを使いました.
収集したのは以下の4データで,普通に上記Locationクラスから取得したものです.
- 緯度 (latitude)
- 経度 (longtitude)
- 高度 (altitude)
- 精度 (accuracy.単位メートル)
精度(accuracy)が100m以上だったデータは,破棄しており,使用した収集点は38点になります.
結果
標高値のグラフ
凡例について説明を加えると,
- 正しい標高 - 国土地理院の2万5000分の1地形図から目視で読み取った標高です.等高線は10m間隔なので5m単位に丸めています
- GPS(EGM96補正) - HT-03AのGPSで取得した高度から,その位置のジオイド高を引いた値です.その位置の標高になります(なるはずです)
- SRTM3 - その位置のSRTM3データによる標高値です.GPSとは関係ないのですが,標高を求める手段の1つとして比較のために入れています
このように,見た感じまあまあですが,もう少し詳しく見るために差分のグラフを出してみます.
正しい標高との標高差のグラフ
ん〜,20mぐらいのずれはちょくちょくあるな,という感じです.
あと標高差について,統計的な数値を出してみるとこうでした.SRTM3の方がGPSより若干精度は良いようです.
標高差の統計値 | GPS | SRTM3 |
分散 | 152 | 124 |
標準偏差 | 12.3 | 11.2 |
使用した生データ
ID | 緯度 | 経度 | altitude | accuracy | ジオイド高(EGM96) | 地形図の標高(5m丸め) | GPS標高 | SRTM3標高 |
1 | 36.679028 | 139.00003 | 402 | 48 | 42.756 | 375 | 359 | 378 |
2 | 36.76991 | 139.22627 | 847 | 32 | 43.033 | 815 | 804 | 811 |
3 | 36.769936 | 139.22633 | 866 | 12 | 43.033 | 815 | 823 | 812 |
4 | 36.876915 | 139.3076 | 1229 | 8 | 43.143 | 1195 | 1186 | 1205 |
5 | 36.88748 | 139.30357 | 1339 | 8 | 43.144 | 1280 | 1296 | 1292 |
6 | 36.893963 | 139.30048 | 1390 | 32 | 43.143 | 1330 | 1347 | 1336 |
7 | 36.893963 | 139.30046 | 1390 | 16 | 43.143 | 1330 | 1347 | 1337 |
8 | 36.895473 | 139.29723 | 1406 | 12 | 43.142 | 1365 | 1363 | 1374 |
9 | 36.907715 | 139.29689 | 1547 | 12 | 43.139 | 1510 | 1504 | 1521 |
10 | 36.910282 | 139.29926 | 1637 | 24 | 43.139 | 1595 | 1594 | 1613 |
11 | 36.910263 | 139.2992 | 1632 | 12 | 43.139 | 1590 | 1589 | 1612 |
12 | 36.915928 | 139.30469 | 1819 | 96 | 43.139 | 1755 | 1776 | 1761 |
13 | 36.91592 | 139.30469 | 1813 | 32 | 43.139 | 1755 | 1770 | 1761 |
14 | 36.919647 | 139.30862 | 1711 | 24 | 43.139 | 1665 | 1668 | 1675 |
15 | 36.92677 | 139.31616 | 1689 | 24 | 43.137 | 1670 | 1646 | 1673 |
16 | 36.93099 | 139.31775 | 1715 | 12 | 43.135 | 1663 | 1672 | 1667 |
17 | 36.93426 | 139.3189 | 1701 | 16 | 43.134 | 1655 | 1658 | 1672 |
18 | 36.93623 | 139.32083 | 1710 | 24 | 43.133 | 1655 | 1667 | 1672 |
19 | 36.942184 | 139.32924 | 1815 | 16 | 43.131 | 1770 | 1772 | 1769 |
20 | 36.94671 | 139.33302 | 1778 | 16 | 43.128 | 1735 | 1735 | 1769 |
21 | 36.95943 | 139.31209 | 1602 | 12 | 43.109 | 1535 | 1559 | 1550 |
22 | 36.975807 | 139.30879 | 1515 | 96 | 43.086 | 1465 | 1472 | 1475 |
23 | 36.98332 | 139.30484 | 1549 | 32 | 43.072 | 1505 | 1506 | 1507 |
24 | 36.98179 | 139.331 | 1370 | 24 | 43.089 | 1345 | 1327 | 1353 |
25 | 36.98586 | 139.33647 | 1200 | 64 | 43.085 | 1155 | 1157 | 1166 |
26 | 36.988297 | 139.35233 | 1108 | 48 | 43.086 | 1065 | 1065 | 1067 |
27 | 37.010586 | 139.37648 | 1020 | 48 | 43.06 | 970 | 977 | 981 |
28 | 37.011826 | 139.3777 | 1020 | 64 | 43.059 | 965 | 977 | 973 |
29 | 37.120148 | 139.45813 | 715 | 12 | 42.852 | 675 | 672 | 680 |
30 | 37.14451 | 139.48863 | 691 | 16 | 42.792 | 625 | 648 | 621 |
31 | 37.116676 | 139.51144 | 682 | 64 | 42.859 | 645 | 639 | 654 |
32 | 37.105717 | 139.52028 | 706 | 96 | 42.88 | 675 | 663 | 666 |
33 | 37.105145 | 139.52075 | 707 | 32 | 42.881 | 675 | 664 | 666 |
34 | 37.086636 | 139.5448 | 752 | 24 | 42.905 | 705 | 709 | 703 |
35 | 37.091347 | 139.56667 | 801 | 64 | 42.885 | 740 | 758 | 750 |
36 | 37.096786 | 139.58954 | 795 | 24 | 42.861 | 745 | 752 | 751 |
37 | 37.06807 | 139.6177 | 861 | 48 | 42.874 | 825 | 818 | 826 |
38 | 37.08274 | 139.66312 | 866 | 96 | 42.813 | 845 | 823 | 862 |
余談 (mytracks)
AndroidでGPSの高度を記録できるアプリってMy Tracksしか知らないのですが,
MyTracksが記録しているのは,GPSから取得した生の高度値(= 楕円体高さ)です.
なので日本だと,標高から40数メートル程度ずれているはずです.
余談2 (GPSTest)
GPS Testの設定を見ると,「Adjust altitude」という項目がありました.
説明によると,これをオンにすればジオイド高で補正できるようです.すばらしい,GPS Test.
参考