Краткая информация
Функция 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. |
Пример кода
Пример окна 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")