Работа с объектами Raster

Доступно с лицензией Spatial Analyst.

Объекты Raster могут использоваться в качестве входных данных выражений Алгебры карт и являются их первичным результатом. При выполнении выражения Алгебры карт, в котором используются операторы, входные данные должны быть объектами типа Растр или константами. Выходные растры выражений Алгебры карт всегда временные, но их можно сохранить, вызвав для объекта Raster метод save. Вы можете запрашивать объекты Raster, чтобы быстро получить доступ к свойствам связанного набора данных.

Создание объекта Raster

Объекты Raster создаются либо путем выбора набора растровых данных, либо являются выходными данными инструментов ArcGIS Spatial Analyst extension. Квалификация растра позволяет легко выполнять запросы многих свойств набора растровых данных.

  • Чтобы создать объект Raster, укажите имя слоя или путь и имя набора данных, как показано в следующем примере:
    rasObject = Raster("C:/Data/elevation")
    В этом выражении свойства набора растровых данных elevation теперь доступны через выходной объект Raster (rasObject).
  • Объекты Raster создаются как результат выполнения инструментов Spatial Analyst.
    # rasObject is a Raster object pointing to a temporary 
    #   raster dataset
    rasObject = Slope("C:/Data/elevation")
    Примечание:

    Инструменты, не входящие в набор инструментов Spatial Analyst, не возвращают объекты Raster в качестве выходных данных.

Метод save растра

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

Инструменты Spatial Analyst создают временные выходные данные. Вы можете сохранить эти выходные данные, используя метод save объекта Raster. В следующем примере временные выходные данные инструмента Уклон сохраняются в указанной выходной папке:

outraster = Slope("C:/Data/elevation")
outraster.save("C:/output/sloperaster")

  • Место сохранения данных зависит от того, что вы ввели в методе save, и какие задали параметры среды рабочей области.

    • Когда задан полный путь с именем набора данных, данные будут сохранены в этом местоположении.
    • Если указано только имя набора данных, то местоположение сохраняемых данных определяется параметрами среды рабочей области геообработки.
      • Если задана временная или текущая рабочая область, данные будут сохранены в местоположении заданной рабочей области.
      • Если заданы и текущая, и временная рабочие области, данные будут сохранены в текущей рабочей области.
      • Если рабочая область не задана, будет возвращена ошибка.

  • Если вы хотите сохранить данные там, где они находятся, с именем по умолчанию, вызовите метод save, не задавая имя, как показано в следующем примере:
    outraster.save()
  • Метод save поддерживает все выходные растровые форматы данных, поддерживаемые Spatial Analyst. В приведенном ниже примере метод растра save используется, чтобы сохранить данные в растр файловой базы геоданных и в растр формата TIFF.
    outraster.save("C:/output/file_gdb.gdb/sloperaster")
    outraster.save("C:/output/sloperaster.tif")

Работа со свойствами растра

Когда растр квалифицирован как объект Raster, можно выполнить запрос свойств из набора данных. Все свойства объекта Raster доступны только для чтения. Запрос свойства Raster возвращает строку, число или объект. Свойства растра можно использовать по-разному, в том числе в качестве входных данных для параметра инструмента или для установки параметров среды, как приведено ниже:

from arcpy import env
from arcpy.sa import *
outraster = Raster("C:/Data/studyarea")
myextent = outraster.extent

# Modify myextent as necessary for your workflow and use it to set the extent environment
env.extent = myextent
Примечание:

Свойства растра, доступные из объекта Raster, представляют собой комбинацию свойств, которые также доступны через функцию Describe (Свойства набора растровых данных) и из инструмента Получить свойства Растра.

Связанные разделы