国土地理院の dem10b png 標高タイルを Mapbox Terrain-RGB 互換の webp 標高タイルにした話です。
デモサイト
次の場所にあります。日本全国どこでも大丈夫です。
https://optgeo.github.io/10b256/#10.95/32.8211/131.1339/-64.7/58
自然地名を重ねあわせたものもあります。
https://optgeo.github.io/shizen/#12.58/35.66726/138.19146/42.9/62
作り方
次の場所にレポジトリがあります。
https://github.com/optgeo/10b256
Rakefile と transcode.rb をみていただけると、ほぼ全てカバーされると思います。概要は、次の通りです。
- mokuroku.csv.gz を使って、タイルを一枚一枚ダウンロードする。
- 自作のスクリプトで、ピクセル単位でトランスコードする。
- png ファイルとして保存する。
- cwebp コマンドを使って、webp ファイルに変換する。
タイルは GitHub Pages にあげているので、自由にお使いください。テンプレート URL は、global.conf 及び hocon/style.conf にあるとおりで、次のものになります。
https://optgeo.github.io/10b256/zxy/{z}/{x}/{y}.webp
minzoom: 3
maxzoom: 12
タイルセットのサイズ
生産したタイルセットのサイズは、ズームレベルごとに見れば次の通りとなりました。GitHub Pages でホストしてもらえるのは 1GB までなので、z=3..12 のみを上げています。
z=0 12KB
z=1 12KB
z=2 12KB
z=3 24KB
z=4 36KB
z=5 92KB
z=6 268KB
z=7 772KB
z=8 2.6MB
z=9 8.9MB
z=10 32MB
z=11 113MB
z=12 397MB
z=13 1.3GB
z=14 3.5GB
なお、途中で cwebp の -z オプションの値を変えたりしていますが、いずれにしても、z=13, 14 のサイズがこれだけ大きいと、日本全国分を GitHub Pages 一レポジトリ分でまかなうことは難しそうです。特定の地域まで z=3..14 をホストすることは考えられるかもしれません。
日本全体でざっくり 5GB 程度なので、日本を10程度に分割しておいて、それぞれの地域について z=14 まで GitHub Pages にホストしてもらう、というアプローチになるのではないかと思います。
例えば、z=6 モジュールごとにやってみるというのは試してみるべきチャレンジだと思いますし、z=7 でやるとすれば、それは安全なアプローチであって良いと思います。