我正在使用HPC系统上的nlcd和cdl数据。我想将nlcd数据扭曲到cdl栅格中。我希望使用vrt文件,因为存储空间有限,但是我可以使用很多计算能力。
我将带有转换和crs信息的cdl数据存储在一个zarr文件中:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 2.792934 -0.3456977 4.425260 5.109962 0.2237461 3.889715
[2,] 6.277429 2.4291247 1.453368 5.522807 6.0644588 3.488990
[3,] 7.084441 4.5060559 1.435548 7.001614 6.9594941 8.088805
此数据的CRS,变换和形状为:
dat_cdl = xr.open_zarr('/project/cper_neon_aop/regionalization/data/cdl/cdl_data.zarr/').sel(year=2011)#.persist()
<xarray.Dataset>
Dimensions: (x: 153811, y: 96523)
Coordinates:
* x (x) float64 -2.356e+06 -2.356e+06 ... 2.258e+06 2.258e+06
* y (y) float64 3.173e+06 3.173e+06 3.173e+06 ... 2.77e+05 2.769e+05
year int64 2011
Data variables:
CDL_Data (y, x) uint8 dask.array<shape=(96523, 153811), chunksize=(2500, 2500)>
我正在尝试通过以下方式将nlcd数据扭曲为cdl shape / transform / crs:
print(rasterio.Affine(*dat_cdl['CDL_Data'].attrs['transform']))
print(dat_cdl['CDL_Data'].attrs['crs'])
print(dat_cdl['CDL_Data'].shape[0])
print(dat_cdl['CDL_Data'].shape[1])
| 30.00, 0.00,-2356095.00|
| 0.00,-30.00, 3172605.00|
| 0.00, 0.00, 1.00|
+ellps=GRS80 +lat_0=23 +lat_1=29.5 +lat_2=45.5 +lon_0=-96 +no_defs +proj=aea +towgs84=0,0,0,-0,-0,-0,0 +units=m +x_0=0 +y_0=0
96523
153811
这似乎并没有改变形状或变换...我对WarpedVRT函数的解释不正确吗?
相关软件包版本:
光栅:1.0.8
gdal:2.3.1
谢谢!