LoginSignup
0
0

More than 1 year has passed since last update.

(簡単)Dockerを使ってAW3D30 (ALOS World 3D - 30m) からRGB標高タイルをつくる

Posted at

はじめに

前回の記事 「AW3D30 (ALOS World 3D - 30m) からRGB標高タイルを作る」で、JAXAさんのAW3D30 (ALOS World 3D - 30m) からRGB標高タイルを作る方法を確かめました。

今回はDockerを使って作業するツールを作ったので、ダウンロードしたデータから簡単にRGB標高タイルを作る方法を試します。

環境

私の環境は以下のものでした。Dockerとgitが使えれば大丈夫だと思います。

  • Windows 10 Enterprise
  • Powershell
    • git version 2.25.0.windows.1
  • Docker version 20.10.8

(windowsのgitでは最初のレポジトリをダウンロードしてくるだけなので、なければないでレポジトリからダウンロードしましょう。)

手順

Step 1. データの準備

JAXA/EORCさんのページから5度×5度の標高ZIPデータをダウンロードしてきます(ユーザー登録必要)。今回の例では、四国と紀伊半島を含む2つの区画をダウンロードしました。
ダウンロードページ(英語): https://www.eorc.jaxa.jp/ALOS/en/dataset/aw3d30/aw3d30_e.htm 
※ダウンロードページは日本語もあると思います。

2022-05-29-001.png

Step 2. 作業場所の準備

空き容量が十分あるところで、作業スペースを作ります。AW3D30のRGB標高データ作成のためのテンプレートを作ったので、そのレポジトリをクローンしてくればいいと思います。そして、そこにダウンロードしたZIPファイルを保存しておくsrcフォルダを作ります。

cd hoge
git clone https://github.com/ubukawa/RGB-AW3D30
cd RGB-AW3D30
mkdir src

2022-05-29-002.png

できたらsrcフォルダにダウンロードしたファイルを入れておきます。
2022-05-29-003.png

Step 3. Dockerイメージの作成・起動

作業のためのDocker imageを作成し、Dockerコンテナを立ち上げます。Docker imageの作成は二度目の作業からは省略できると思います。

3-1 Docker build

必要なツールを入れるためのDockerfileがubukawa/rgbifyにあるので(unvt/rgbifyをフォーク)、それをクローンしてからビルドします。下の図ではDocker imageの名前を間違って作ってしまったのでやり直しました。

git clone https://github.com/ubukawa/rgbify
cd rgbify
docker build -t unvt/rgbify:ubukawa .
cd ..

2022-05-29-004.png

3-2 Docker run

そして、Docker イメージができたら起動します。Docker runをするとき、作業している場所を/dataとしてコネクトしておくことを 忘れない/確認する ようにしましょう。

docker run -it --rm -v ${PWD}:/data unvt/rgbify:ubukawa
cd /data

2022-05-29-005.png

Step 4. RGB標高タイル作成

srcフォルダにファイルがあることを確認したら、変換のためのスクリプトを実行します。
前回の記事で紹介した各ステップ(ZIP解凍、画像のマージ、RGB標高タイル作成(mbtiles形式)、PNGタイルへの変換)が入っていますので、あとはデータが出来るのを待ちましょう。上手くいくと zxy というフォルダにタイルが出来てきます。

./all.sh

2022-05-29-006.png

かかる時間

ダウンロードしてきたデータ数、PC(Docker)のメモリ等により時間が変わると思います。私が今回作業した2つのZIPファイルはだいたい30分でZXYタイル(ZL9-11)ができました。(海が多いので処理は少し早めかもしれません。)

調整するには

出来るPNGタイルのフォルダの名前や、タイルの最大・最小ズームレベルはsll.shのなかのパラメータをテキストファイルで編集すればOKです。ズームレベルについては、all.shの中で最初に指定しているのは9~11にしています。

中間ファイル

この作業ではいくつか中間ファイルができます。作業が終われば消しても大丈夫です。

  • 01_unzipのファイル → 解凍したファイル
  • input.tif → タイル化するためにダウンロードしたファイルにある「~_DSM.tif」をマージしたもの。ピクセル数に応じてサイズが大きくなりがちです。
  • out.mbtiles → RGB標高タイル(mbtiles形式)
    2022-05-29-008.png

Step 5. ホスト

zxyフォルダにタイルができたので、あとはウェブサーバーなどでホストすればOKです。png画像タイルは静的なホストで大丈夫なのでGitHubページなどのホストで十分です。

まとめ

AW3D30 (ALOS World 3D - 30m) のDEMデータからzxyのRGB標高タイルを簡単に作る方法をまとめました。

参考

0
0
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
0
0