如何在光栅读取中定义xarray的变量?

时间:2019-06-07 07:55:38

标签: python tiff python-xarray cartopy

我有许多tif格式的每小时温度文件。我可以将它们全部读取为xarray datase:

import glob
import pandas as pd
import xarray as xr
import os

def time_index_from_filenames(filenames):
    return pd.to_datetime([f[5:18] for f in filenames], format='%Y-%m-%d_%H').sort_values()

filenames = [os.path.basename(x) for x in glob.glob('/Temp/*.tif')]
time = xr.Variable('time', time_index_from_filenames(filenames))
chunks = {'x': 35, 'y': 28} # x is longitude and y is latitude
filenames = [x for x in glob.glob('/Temp/*_temp.tif')]
da_temp = xr.concat([xr.open_rasterio(f, chunks=chunks).load() for f in filenames], dim=time)

当我调用da_temp时,没有任何变量。为什么?如何将温度定义为3个维度(x,y,时间)的变量?

我的问题是何时要使用cartopy绘制此数据:

import cartopy.crs as ccrs
air = da_temp.band
ax = plt.axes(projection=ccrs.Orthographic(49, 30))
air.isel(time=0).plot.contourf(ax=ax, transform=ccrs.PlateCarree());
ax.set_global(); ax.coastlines();

它显示ValueError: dimensions ['time'] do not exist错误。

0 个答案:

没有答案