趣味で計算流砂水理

趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning

数値計算とか河川工学とかプログラミングのことを書いています

MENU

pythonモジュール:rioxarrayをアップデートしたら結構変わっていたのでよく使うところをまとめました

スポンサーリンク

このブログではおなじみのpythonモジュール:rioxarrayを最新版にアップデートすると、主要なメソッドが変わっていたのでまとめておきます。

rioxarrayを使っている主な記事は以下です。


GeoTIFFファイルのreadが廃止:xarray.open_rasterio ⇒ rioxarray.open_rasterio

stackoverflow.com

xarray.open_rasterioは、xarrayの2023.04の更新で完全に廃止されました。

open_rasterioはrioxarrayモジュールが無いと動かないので、わかりやすくなったかと思います。

以前は、

import xarray as xr
ds = xr.open_rasterio('A.tif')

でも、readできましたが、今後は、

import rioxarray
ds = rioxarray.open_rasterio('A.tif')

のみになります。

crsの確認方法

github.com

上のページのとおりですが、以前は、

cog_url = (
    "https://oin-hotosm.s3.amazonaws.com/"
    "5d7dad0becaf880008a9bc88/0/5d7dad0becaf880008a9bc89.tif"
)
import xarray as xr
xr.open_rasterio(cog_url).crs

# '+init=epsg:3857'

で座標情報を確認できましたが、rioxarrayを用いた場合は、

import rioxarray
rioxarray.open_rasterio(cog_url).spatial_ref

# <xarray.DataArray 'spatial_ref' ()>
# array(0)
# Coordinates:
#     spatial_ref  int64 0
# Attributes:
#     spatial_ref:  PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WG...
#     crs_wkt:      PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WG...

のように、spatial_refというCoordinatesを作成されて、そのAttributesに座標情報が格納されています。

epsgを確認する場合は、

ds = rioxarray.open_rasterio(cog_url)

ds.rio.crs.to_proj4()
# '+init=epsg:3857'

ds.rio.crs.to_epsg()
# 3857 

などになります。