Доступно с лицензией Spatial Analyst.
Доступно с лицензией 3D Analyst.
Краткая информация
Определяет положения на поверхности растра, которые видимы для набора объектов наблюдателей.
Иллюстрация

Использование
- Определение точек наблюдения – процесс, требующий интенсивной работы процессора. Время на обработку зависит от разрешения растра. Для предварительного изучения территории вы можете воспользоваться более крупным размером ячейки, чтобы уменьшить количество ячеек входного растра. Используйте растр с полным разрешением, когда вы готовы создать растр с окончательными результатами. 
- Если входной растр содержит нежелательные шумы, вызванные погрешностями определений в опорных точках, вы можете выполнить до запуска этого инструмента сглаживание растра с помощью фильтра нижних частот, например с использованием опции Среднее функции Фокальная статистика. 
- Видимость центра каждой ячейки определяется путем сравнивания угла высоты до центра ячейки с углом высоты локального горизонта. Локальный горизонт вычисляется с помощью рассмотрения участка поверхности между точкой наблюдения и центром текущей ячейки. Если точка лежит над местным горизонтом, она считается видимой. 
- Инструмент создает дополнительный выходной растр над уровнем поверхности (AGL). Каждая ячейка выходного растра AGL содержит значение минимальной высоты, которое должно быть добавлено к ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя. - Если входные объекты-наблюдатели содержат несколько наблюдателей, выходное значение является минимальным из значений AGL от каждого из отдельных наблюдателей. 
- Когда возникает необходимость пересчитать входной растр, используется метод билинейной интерполяции. Например, входной растр может быть пересчитан, когда выходные система координат, экстент или размер ячеек отличаются от входных. 
- См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента. 
Синтаксис
Viewshed (in_raster, in_observer_features, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {out_agl_raster})| Параметр | Объяснение | Тип данных | 
| in_raster | Входной растр поверхности. | Raster Layer | 
| in_observer_features | Класс пространственных объектов, который определяет местоположения наблюдения. Входными данными могут быть точечные или полилинейные объекты. | Feature Layer | 
| z_factor (Дополнительный) | Количество наземных единиц измерения координат x,y в одной единице измерения z-значения поверхности. Коэффициент z приводит в соответствие единицы измерения 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 Dataset | 
Возвращаемое значение
| Название | Объяснение | Тип данных | 
| out_raster | Выходной растр. В выходных данных будет записано только количество, соответствующее подсчёту точек наблюдения (или вершин полилиний), из которых можно видеть каждую точку на входном растре. Частота наблюдения будет записана в поле VALUE таблицы атрибутов выходного растра. | Raster | 
Пример кода
Viewshed, пример 1 (окно Python)
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
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")
Viewshed, пример 2 (автономный скрипт)
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
# 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")
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует Spatial Analyst или 3D Analyst
- ArcGIS Desktop Standard: Требует Spatial Analyst или 3D Analyst
- ArcGIS Desktop Advanced: Требует Spatial Analyst или 3D Analyst