导入Geotiff文件时,如何为Dask.array中的频带指定名称?
我正在尝试使用Dask和xarray以及以下代码导入具有多个频带的Geotiff:导入Geotiff文件时,如何为Dask.array中的频带指定名称?,dask,python-xarray,geotiff,Dask,Python Xarray,Geotiff,我正在尝试使用Dask和xarray以及以下代码导入具有多个频带的Geotiff: import xarray as xr chunks = {'x': 15886, 'y': 2400, 'band': 1} df= xr.open_rasterio('multiband.tif',chunks = chunks) df 哪个df看起来像: <xarray.DataArray (band: 6, y: 2400, x: 15886)> dask.array<open_ras
import xarray as xr
chunks = {'x': 15886, 'y': 2400, 'band': 1}
df= xr.open_rasterio('multiband.tif',chunks = chunks)
df
哪个df看起来像:
<xarray.DataArray (band: 6, y: 2400, x: 15886)>
dask.array<open_rasterio-b9dd4de67eb722145cdc7b5a3510e05e<this-array>, shape=(6, 2400, 15886), dtype=uint8, chunksize=(1, 2400, 15886), chunktype=numpy.ndarray>
Coordinates:
* band (band) int32 1 2 3 4 5 6
* y (y) float64 70.0 69.99 69.99 69.99 69.98 ... 60.01 60.01 60.01 60.0
* x (x) float64 -146.2 -146.2 -146.2 -146.2 ... -80.01 -80.0 -80.0
Attributes:
transform: (0.0041666666662862895, 0.0, -146.190219951, 0.0, -0.0...
crs: +init=epsg:4326
res: (0.0041666666662862895, 0.0041666666662862895)
is_tiled: 0
nodatavals: (nan, nan, nan, nan, nan, nan)
scales: (1.0, 1.0, 1.0, 1.0, 1.0, 1.0)
offsets: (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
AREA_OR_POINT: Area
TIFFTAG_SOFTWARE: HEG-Modis Reprojection Tool Nov 4, 2004
目前,我为进入乐队所做的工作如下:
df.isel(band=1)
这并不是那么直观。
谢谢您可以使用
isel(band=)
方法创建您的单个数据数组,然后从中构造/合并一个新的数据集。谢谢。这就是我现在正在做的,但是如果有一个重命名方法会更好。我不知道你到底希望做什么?是否要将频带值从1,2,3,4,5,6更改为其他值?请注意,您可以始终使用.to_dataframe()方法将xarray对象转换为pandas dataframe对象。我不尝试更改频带值。我只想给每个乐队命名。正如我在问题中提到的,我希望能够使用df['band1_name'],而不是df.isel(band=1)。
df.isel(band=1)