標高タイルを作るツールである rio-rgbify を Docker で動かす unvt/rgbify を作りました。
成果
成果となる Dockerfile の内容は、次のとおりとなりました。
FROM osgeo/gdal:ubuntu-small-3.4.0
RUN apt update \
&& apt upgrade -y \
&& apt install -y \
gdal-bin \
git \
libgdal-dev \
libproj-dev \
python3-numpy \
python3-pip \
python3-rasterio \
rasterio \
sqlite3 \
&& git clone https://github.com/mapbox/rio-rgbify.git \
&& cd rio-rgbify \
&& pip install -e '.[test]' \
&& cd .. \
留意した点
- pip に上がっている rio-rgbify は実は古く、どうも 2018 年頃から更新されていないようです。この間、GDALのアップグレードなどがありましたので、
pip install rio-rgbify
の方法ではうまくいきませんでした。 - rasterio 本体や、ライブラリ類は apt でインストールし、rio-rgbify は git clone したものから導入する、という方法で、最新版をインストールすることで、動作するプログラムを得ることができました。
思わぬ収穫
上記のアプローチは、 Raspberry Pi OS の上でも有効であり、Raspberry Pi OS ネイティブで動くプログラムを得ることができました。なお、sudo pip install -e '.[test]'
と、sudo する必要があるところがポイントかもしれません。
感想
ベクトルタイルではなく画像タイルなので仕方がないとは思いますが、処理は思ったよりも重い印象があります。これから、このツールを少し試してみたいと思います。