ジオイド高
山で使える地図アプリを開発している。そんなものは世の中に沢山あるのになんでまた…、と思われてしまいそうだし、自分でも「車輪の再発明かなあ」と葛藤しながら進めている。実績がある便利な地図アプリは多い。しかし、僕が本当に欲しいと思う機能をシンプルに使えるアプリは世の中にまだない。今のところはこの開発が楽しいと思えるので、やる気のある今のうちに完成度を高めたい。
ビルドとテストを繰り返し、やっとまともにログが取れるようになってきたら、自宅付近の標高がいつも40mくらいなのが気になってきた。僕の住んでいる場所は海の近くだからそんなに標高があるはずなく、せいぜい数メートルだろう。現に、地理院地図での標高は約2mとなっている。

調べてみると、android端末のGPS生データは「楕円体高」であるようだ。これは、地球を滑らかな楕円体で近似したときの標高だ。地球は球体ではなく、赤道半径の方が膨らんでいる楕円体らしい。楕円体というのも近似的な表現で、実際にはさらに各地で凸凹がある。
僕たちが普段使っている標高というのは、平均海面からの高さとして定義されている。この基準となる面が「ジオイド高」だそうだ。
ジオイドは、地球の重力による位置エネルギーの等しい面(重力の等ポテンシャル面)の1つであり、地球全体の平均海面に最もよく整合するものとして定義されています。日本においては、東京湾平均海面に一致する等ポテンシャル面をジオイドと定め、標高の基準としています。
https://www.gsi.go.jp/buturisokuchi/grageo_geoid.html

地球の重力は場所によってまちまちで、それに伴って平均海面も変わるので、重力の影響が同じになる面(重力の等ポテンシャル面)を標高の基準にしましょう、としているようだ。
そいう訳で、GPSデータから得られる「楕円体高」から「ジオイド高」を引き算すれば「標高」が得られる。兵庫県付近のジオイド高は約37mらしいので、40mからジオイド高を引くと約3mとなり、地図上の標高とほぼ同じになる。そういうことだったのか。
ただ、ジオイド高というのは場所によって違うので、日本だけならまだしも、海外でも使えるアプリにしようと思うとちょっとややこしそうだ。その場所におけるジオイド高を知ったうえで、GPS生データから都度引き算しないといけない。
標高一つでも多くの背景知識が隠されている。このような事実を知れたのも、アプリ開発の醍醐味だと思いたい。
