Параметры поверхности (3D Analyst)

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

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

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

Определяет такие параметры растровой поверхности, как экспозиция, уклон и кривизна.

Более подробно о том, как работает инструмент Параметры поверхности

Использование

  • Выходные параметры вычисляются по отдельным ячейкам путем подстраивания локальной поверхности вокруг целевой ячейки. Доступны следующие опции параметров поверхности для Типа параметра (parameter_type в Python) - Уклон, Экспозиция, Средняя кривизна, Тангенциальная кривизна (нормальной изолинии) и Профильная кривизна (линии нормального уклона) Плановая кривизна (проецированной изолинии), Геодезическое кручение изолинии, Гауссова кривизна и Кривизна Казаратти.

  • Все выходные параметры вычисляются с учетом геодезических координат и уравнений.

  • Если указана опция Уклон (SLOPE в Python) для Типа параметра, то результат будет представлять собой скорость изменений высоты для каждой ячейки цифровой матрицы рельефа (ЦМР). Это первая производная от ЦМР. Диапазон значений из выходных результатов уклона зависит от типа единиц измерения.

  • Если выбрана опция Экспозиция (ASPECT в Python) для Типа параметра, то результат определяет направления по компасу уклона склона для каждого местоположения. Она выражается положительными значениями градусов от 0 до 360, измеряемыми по часовой стрелке от направления на север.

  • Кривизна используется для описания формы поверхности. Применительно к наукам о Земле она используется для понимания воздействия силы тяжести, эрозии и других сил на поверхность, а также в сочетании с другими параметрами поверхности для идентификации и классификации форм рельефа.

    • Средняя кривизна (MEAN_CURVATURE в Python) измеряет общую кривизну поверхности. Она вычисляется как среднее из минимальной и максимальной кривизны. Если она задана как Тип параметра, то результат будет соответствовать среднему от кривизны профиля (линии нормального уклона) и тангенциальной кривизны (нормальной изолинии). Ее знак, положительный или отрицательный, не является окончательным индикатором, за исключением крайних значений. Высокие положительные значения указывают на области максимальной денудации, а высокие отрицательные значения указывают на области максимального накопления (Minár et al., 2020).
    • Профильная кривизна (нормальной линии уклона) (PROFILE_CURVATURE в Python) измеряет геометрическую нормальную кривизну вдоль линии уклона. Положительные значения указывают на области ускорения поверхностного потока и эрозии. Отрицательная кривизна профиля указывает на области замедления поверхностного потока и осаждения. Положительная кривизна профиля (линии нормального уклона) означает, что поверхность в этой ячейке выпуклая в направлении уклона. Отрицательная кривизна указывает, что поверхность вогнута в этой ячейке в том же направлении. Значение 0 указывает, что поверхность плоская.
    • Тангенциальная (нормальной изолинии) кривизна (TANGENTIAL_CURVATURE в Python) измеряет геометрически нормальную кривизну перпендикулярно линии уклона, по касательной к изолинии. Положительные значения указывают на области расходящегося поверхностного потока. Отрицательная тангенциальная кривизна указывает на области сходящегося поверхностного потока. Положительная тангенциальная кривизна (нормальной изолинии) означает, что поверхность в этой ячейке выпуклая перпендикулярно направлению уклона. Отрицательная кривизна указывает, что поверхность вогнута в этой ячейке в направлении, перпендикулярном уклону. Значение 0 указывает, что поверхность плоская.
    • Плановая кривизна (проецированной изолинии) (CONTOUR_CURVATURE в Python) — кривизна в направлении изолиний.
    • Геодезическое кручение изолинии (CONTOUR_GEODESIC_TORSION в Python) — скорость изменения.угла уклона в направлении изолиний.
    • Гауссова кривизна (GAUSSIAN_CURVATURE в Python) — общая кривизна поверхности. Она вычисляется как продукт минимальной и максимальной кривизны, может быть как положительной, так и отрицательной. Положительные значения показывают, что поверхность выпуклая, а отрицательные значения – поверхность вогнутая. Значение 0 указывает, что поверхность плоская.
    • Кривизна Казаратти (CASORATI_CURVATURE в Python) — общая кривизна поверхности. Она может быть нулевая или положительная. Высокие положительные значения указывают на области с резкими перегибами в нескольких направлениях.

    Единицы измерения выходных данных всех трех типов кривизны будут обратными (квадратами обратных для Гауссовой кривизны) xy единицам указанной в параметрах среды Выходной системы координат.

  • Опция Квадратическая в Типе локальной поверхности (local_surface_type = "QUADRATIC" в Python) не в точности соответствует ячейкам окрестности. Это значение по умолчанию и она является рекомендованной для большинства данных и приложений.

    • Квадратическая поверхность минимизирует эффект зашумленных данных поверхности, например, данные поверхности лидар с высоким разрешением, что особенно важно при вычислении кривизны.
    • Квадратическую поверхность следует использовать при настройке размера окрестности, которая больше размера ячейки, а также при использовании опции адаптивного соседства.
  • Опция Биквадратическая в Типе локальной поверхности (local_surface_type = "BIQUADRATIC" в Python) в точности соответствует данным из ячеек окрестности.

    • Эта опция подходит для входной поверхности высокой точности.
    • Если расстояние соседства больше, чем размер ячейки входного растра, то преимущества точности поверхности биквадратического типа будут утеряны. Расстояние окрестности следует оставить по умолчанию (равным размеру ячейки).
  • Расстояние окрестности (neighborhood_distance в Python) определяет размер окрестности и вычисляет параметр поверхности на этом расстоянии от центра целевой ячейки.

    • Оно не может быть меньше, чем размер ячейки входного растра.
    • Меньшее расстояние окрестности собирает большее локальное разнообразие в ландшафте, а также характеристики меньших ландшафтных объектов. Для данных высот с высоким разрешением более подходящими будут длинные расстояния.
  • Если отмечен параметр Использовать адаптивную окрестность (use_adaptive_neighborhood = "ADAPTIVE_NEIGHBORHOOD" в Python), то расстояние окрестности будет меняться при изменении рельефа. Расстояние окрестности будет сокращено, если в окне вычисления будет выявлено слишком сильное разнообразие.

  • Настройка Z единиц (z_unit в Python) поверхности гарантирует правильное вычисление выходного уклона.

    Если единицы измерения z-значения имеются вертикальной системе координат входного растра, то они будут применяться автоматически. Рекомендуется задать единицы z входного растра, если они отсутствуют. Вы можете использовать инструмент Определить проекцию для указания z-единиц. Если они не указаны, по умолчанию будут применяться метры.

  • Диапазон значений выходных результатов уклона зависит от единиц измерения в параметре Измерение уклона (output_slope_measurement в Python):

    • Для Градусов (DEGREE в Python) диапазон значений уклона будет от 0 до 90.
    • Для Процентного увеличения (PERCENT_RISE в Python) диапазон будет от 0 до практически бесконечности. Плоская поверхность соответствует значению 0 процентов, уклон поверхности в 45 градусов соответствует 100 процентам подъема, и по мере того, как поверхность становится более вертикальной, процент подъема все больше и больше увеличивается.
  • Если отмечен параметр Проецировать геодезические азимуты (project_geodesic_azimuths = "PROJECT_GEODESIC_AZIMUTHS" в Python), истиной будет следующее:

    • Север будет по направлению 360 градусов.
    • Азимуты будут спроецированы с учетом искажения, вызванного неравноугольной Выходной системой координат, заданной в параметрах среды. Эти углы можно использовать для точного определения точек на самом крутом склоне.

  • Если отмечен параметр Использовать экваториальную экспозицию (project_geodesic_azimuths = "USE_EQUATORIAL_ASPECT" в Python), то экспозиция будет измерена от точки вдоль экватора, чтобы скорректировать скос направления, который возникает при приближении к полюсам. Эта опция будет гарантировать, что оси север-юг и запад-восток проходят перпендикулярно друг другу.

    Отметьте параметр Использовать экваториальную экспозицию, если ваша территория расположена близко к северному или южному полюсу.

  • Используйте параметр Входная маска анализа (in_analysis_mask в Python), чтобы ограничить анализ определенными местоположениями интереса в пределах входного растра поверхности. Местоположения могут задаваться как растровыми, так и векторными данными. Параметр Входная маска анализа будет иметь приоритет над настройкой параметров среды Маска.

  • Если значение Входной растр поверхности (in_raster в Python) и растровые данные Входной маски анализа (in_analysis_mask в Python) имеют одинаковый размер ячейки и ячейки выровнены, они будут использованы в инструменте напрямую. Они не будут пересчитываться во время выполнения инструмента.

    Если ячейки отличаются, выходной размер ячейки будет соответствовать максимальному из входных, и значение Входной растр поверхности будет использовано внутренне как растр привязки. Если размер ячейки совпадает, но ячейки не выровнены, то значение Входной растр поверхности будет использовано внутренне как растр привязки. Любо из этих случаев запускает внутреннюю операцию пересчета, перед выполнением извлечения.

    Дополнительные сведения см. в разделах параметров среды Размер ячейки и Растр привязки.

  • Ссылки:

    • James, D. E., Tomer, M. D., and Porter, S. A. Trans-scalar landform segmentation from high-resolution digital elevation models. Poster presented at: ESRI Annual Users Conference; July 2014; San Diego, California.
    • Minár, J., Evans, I. S., and Jenčo, M. A comprehensive system of definitions of land surface (topographic) curvatures, with implications for their application in geoscience modelling and prediction. Earth-Science Reviews, 103414, 2020. https://doi.org/10.1016/j.earscirev.2020.103414

Параметры

ПодписьОписаниеТип данных
Входной растр поверхности

Входной растр поверхности.

Raster Layer
Выходной растр

Выходной растр.

Он будет иметь тип с плавающей точкой.

Raster Dataset
Тип параметра
(Дополнительный)

Задает тип параметра вычисляемой выходной поверхности.

  • УклонВычисляется диапазон изменений по высоте. Это значение по умолчанию
  • ЭкспозицияВычисляется направление уклона максимальной скорости изменения для каждой ячейки.
  • Средняя кривизнаИзмеряется общая кривизна поверхности. Она вычисляется как среднее из минимальной и максимальной кривизны. Эта кривизна описывает внутреннюю выпуклость или вогнутость поверхности, независимо от направления или влияния силы тяжести.
  • Тангенциальная кривизна (нормальной изолинии)Измеряется геометрически нормальная кривизна перпендикулярно линии уклона, по касательной к изолинии. Эта кривизна обычно применяется для характеристики сходимости или расходимости потоков на поверхности.
  • Кривизна профиля (линии нормального уклона)Измеряется геометрически нормальная кривизна вдоль линии уклона. Эта кривизна обычно применяется для характеристики ускорения или замедления потоков на поверхности.
  • Плановая кривизна (проецированной изолинии)Измеряется кривизна вдоль изолиний.
  • Геодезическое кручение изолинииИзмеряется скорость изменения угла уклона вдоль изолиний.
  • Гауссова кривизнаИзмеряется общая кривизна поверхности. Она измеряется как продукт минимальной и максимальной кривизны.
  • Кривизна КазараттиИзмеряется общая кривизна поверхности. Она может быть нулевой или другим положительным значением.
String
Тип локальной поверхности
(Дополнительный)

Определяет тип функции поверхности, которая будет вычислена вокруг целевой ячейки.

  • КвадратическаяПодбирает квадратическую функцию поверхности к ячейкам окрестности. Это значение по умолчанию
  • БиквадратическаяПодбирает биквадратическую функцию поверхности к ячейкам окрестности.
String
Расстояние окрестности
(Дополнительный)

Выходные данные рассчитываются на этом расстоянии от центра целевой ячейки. Определяет размер окрестности.

Значением по умолчанию является размер ячейки входного растра, в результате чего получается окрестность 3 x 3.

Linear Unit
Использовать адаптивную окрестность
(Дополнительный)

Указывает, будет ли расстояние окрестности меняться в соответствии с изменениями ландшафта. Максимальное расстояние определяется расстоянием окрестности. Минимальное расстояние - это размер ячейки входного растра.

  • Не отмечено — использовать одно (фиксированное) расстояние окрестности для всех местоположений. Это значение по умолчанию
  • Отмечено — использовать адаптивное расстояние окрестности для всех местоположений.
Boolean
Z единицы
(Дополнительный)

Задает линейные единицы измерения, которые будет использоваться для вертикальных z-значений.

Они определяется вертикальной системой координат, если она указана. Если вертикальной системы координат нет, то единицы измерения z-значений необходимо указать в списке единиц, чтобы обеспечить точный геодезический расчет. По умолчанию метры.

  • ДюймЛинейными единицами измерения будут дюймы.
  • ФутЛинейными единицами измерения будут футы.
  • ЯрдЛинейными единицами измерения будут ярды.
  • Миля (США)Линейными единицами измерения будут мили.
  • Морская миляЛинейными единицами измерения будут морские мили.
  • МиллиметрЛинейными единицами измерения будут миллиметры.
  • СантиметрЛинейными единицами измерения будут сантиметры.
  • МетрЛинейными единицами измерения будут метры.
  • КилометрЛинейными единицами измерения будут километры.
  • ДециметрЛинейными единицами измерения будут дециметры.
String
Измерение уклона
(Дополнительный)

Единицы измерения (градусы или проценты) выходного растра уклонов.

Это параметр доступен только в тех случаях, когда Тип параметра установлен на Уклон.

  • ГрадусыУклон вычисляется в градусах.
  • Процентное увеличениеКрутизна склона вычисляется как процент увеличения и называется также уклоном в процентах.
String
Проецировать геодезические азимуты
(Дополнительный)

Определяет, будут ли геодезические азимуты спроецированы с учетом корректного искажения углов, вызванного выходной пространственной привязкой.

  • Не отмечено—геодезические азимуты не будут спроецированы. Это значение по умолчанию
  • Отмечено—геодезические азимуты будут спроецированы.

Этот параметр доступен только в том случае, если для параметра Тип параметра установлено значение Aspect.

Boolean
Использовать экваториальную экспозицию
(Дополнительный)

Определяет, будет ли экспозиция измерятся от точки на экваторе, или от северного полюса.

  • Не отмечено — экспозиция измеряется от северного полюса. Это значение по умолчанию
  • Отмечено — экспозиция измеряется от точки на экваторе.

Этот параметр доступен только в том случае, если для параметра Тип параметра установлено значение Aspect.

Boolean
Входная маска анализа
(Дополнительный)

Входные данные, определяющие местоположения, где будет выполняться анализ.

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

Если входными данными маски является растр, анализ будет происходить в местоположениях с допустимыми значениями, включая ноль. Ячейки, которые имеют значение NoData во входной маске, будут иметь значение NoData в выходных данных.

Composite Geodataset

arcpy.ddd.SurfaceParameters(in_raster, out_raster, {parameter_type}, {local_surface_type}, {neighborhood_distance}, {use_adaptive_neighborhood}, {z_unit}, {output_slope_measurement}, {project_geodesic_azimuths}, {use_equatorial_aspect}, {in_analysis_mask})
ИмяОписаниеТип данных
in_raster

Входной растр поверхности.

Raster Layer
out_raster

Выходной растр.

Он будет иметь тип с плавающей точкой.

Raster Dataset
parameter_type
(Дополнительный)

Задает тип параметра вычисляемой выходной поверхности.

  • SLOPEВычисляется диапазон изменений по высоте. Это значение по умолчанию
  • ASPECTВычисляется направление уклона максимальной скорости изменения для каждой ячейки.
  • MEAN_CURVATUREИзмеряется общая кривизна поверхности. Она вычисляется как среднее из минимальной и максимальной кривизны. Эта кривизна описывает внутреннюю выпуклость или вогнутость поверхности, независимо от направления или влияния силы тяжести.
  • TANGENTIAL_CURVATUREИзмеряется геометрически нормальная кривизна перпендикулярно линии уклона, по касательной к изолинии. Эта кривизна обычно применяется для характеристики сходимости или расходимости потоков на поверхности.
  • PROFILE_CURVATUREИзмеряется геометрически нормальная кривизна вдоль линии уклона. Эта кривизна обычно применяется для характеристики ускорения или замедления потоков на поверхности.
  • CONTOUR_CURVATUREИзмеряется кривизна вдоль изолиний.
  • CONTOUR_GEODESIC_TORSIONИзмеряется скорость изменения угла уклона вдоль изолиний.
  • GAUSSIAN_CURVATUREИзмеряется общая кривизна поверхности. Она измеряется как продукт минимальной и максимальной кривизны.
  • CASORATI_CURVATUREИзмеряется общая кривизна поверхности. Она может быть нулевой или другим положительным значением.
String
local_surface_type
(Дополнительный)

Определяет тип функции поверхности, которая будет вычислена вокруг целевой ячейки.

  • QUADRATICПодбирает квадратическую функцию поверхности к ячейкам окрестности. Это значение по умолчанию
  • BIQUADRATICПодбирает биквадратическую функцию поверхности к ячейкам окрестности.
String
neighborhood_distance
(Дополнительный)

Выходные данные рассчитываются на этом расстоянии от центра целевой ячейки. Определяет размер окрестности.

Значением по умолчанию является размер ячейки входного растра, в результате чего получается окрестность 3 x 3.

Linear Unit
use_adaptive_neighborhood
(Дополнительный)

Указывает, будет ли расстояние окрестности меняться в соответствии с изменениями ландшафта. Максимальное расстояние определяется расстоянием окрестности. Минимальное расстояние - это размер ячейки входного растра.

  • FIXED_NEIGHBORHOODОдно (фиксированное) расстояние окрестности для всех местоположений. Это значение по умолчанию
  • ADAPTIVE_NEIGHBORHOODАдаптивное расстояние окрестности для всех местоположений.
Boolean
z_unit
(Дополнительный)

Задает линейные единицы измерения, которые будет использоваться для вертикальных z-значений.

Они определяется вертикальной системой координат, если она указана. Если вертикальной системы координат нет, то единицы измерения z-значений необходимо указать в списке единиц, чтобы обеспечить точный геодезический расчет. По умолчанию метры.

  • INCHЛинейными единицами измерения будут дюймы.
  • FOOTЛинейными единицами измерения будут футы.
  • YARDЛинейными единицами измерения будут ярды.
  • MILE_USЛинейными единицами измерения будут мили.
  • NAUTICAL_MILEЛинейными единицами измерения будут морские мили.
  • MILLIMETERЛинейными единицами измерения будут миллиметры.
  • CENTIMETERЛинейными единицами измерения будут сантиметры.
  • METERЛинейными единицами измерения будут метры.
  • KILOMETERЛинейными единицами измерения будут километры.
  • DECIMETERЛинейными единицами измерения будут дециметры.
String
output_slope_measurement
(Дополнительный)

Единицы измерения (градусы или проценты) выходного растра уклонов.

  • DEGREEУклон вычисляется в градусах.
  • PERCENT_RISEКрутизна склона вычисляется как процент увеличения и называется также уклоном в процентах.

Этот параметр поддерживается, если параметр parameter_type задан как SLOPE.

String
project_geodesic_azimuths
(Дополнительный)

Определяет, будут ли геодезические азимуты спроецированы с учетом корректного искажения углов, вызванного выходной пространственной привязкой.

  • GEODESIC_AZIMUTHSГеодезические азимуты не будут спроецированы. Это значение по умолчанию
  • PROJECT_GEODESIC_AZIMUTHSГеодезические азимуты будут спроецированы.

Этот параметр поддерживается только в том случае, если для параметра parameter_type установлено значение ASPECT.

Boolean
use_equatorial_aspect
(Дополнительный)

Определяет, будет ли экспозиция измерятся от точки на экваторе, или от северного полюса.

  • NORTH_POLE_ASPECTЭкспозиция измеряется от северного полюса. Это значение по умолчанию
  • EQUATORIAL_ASPECTЭкспозиция измеряется от точки на экваторе.

Этот параметр поддерживается только в том случае, если для параметра parameter_type установлено значение ASPECT.

Boolean
in_analysis_mask
(Дополнительный)

Входные данные, определяющие местоположения, где будет выполняться анализ.

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

Если входными данными маски является растр, анализ будет происходить в местоположениях с допустимыми значениями, включая ноль. Ячейки, которые имеют значение NoData во входной маске, будут иметь значение NoData в выходных данных.

Composite Geodataset

Пример кода

SurfaceParameters пример 1 (окно Python)

В следующем примере показано использование этого инструмента в окне Python.

Этот пример создает растр уклонов с выходными значениями в процентах, используется метод адаптивной окрестности. Максимальное расстояние окрестности равно 5 метрам.

from arcpy.ddd import *
SurfaceParameters("elevation_1m.tif", "C:/data/output/outsurfaceparameters01.tif",
                  "", "", "5 METERS", "ADAPTIVE_NEIGHBORHOOD", "", "PERCENT_RISE")
SurfaceParameters, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте Python.

Этот пример создает растр кривизны профиля (линии нормального уклона) с использованием метода адаптивной окрестности. Максимальное расстояние окрестности равно 10 метрам.

# Name: SurfaceParameters_Ex_02.py
# Description: Derive profile (normal slope line) curvature for a 1m
# resolution elevation raster over an adaptive neighborhood distance of maximum 10m. 
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy.ddd import *

# Set environment settings
arcpy.env.workspace = "C:/data"

# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")

# Set local variables
inRaster = "elevation_1m.tif"
outRaster = "C:/data/output/outsurfaceparameters02.tif"
inParameterType = "PROFILE_CURVATURE"
inNeighborhoodDistance = "10 METERS"
inUseAdaptiveNeighborhood = "ADAPTIVE_NEIGHBORHOOD"

# Execute the tool
SurfaceParameters(inRaster, outRaster, inParameterType, "",
                  inNeighborhoodDistance, inUseAdaptiveNeighborhood)
SurfaceParameters пример 3 (автономный скрипт)

В следующем примере показано использование этого инструмента в автономном скрипте Python.

Этот пример создает растр экспозиции с использованием расстояния окрестности 5 м. Исправить искажения направления из-за использования неконформной проекции.

# Name: SurfaceParameters_Ex_03.py
# Description: Derive aspect for an elevation surface over a distance of 5m, correct
# for direction distortion from non-conformal projection system. 
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy.ddd import *

# Set environment settings
arcpy.env.workspace = "C:/data"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("3D")

# Set local variables
inRaster = "elevation_1m.tif"
outRaster = "C:/data/output/outsurfaceparameters03.tif"
inParameterType = "ASPECT"
inNeighborhoodDistance = "5 METERS"
inProjectGeodesicAzimuths = "PROJECT_GEODESIC_AZIMUTHS"

# Execute the tool
SurfaceParameters(inRaster, outRaster, inParameterType, "", inNeighborhoodDistance,
                  "", "", "", inProjectGeodesicAzimuths)

Информация о лицензиях

  • Basic: Обязательно 3D Analyst или Spatial Analyst
  • Standard: Обязательно 3D Analyst или Spatial Analyst
  • Advanced: Обязательно 3D Analyst или Spatial Analyst

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