Converts a multidimensional raster to an xarray.Dataset containing labeled arrays (data array objects) with aligned dimensions.


xarray is a Python module that supports multidimensional arrays with labels of dimensions, coordinates, and attributes. It builds on and integrates NumPy and pandas, and deals with multidimensional data in the Python SciPy ecosystem for numerical computing. For more information, refer to the xarray documentation.

You may want to convert an ArcGIS multidimensional raster to an xarray dataset to perform the following kinds of operations:

  • Implement one of the many functions in the xarray module, for example, run multidimensional interpolation, resampling, and grouped operations on an xarray.DataArray object.
  • Take advantage of other Python modules that directly work with xarray.DataArray objects in various domains including geosciences, machine learning, and more. For example, the import EOF (Empirical Orthogonal Functions) Python package and perform EOF analysis on data in xarray.DataArray.
  • Convert a multidimensional raster to xarray.DataArray and then to another Python data type or formats, for example, to pandas DataFrame objects, or to netCDF.


RasterToXarray (in_raster)
ParameterExplanationData Type

The input multidimensional raster to convert to an xarray. It can be a Raster object, a file path to a multidimensional raster dataset, or a netCDF file.

Return Value
Data TypeExplanation

The output xarray.Dataset object.

Code sample

RasterToXarray example

Python window sample for the RasterToXarray function.

import arcpy
import xarray

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

# 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.RasterToXarray(newXrr)