このブログではおなじみのpythonモジュール:rioxarrayを最新版にアップデートすると、主要なメソッドが変わっていたのでまとめておきます。
rioxarrayを使っている主な記事は以下です。
- 衛星画像処理用スクリプト:備忘録 - 趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning
- lemファイルをgeotiffファイルに変換するpythonスクリプト - 趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning
- 欠損したグリッド標高テキストデータからgeotiffを作成するpythonスクリプト - 趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning
- 地理情報付きラスタ画像から任意座標のデータを抽出するpythonスクリプト - 趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning
GeoTIFFファイルのreadが廃止:xarray.open_rasterio ⇒ rioxarray.open_rasterio
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の確認方法
上のページのとおりですが、以前は、
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
などになります。