Доступно с лицензией 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 (Дополнительный) | Тип создаваемых изолиний.
Примечание:Текущая версия данного инструмента позволяет получить выходные данные только в виде полилиний. Если параметр Тип изолиний установлен на полигон, эта установка учтена не будет, и выходные данные все равно будут в виде полилиний. | String |
in_contour_values_file (Дополнительный) | Базовая изолиния, интервал изолиний, проиндексированный интервал изолиний и точные значения изолиний можно указать в текстовом файле. | File |
explicit_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 |
Пример кода
В этом примере создаются изолинии из растра типа 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)
В этом примере создаются изолинии из растра типа 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, "")
Environments
Информация о лицензиях
- Basic: Требуется Spatial Analyst или 3D Analyst
- Standard: Требуется Spatial Analyst или 3D Analyst
- Advanced: Требуется Spatial Analyst или 3D Analyst