Видимость (Spatial Analyst)
Резюме
Определяет положения на поверхности растра, которые видимы для набора объектов наблюдателей.
Использование
-
Определение точек наблюдения – процесс, требующий интенсивной работы процессора. Время на обработку зависит от разрешения растра. Для предварительного изучения территории вы можете воспользоваться более крупным размером ячейки, чтобы уменьшить количество ячеек входного растра. Используйте растр с полным разрешением, когда вы готовы создать растр с окончательными результатами.
-
Если входной растр содержит нежелательные шумы, вызванные погрешностями определений в опорных точках, вы можете выполнить до запуска этого инструмента сглаживание растра с помощью фильтра нижних частот, например с использованием опции Среднее (Mean) функции Фокальная статистика (Focal Statistics).
-
Видимость центра каждой ячейки определяется путем сравнивания угла высоты до центра ячейки с углом высоты локального горизонта. Локальный горизонт вычисляется с помощью рассмотрения участка поверхности между точкой наблюдения и центром текущей ячейки. Если точка лежит над местным горизонтом, она считается видимой.
Инструмент создает дополнительный выходной растр над уровнем поверхности (AGL). Каждая ячейка выходного растра AGL содержит значение минимальной высоты, которое должно быть добавлено к ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя.
Если входные объекты-наблюдатели содержат несколько наблюдателей, выходное значение является минимальным из значений AGL от каждого из отдельных наблюдателей.
Синтаксис
Параметр | Объяснение | Тип данных |
in_raster |
Входной растр поверхности. | Raster Layer |
in_observer_features |
Класс пространственных объектов, который определяет местоположения наблюдения. Входными данными могут быть точечные или полилинейные объекты. | Feature Layer |
z_factor (дополнительно) | Количество наземных единиц измерения координат x,y в одной единице измерения z-значения поверхности. Коэффициент z (z-factor) приводит в соответствие единицы измерения z-значений в том случае, если они отличаются от единиц измерения координат x,y входной поверхности. При вычислении результирующей выходной поверхности z-значения входной поверхности умножаются на коэффициент по z. Если координаты x,y и z-значения приведены в одной и той же системе координат, коэффициент z равен 1. Это значение используется по умолчанию. Если координаты x,y и z-значения приведены в отличающихся единицах измерения, для коэффициента по z должно быть задано соответствующее значение, или же результаты будут некорректными. Например, если единицы измерения для z-значений – футы, а координаты x,y приведены в метрах, для преобразования z-значений из футов в метры вы должны использовать коэффициент по z, равный 0,3048 (1 фут = 0,3048 метра). | Double |
curvature_correction (дополнительно) |
Позволяет выполнять коррекцию на кривизну земли.
| Boolean |
refractivity_coefficient (дополнительно) |
Коэффициент рефракции видимого диапазона света в воздухе. Значение, предлагаемое по умолчанию, равно 0,13. | Double |
out_agl_raster (дополнительно) |
Выходной растр над уровнем поверхности (AGL). AGL создает растр, в котором значение каждой ячейки является минимальной высотой, которая должна быть добавлена к невидимой ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя. Ячейки, которые уже были видны, в выходном растре будут иметь значение 0. | Raster |
Возвращено значение
Имя | Объяснение | Тип данных |
out_raster | Выходной растр. В выходных данных будет записано только количество, соответствующее подсчёту точек наблюдения (или вершин полилиний), из которых можно видеть каждую точку на входном растре. Частота наблюдения будет записана в поле VALUE таблицы атрибутов выходного растра. | Raster |
Пример кода
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outViewshed = Viewshed("elevation","observers.shp",2,"CURVED_EARTH",0.15)
outViewshed.save("C:/sapyexamples/output/outvwshd01")
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
# Name: Viewshed_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
# observer features.
# 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"
inObserverFeatures = "observers.shp"
zFactor = 2
useEarthCurvature = "CURVED_EARTH"
refractivityCoefficient = 0.15
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
# Execute Viewshed
outViewshed = Viewshed(inRaster, inObserverFeatures, zFactor,
useEarthCurvature, refractivityCoefficient)
# Save the output
outViewshed.save("C:/sapyexamples/output/outvwshd02")