趣味で計算流砂水理

Computational Sediment Hydraulics for Fun

geoviewsの背景をgeotiffにする方法

これは結構質問がくるので書いておきます。

geoviewsでは背景画像にWMTSを使うことがよくありますが、 (例えば、

computational-sediment-hyd.hatenablog.jp

) 紙ベースにするとき(←止めればいいのに)にpng exportするとWMTSが表示されません。

そんなときの応急的対策です。

geotiffを作る。

背景画像のgeotiffを作ってください。tfw付きはtiffは駄目です。

tiff + tfw や jpeg + jgwからgeotiffの作り方は以下を参照ください。

qiita.com

geoviewsに読み込む

ただRGBで取り込むだけです。

import xarray as xr
import cartopy.crs as crs
import geoviews as gv

gv.extension('bokeh', logo=False)

#load geotiff
dstif = xr.open_rasterio('photo.tif')

r, g, b = dstif[0,:,:].values, dstif[1,:,:].values, dstif[2,:,:].values
dstif2 = xr.Dataset({'R': (['y','x'], r), 'G': (['y','x'], g), 'B': (['y','x'], b) }
                  , coords={'x': dstif['x'], 'y': dstif['y']}
               )
out = gv.RGB(dstif2, ['x', 'y'],['R','G','B'], crs=crs.epsg(xxxx)).opts(projection=crs.epsg(xxxx))

これでpng exportが可能です。 この上にコンター図とかベクトル図とか重ねれば良いと思います。

以下を参考にしました。

https://gitter.im/pyviz/pyviz?at=5d28deb53b41924785aa4d66

著作権に注意

WMTSはダウンロードして使うことを想定しておりませんので、使用の際は必ず配信元の仕様を確認下さい。

私がよく使う国土地理院のものはクレジットを記載して使用してください。