Изолинии с барьерами (Spatial Analyst)

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

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

Сводка

Строит изолинии по растровой поверхности. Включение объектов-барьеров позволяет строить изолинии независимо, по разным сторонам барьера.

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

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

  • Более сглаженные, но менее точные изолинии можно получить путем предварительной обработки входного растра с помощью операции Фокальная статистика с опцией Mean или инструмента Фильтр с опцией Low.

  • Для ячеек со значением NoData изолинии строятся на расстоянии, равном половине размера ячейки. Это означает, что изолинии будут проходить поверх отдельных ячеек NoData. Тем не менее, для области ячеек NoData, размером 3 на 3 ячейки, изолинии все равно будут построены на расстоянии половины размера ячейки.

  • Поле Type в выходном классе пространственных объектов-изолиний может иметь следующие значения:

        1 for contours
        2 for indexed contours
        3 for explicit contours

  • Проиндексированный интервал изолиний используется для получения дополнительных изолиний, которые кодируются значением 2 в поле Type выходного класса объектов.

  • Базовая изолиния используется в том случае, например, если вы хотите построить горизонтали через каждые 15 метров, начиная от высоты 10 метров. Базовая изолиния, интервал изолинии и проиндексированный интервал изолиний не указываются. Изолинии будут проведены через значения 10, 25, 40, 55 и так далее.

  • Задание базовой изолинии не препятствует тому, что изолинии строятся выше или ниже этого значения.

  • Текстовый файл, содержащий спецификацию значений изолиний, трактуется следующим образом:

    • Любая строка, которая не сдержит число, игнорируется и воспринимается, как комментарии.
    • Строка, которая содержит одно число, воспринимается как точное определение значения изолинии.
    • Строка с 3 значениями будет расцениваться как основная, интервал изолинии и индексированный интервал.
    • Строка, которая содержит четыре значения, интерпретируется как: от-, до-, через-, и проиндексированный интервал изолиний.

    Например, если минимальное значение растра – 102, а максимальное – 500, то текстовой файл, содержащий:

        # contour values and ranges
        122.75
        485 500 5 12
        4 100 99

    создаст изолинии в:

        122.75
        104, 204, 304, 404
        103, 202, 301, 400, 499
        485, 490, 495, 500
        497

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

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

    • Увеличите доступное место на диске, где расположены временные файлы.
    • Уменьшите число изолиний, или разбейте весь диапазон значений на группы и обрабатывайте группы по отдельности, с последующим объединением отдельных наборов в единый финальный класс объектов.
    • Обрабатывайте входные данные по секциям (листам), затем объедините отдельные наборы в один набор данных.
  • См. раздел Среда анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

ContourWithBarriers(in_raster, out_contour_feature_class, {in_barrier_features}, {in_contour_type}, {in_contour_values_file}, {explicit_only}, {in_base_contour}, {in_contour_interval}, {in_indexed_contour_interval}, {in_contour_list}, {in_z_factor})
ParameterОбъяснениеТип данных
in_raster

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

Raster Layer; Raster Dataset; Mosaic Layer; Mosaic Dataset
out_contour_feature_class

Выходные объекты изолиний.

Feature Class
in_barrier_features
(Дополнительный)

Входные объекты барьеров.

Выходными данными могут быть полилинейные или полигональные объекты.

Feature Layer
in_contour_type
(Дополнительный)

Тип создаваемых изолиний.

  • POLYLINES Представление входного растра в виде изолинии.
  • POLYGONS Представление изолиний классом замкнутых полигонов.
Примечание:

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

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

Базовая изолиния, интервал изолиний, проиндексированный интервал изолиний и точные значения изолиний можно указать в текстовом файле.

File
explicit_only
(Дополнительный)

Используются только точные значения изолиний. Базовая изолиния, интервал изолинии, и проиндексированный интервал изолиний не указываются.

  • NO_EXPLICIT_VALUES_ONLY По умолчанию необходимо указать интервал изолиний.
  • EXPLICIT_VALUES_ONLY Указываются только точные значения изолиний.
Boolean
in_base_contour
(Дополнительный)

Значение базовой изолинии.

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

Double
in_contour_interval
(Дополнительный)

Интервал или расстояние между соседними изолиниями.

Этот параметр может быть представлен любым положительным числом.

Double
in_indexed_contour_interval
(Дополнительный)

Изолинии будут построены также и для этого интервала, и соответствующим образом помечены флагами в выходном классе объектов.

Double
in_contour_list
[in_explicit_contour,...]
(Дополнительный)

Точные значения, по которым будут построены изолинии.

Double
in_z_factor
(Дополнительный)

Коэффициент конвертации единиц измерения, применяемый при построении изолиний. Значение по умолчанию равно 1.

Изолинии генерируются на основе Z-значений входного растра, которые чаще всего измеряются в метрах или футах. При использовании значения по умолчанию (равно 1), изолинии будут иметь те же единицы измерения, что и Z-значения входного растра. Чтобы создать изолинии в единицах, отличных от z-значений, задайте нужное значение для z-коэффициента. Для работы этого инструмента совершенно не обязательно, чтобы единицы измерения x,y и z поверхности были одинаковыми.

Например, если значения высоты во входном растре в футах, но вы хотите, чтобы изолинии создавались на основе метров, задайте z-коэффициент как 0.3048 (т.к 1 фут = 0.3048 метра).

Double

Пример кода

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

В этом примере создаются изолинии из растра типа Esri Grid, при использовании входного объекта барьеров. Также указываются параметры базового значения и интервала. Выходные изолиний являются полилиниями в шейп-файле.

import arcpy
from arcpy import env  
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
ContourWithBarriers("elevation", "C:/sapyexamples/output/outcontourwithbarriers.shp", "elevation_barrier.shp", "POLYLINES",
                    "", "", 0, 300)
ContourWithBarriers, пример 2 (автономный скрипт)

В этом примере создаются изолинии из растра типа Esri Grid, при использовании входного объекта барьеров. Также указываются параметры базового значения и интервала. Выходные изолиний являются полилиниями в шейп-файле.

# Name: ContourWithBarriers_Ex_02.py
# Description: Creates contours from a raster surface.
#           The inclusion of barrier features will allow one to independently generate contours on either side of a barrier.
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

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

# Set local variables
inRaster = "elevation"
inBarrier = "elevation_barrier.shp"
inTextFile = ""
explicitValues = "NO_EXPLICIT_VALUES_ONLY"
contourInterval = 200
contourList = [600, 935, 1237.4]
baseContour = 0
outContours = "C:/sapyexamples/output/outcontourwithbarriers02.shp"

# Execute Contour
ContourWithBarriers(inRaster, outContours, inBarrier, "POLYLINES", inTextFile, 
                    explicitValues, baseContour, contourInterval, "", 
                    contourList, "")

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

  • Basic: Требуется Spatial Analyst или 3D Analyst
  • Standard: Требуется Spatial Analyst или 3D Analyst
  • Advanced: Требуется Spatial Analyst или 3D Analyst

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