5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

標高 PNG の仕様

Last updated at Posted at 2020-12-19

国土地理院の標高 PNG

国土地理院では標高データをタイルで配信しています。テキスト形式のほか、 PNG 形式でも配信されています。

配信されている標高 PNG 画像は、こんな画像です。

1626.png

仕様

こんな画像を見ても、どこが高くて、どこが低いのかわかるような気もしないでもないですが、具体的にどのくらいの標高か判断することは難しいです。しかし標高 PNG は、 $RGB$ の色情報から標高値を計算できるようになっており、計算機で扱いやすい形式になっています。

\begin{align}
& x = 2^{16} R + 2^8 G + B & \\
& h = xu & ( x < 2^{23} ) \\
& h = NA & ( x = 2^{23} ) \\
& h = (x-2^{24})u & ( x > 2^{23} )
\end{align}

つまり…どういうことだってばよ?

一見するとややこしい式に見えますが、2進法で考えると比較的わかりやすいです。

たとえば、 $(R, G, B) = (0, 3, 255)$ のとき、 $x = 00000000 \ 00000011 \ 11111111_{(2} = 1023_{(10}$ となります。

国土地理院が提供する標高 PNG の場合は $u = 0.01$ なので、 $h = xu = 10.23$ と計算することができます。

$(R, G, B) = (128, 0, 0)$ のときは、無効値 $NA$ を表す特別な値です。

たとえば、 $(R, G, B) = (255, 255, 255)$ のときは $x = 2^{24}-1$ より、 $h = (x-2^{24})u = -0.01$ となり、負数を表します。

色としては

$h = 0.00$ である $(R, G, B) = (0, 0, 0)$ は黒色です。そこから標高が増えるにつれ、徐々に青みが増していき $h = 2.55$ のとき $(R, G, B) = (0, 0, 255)$ すなわち青色になります。

更に標高が増え、 $h = 2.56$ になると「繰り上がり」が生じて $(R, G, B) = (0, 1, 0)$ になります。色としては、ほぼ黒に戻ることになります。標高が高くなるにつれ、それが繰り返され、徐々に緑がかっていくことになります。

逆に海抜0メートル地帯などの標高がマイナスのエリアでは、 $h = -0.01$ である $(R, G, B) = (255, 255, 255)$ すなわち白から、徐々に黄色い色に推移していきます。

水域等のデータ欠損地や、山間部等のデータ未提供地では臙脂色で表現されます。

整理すると

こんな感じすね。

スクリーンショット 2020-12-19 18.01.27.png

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?