RasterToXarray

Краткая информация

Функция ArcPy ArcGIS Image Analyst, которая выполняет преобразование многомерного растра в xarray.Dataset, содержащий надписанные массивы (объекты массива данных) с выровненными размерами.

Обсуждение

xarray - это модуль Python, который поддерживает многомерные массивы с надписями измерений, координат и атрибутов. Он строит и интегрирует NumPy и pandas, а также взаимодействует с многомерными данными в экосистеме Python SciPy для числового вычисления. Для получения более подробной информации обратитесь к документации xarray.

Вы можете преобразовать многомерные растры ArcGIS в наборы данных xarray для выполнения операций следующих типов:

  • Выполнить на объекте xarray.DataArray одну из множества функций в модуле xarray, например, запустить многомерную интерполяцию, пересчет и операции с группами.
  • Использовать преимущества других модулей Python, которые непосредственно работают с объектами xarray.DataArray в различных областях, включая науки о земле, машинное обучение и др. Например, импортировать пакет Python EOF (эмпирические ортогональные функции) и выполнить анализ EOF на данных в xarray.DataArray.
  • Преобразовать многомерный растр в xarray.DataArray, а затем в другой тип данных или форматы Python, например, в объекты pandas DataFrame или в netCDF.

Синтаксис

RasterToXarray (in_raster)
ПараметрОписаниеТип данных
in_raster

Входной многомерный растр, который необходимо преобразовать в массив. Это может быть объект Raster, путь к файлу набора многомерных растровых данных или файл netCDF.

Raster
Возвращаемое значение
Тип данныхОписание
xarray.Dataset

Выходной объект xarray.Dataset.

Пример кода

RasterToXarray, пример

Пример окна Python для функции RasterToXarray.

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")