Доступно с лицензией Spatial Analyst.
Доступно с лицензией 3D Analyst.
Сводка
Определяет положения на поверхности растра, которые видимы для набора объектов наблюдателей.
Иллюстрация
Использование
Определение точек наблюдения – процесс, требующий интенсивной работы процессора. Время на обработку зависит от разрешения растра. Для предварительного изучения территории вы можете воспользоваться более крупным размером ячейки, чтобы уменьшить количество ячеек входного растра. Используйте растр с полным разрешением, когда вы готовы создать растр с окончательными результатами.
-
Если входной растр содержит нежелательные шумы, вызванные погрешностями определений опорных точек, то при подключенном дополнительном модуле ArcGIS Spatial Analyst можно выполнить сглаживание растра с помощью низкочастотного фильтра, например, опции Среднее Фокальной статистики, до запуска этого инструмента.
Видимость центра каждой ячейки определяется путем сравнивания угла высоты до центра ячейки с углом высоты локального горизонта. Локальный горизонт вычисляется с помощью рассмотрения участка поверхности между точкой наблюдения и центром текущей ячейки. Если точка лежит над местным горизонтом, она считается видимой.
Инструмент создает дополнительный выходной растр над уровнем поверхности (AGL). Каждая ячейка выходного растра AGL содержит значение минимальной высоты, которое должно быть добавлено к ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя.
Если входные объекты-наблюдатели содержат несколько наблюдателей, выходное значение является минимальным из значений AGL от каждого из отдельных наблюдателей.
Когда возникает необходимость пересчитать входной растр, используется метод билинейной интерполяции. Например, входной растр может быть пересчитан, когда выходные система координат, экстент или размер ячеек отличаются от входных.
Синтаксис
arcpy.3d.Viewshed(in_raster, in_observer_features, out_raster, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {out_agl_raster})
Parameter | Объяснение | Тип данных |
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-коэффициент 0.3048 чтобы конвертировать z-единицы из футов в метры (1 фут = 0.3048 метра). | Double |
curvature_correction (Дополнительный) | Позволяет применять поправки на кривизну земли.
| Boolean |
refractivity_coefficient (Дополнительный) | Коэффициент преломления видимого света в воздухе. Значение, предлагаемое по умолчанию, равно 0,13. | Double |
out_agl_raster (Дополнительный) | Выходной растр над уровнем поверхности (AGL). AGL создает растр, в котором значение каждой ячейки является минимальной высотой, которая должна быть добавлена к невидимой ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя. Ячейки, которые уже были видны, в выходном растре будут иметь значение 0. | Raster Dataset |
Пример кода
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Viewshed_3d("elevation", "observers.shp", "C:/output/outvwshd01", 2,
"CURVED_EARTH", 0.15)
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
# 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
# Execute Viewshed
arcpy.Viewshed_3d(inRaster, inObserverFeatures, outViewshed, zFactor,
useEarthCurvature, refractivityCoefficient)
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst или Spatial Analyst
- Standard: Требуется 3D Analyst или Spatial Analyst
- Advanced: Требуется 3D Analyst или Spatial Analyst