Изолинии с барьерами (3D Analyst)
Резюме
Строит изолинии по растровой поверхности. Включение объектов-барьеров позволит строить изолинии независимо по разные стороны барьера.
Использование
-
Текущая версия инструмента Изолинии с барьерами позволяет получить выходные данные только в виде полилиний. Если параметр Тип изолиний установлен на полигон, эта установка учтена не будет, и выходные данные все равно будут в виде полилиний.
Если вам доступен дополнительный модуль Дополнительный модуль ArcGIS Spatial Analyst, более сглаженные, но менее точные изолинии можно получить путем предварительной обработки входного растра с помощью операции Фокальная статистика (Focal_Statistics) с опцией MEAN или инструмента Фильтр (Filter) с опцией LOW.
-
Для ячеек со значением NoData изолинии строятся на расстоянии, равном половине размера ячейки. Это означает, что изолинии будут проходить поверх отдельных ячеек NoData. Тем не менее, для области ячеек NoData, размером 3 на 3 ячейки, изолинии все равно будут построены на расстоянии половины размера ячейки.
-
Поле Тип (Type) в выходном классе пространственных объектов-изолиний имеет следующие значения:
1 for contours 2 for indexed contours 3 for explicit contours
-
Проиндексированный интервал изолиний используется для получения дополнительных изолиний, которые кодируются значением 2 в поле Type выходного класса объектов.
-
Базовая изолиния используется в том случае, например, если вы хотите построить горизонтали через каждые 15 метров, начиная от высоты 10 метров. В данном примере, для базовой изолинии будет задано значение 10, а число 15 будет определять интервал изолиний. Изолинии будут проведены через значения 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.
-
Если входная растровая поверхность очень большая, или получено очень много выходных объектов, в оперативной памяти может быть создано большое количество временных файлов. Если такой результат часто встречается при работе с этим инструментом, попробуйте следующие действия:
- Увеличите доступное место на диске, где расположены временные файлы.
- Уменьшите число изолиний, или разбейте весь диапазон значений на группы и обрабатывайте группы по отдельности, с последующей комбинацией отдельных наборов в единый финальный класс объектов.
- Разделите входные данные на секции (листы (tiles)), затем объедините отдельные наборы в один набор данных.
Выходные классы изолиний можно надписать с помощью инструмента Аннотации изолиний (Contour Annotation).
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр поверхности. | Raster Layer |
out_contour_feature_class |
Выходные объекты изолиний. | Feature Class |
in_barrier_features (дополнительно) |
Входные объекты-барьеры. | Feature Layer |
in_contour_type (дополнительно) |
Тип создаваемых изолиний.
Текущая версия инструмента Изолинии с барьерами (Contour with Barriers) позволяет получить выходные данные только в виде полилиний. Если параметр Тип изолиний установлен на полигон, эта установка учтена не будет, и выходные данные все равно будут в виде полилиний. | 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
env.workspace = "C:/data"
arcpy.ContourWithBarriers_3d("elevation", "C:/output/outcwb.shp",
"elevation_barrier.shp", "POLYLINES", "", "", 0, 300)
В этом примере создаются изолинии из растра Esri Grid с входным объектом-барьером, а также с заданными параметрами интервала и базового значения. Площадь выходных изолиний, в виде полилиний в шейп-файле.
# Name: ContourWithBarriers_3d_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: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/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:/output/outcwb.shp"
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Contour
arcpy.ContourWithBarriers_3d(inRaster, outContours, inBarrier, "POLYLINES",
inTextFile, explicitValues, baseContour,
contourInterval, "", contourList, "")