Изолиния (Spatial Analyst)
Резюме
Создает класс линейных объектов изолиний из растровой поверхности.
Использование
-
Изолинии не выходят за пределы пространственного экстента растра, и они не создаются в областях значений NoData; поэтому, сначала необходимо подогнать границы смежных входных данных изолиний в непрерывные наборы классов объектов. В качестве альтернативы стыковке изолиний в краевых зонах, вы можете выполнить объединение смежных растров до построения изолиний.
-
Изолинии могут быть построены для участков с отрицательными значениями растра. Значения изолиний на таких участках будут отрицательными. Отрицательные интервалы изолиний недопустимы.
Более сглаженные, но менее точные изолинии можно получить путем предварительной обработки входного растра с помощью операции Фокальная статистика (Focal Statistics) с опцией MEAN или инструмента Фильтр (Filter) с опцией LOW.
-
Базовая изолиния используется в том случае, например, если вы хотите построить горизонтали через каждые 15 метров, начиная от высоты 10 метров. В данном примере, для базовой изолинии будет задано значение 10, а число 15 будет определять интервал изолиний. Изолинии будут проведены через значения 10, 25, 40, 55 и так далее.
-
Задание базовой изолинии не препятствует тому, что изолинии строятся выше или ниже этого значения.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр поверхности. | Raster Layer |
out_polyline_features |
Выходные полилинейные объекты изолиний. | Feature Class |
contour_interval | Интервал или расстояние между соседними изолиниями. Этот параметр может быть представлен любым положительным числом. | Double |
base_contour (дополнительно) |
Значение базовой изолинии. Изолинии строятся для значений выше и ниже значения этого параметра таким образом, чтобы охватить весь диапазон значений на входном растре. Значение по умолчанию равно нулю. | Double |
z_factor (дополнительно) | Коэффициент конвертации единиц измерения, применяемый при построении изолиний. Значение по умолчанию равно 1. Изолинии генерируются на основе Z-значений входного растра, которые чаще всего измеряются в метрах или футах. При использовании значения по умолчанию (равно 1), изолинии будут иметь те же единицы измерения, что и Z-значения входного растра. Для построения изолиний в единицах измерения, отличных от единиц Z-значений, необходимо задать соответствующее значение коэффициента z. Обратите внимание, для работы этого инструмента необходимо, чтобы единицы измерения горизонтальных координат (X, Y) и Z-значений поверхности совпадали. Например, если значения высот во входном растре измеряются в футах, а изолинии необходимо построить на основе других единиц измерения – метров, установите коэффициент z, равный 0,3048 (т.к. 1 фут = 0,3048 м). Другой пример – рассмотрим входной растр с географическими координатами WGS_84, при этом его высоты измеряются в метрах. Необходимо построить изолинии для этого растра с шагом 100 футов, причем базовым должно быть значение в 50 футов (т.е. изолинии будут проходить на высотах 50 футов, 150 футов, 250 футов и т.д.). Для этого следует задать следующие параметры: Интервал изолинии (contour_interval) = 100, Базовая изолиния (base_contour) = 50, Коэффициент Z (z_factor) = 3,2808 (т.к. 1 метр = 3,2808 фута). | Double |
Пример кода
В этом примере создаются изолинии из растра типа Esri Grid, и они выводятся в виде шейп-файла.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
Contour("elevation", "C:/sapyexamples/output/outcontours.shp", 200, 0)
В этом примере создаются изолинии из растра типа Esri Grid, и они выводятся в виде шейп-файла.
# Name: Contour_Ex_02.py
# Description: Creates contours or isolines from a raster surface.
# 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"
contourInterval = 200
baseContour = 0
outContours = "C:/sapyexamples/output/outcontours02.shp"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Contour
Contour(inRaster, outContours, contourInterval, baseContour)