Доступно с лицензией 3D Analyst.
Краткая информация
Определяет, какие точки наблюдения видны из каждого положения на поверхности растра.
Иллюстрация
Использование
Определение точек наблюдения – процесс, требующий интенсивной работы процессора. Время на обработку зависит от разрешения растра. Для предварительного изучения территории вы можете воспользоваться более крупным размером ячейки, чтобы уменьшить количество ячеек входного растра. Используйте растр с полным разрешением, когда вы готовы создать растр с окончательными результатами.
-
Если входной растр содержит нежелательные шумы, вызванные погрешностями определений опорных точек, то при подключенном дополнительном модуле ArcGIS Spatial Analyst можно выполнить сглаживание растра с помощью низкочастотного фильтра, например, опции Среднее Фокальной статистики, до запуска этого инструмента.
Видимость центра каждой ячейки определяется путем сравнивания угла высоты до центра ячейки с углом высоты локального горизонта. Локальный горизонт вычисляется с помощью рассмотрения участка поверхности между точкой наблюдения и центром текущей ячейки. Если точка лежит над местным горизонтом, она считается видимой.
Инструмент создает дополнительный выходной растр над уровнем поверхности (AGL). Каждая ячейка выходного растра AGL содержит значение минимальной высоты, которое должно быть добавлено к ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя.
Если входные объекты-наблюдатели содержат несколько наблюдателей, выходное значение является минимальным из значений AGL от каждого из отдельных наблюдателей.
Когда возникает необходимость пересчитать входной растр, используется метод билинейной интерполяции. Например, входной растр может быть пересчитан, когда выходные система координат, экстент или размер ячеек отличаются от входных.
Синтаксис
ObserverPoints_3d (in_raster, in_observer_point_features, out_raster, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {out_agl_raster})
Параметр | Объяснение | Тип данных |
in_raster | Входной растр поверхности. | Raster Layer |
in_observer_point_features | Класс точечных объектов, который определяет местоположения наблюдения. Максимально возможное число точек равно 16. | Feature Layer |
out_raster | Выходной растр. Выходные данные определяют, какие точки наблюдения видны из каждого положения на поверхности растра. | 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 |
Пример кода
ObserverPoints, пример 1 (окно Python)
В этом примере точно определяется, какие точки наблюдения видны из каждого положения на поверхности растра.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.ObserverPoints_3d("elevation","observers.shp", "C:/output/outobspnt01",
1, "CURVED_EARTH", 0.13)
ObserverPoints, пример 2 (автономный скрипт)
В этом примере точно определяется, какие точки наблюдения видны из каждого положения на поверхности растра.
# Name: ObserverPoints_3d_Ex_02.py
# Description: Identifies exactly which observer points are visible
# from each raster surface location.
# 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"
inObsPoints = "observers.shp"
outRaster = "C:/output/outobspnt02"
zFactor = 1
useEarthCurv = "CURVED_EARTH"
refractionVal = 0.13
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute ObserverPoints
arcpy.ObserverPoints_3d(inRaster, inObsPoints, outRaster, zFactor,
useEarthCurv, refractionVal)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует 3D Analyst или Spatial Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst или Spatial Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst или Spatial Analyst