Доступно с лицензией Spatial Analyst.
Доступно с лицензией 3D Analyst.
Сводка
Определяет положения на поверхности растра, которые видимы для набора объектов наблюдателей.
Иллюстрация
Использование
Определение точек наблюдения – процесс, требующий интенсивной работы процессора. Время на обработку зависит от разрешения растра. Для предварительного изучения территории вы можете воспользоваться более крупным размером ячейки, чтобы уменьшить количество ячеек входного растра. Используйте растр с полным разрешением, когда вы готовы создать растр с окончательными результатами.
-
Если входной растр содержит нежелательные шумы, вызванные погрешностями определений опорных точек, то при подключенном дополнительном модуле ArcGIS Spatial Analyst можно выполнить сглаживание растра с помощью низкочастотного фильтра, например, опции Среднее Фокальной статистики, до запуска этого инструмента.
Видимость центра каждой ячейки определяется путем сравнивания угла высоты до центра ячейки с углом высоты локального горизонта. Локальный горизонт вычисляется с помощью рассмотрения участка поверхности между точкой наблюдения и центром текущей ячейки. Если точка лежит над местным горизонтом, она считается видимой.
Инструмент создает дополнительный выходной растр над уровнем поверхности (AGL). Каждая ячейка выходного растра AGL содержит значение минимальной высоты, которое должно быть добавлено к ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя.
Если входные объекты-наблюдатели содержат несколько наблюдателей, выходное значение является минимальным из значений AGL от каждого из отдельных наблюдателей.
Когда возникает необходимость пересчитать входной растр, используется метод билинейной интерполяции. Например, входной растр может быть пересчитан, когда выходные система координат, экстент или размер ячеек отличаются от входных.
Синтаксис
arcpy.ddd.Viewshed(in_raster, in_observer_features, out_raster, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {out_agl_raster})
Параметр | Объяснение | Тип данных |
in_raster | Входной растр поверхности. | Raster Layer |
in_observer_features | Класс пространственных объектов, который определяет местоположения наблюдения. Входными данными могут быть точечные или полилинейные объекты. | Feature Layer |
out_raster | Выходной растр. В выходных данных будет записано только количество, соответствующее подсчёту точек наблюдения (или вершин полилиний), из которых можно видеть каждую точку на входном растре. Частота наблюдения будет записана в поле VALUE таблицы атрибутов выходного растра. | Raster Dataset |
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 |
Пример кода
Viewshed, пример 1 (окно Python)
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Viewshed_3d("elevation", "observers.shp", "C:/output/outvwshd01", 2,
"CURVED_EARTH", 0.15)
Viewshed, пример 2 (автономный скрипт)
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
# Name: Viewshed_3d_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
# observer features.
# 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"
inObserverFeatures = "observers.shp"
outViewshed = "C:/output/outvwshd02"
zFactor = 2
useEarthCurvature = "CURVED_EARTH"
refractivityCoefficient = 0.15
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Viewshed
arcpy.Viewshed_3d(inRaster, inObserverFeatures, outViewshed, zFactor,
useEarthCurvature, refractivityCoefficient)
Параметры среды
Информация о лицензиях
- Basic: Требуется 3D Analyst или Spatial Analyst
- Standard: Требуется 3D Analyst или Spatial Analyst
- Advanced: Требуется 3D Analyst или Spatial Analyst