RasterToXarray

摘要

将多维栅格转换为对齐尺寸且包含标注数组(数据数组对象)的 xarray.Dataset

说明

Xarray 是一个 Python 模块,支持带有维度、坐标和属性标注的多维数组。它基于 NumPy 和 pandas 构建并与之整合,可处理 Python SciPy 生态系统中的多维数据以用于数值计算。有关详细信息,请参阅 xarray 文档

您可能需要将 ArcGIS 多维栅格转换为 xarray 数据集才能执行以下类型的运算:

  • 在 xarray 模块中实施多种函数之一,例如,对 xarray.DataArray 对象运行多维插值、重采样和群运算。
  • 利用其他 Python 模块,它们直接使用多种属性域中的 xarray.DataArray 对象,包括地球科学、机器学习等。例如,导入 EOF(经验正交函数)Python 包并对 xarray.DataArray 中的数据执行 EOF 分析。
  • 将多维栅格转换为 xarray.DataArray,然后转换为其他 Python 数据类型或格式,例如 pandas DataFrame 对象或 netCDF。

语法

RasterToXarray (in_raster)
参数说明数据类型
in_raster

输入多维栅格转换为 xarray。它可以是 Raster 对象、多维栅格数据集的文件路径或 netCDF 文件。

Raster
返回值
数据类型说明
xarray.Dataset

输出 xarray.Dataset 对象。

代码示例

RasterToXarray 示例

RasterToXarray 函数的 Python 窗口示例。

import arcpy
import xarray

# Get input Raster multidimensional information
inRas = arcpy.Raster('C:/data/temperature_3hour.crf', True)
inRas.mdinfo

# Convert Raster to Xarray Dataset
xrr = arcpy.ia.RasterToXarray(inRas)

# Upsample the data from originally 3 hour to hourly time interval
newXrr = xrr.resample(StdTime='1H').nearest(tolerance="1H")

#Convert Xarray dataset back to raster 
newRaster = arcpy.ia.XarrayToRaster(newXrr)
newRaster.save("C:/output/temperature_hourly.crf")