Доступно с лицензией Spatial Analyst.
Доступно с лицензией 3D Analyst.
Сводка
Определяет, какие точки наблюдения видны из каждого положения на поверхности растра.
Иллюстрация
Использование
Определение точек наблюдения – процесс, требующий интенсивной работы процессора. Время на обработку зависит от разрешения растра. Для предварительного изучения территории вы можете воспользоваться более крупным размером ячейки, чтобы уменьшить количество ячеек входного растра. Используйте растр с полным разрешением, когда вы готовы создать растр с окончательными результатами.
-
Если входной растр содержит нежелательные шумы, вызванные погрешностями определений опорных точек, то при подключенном дополнительном модуле ArcGIS Spatial Analyst можно выполнить сглаживание растра с помощью низкочастотного фильтра, например, опции Среднее Фокальной статистики, до запуска этого инструмента.
Видимость центра каждой ячейки определяется путем сравнивания угла высоты до центра ячейки с углом высоты локального горизонта. Локальный горизонт вычисляется с помощью рассмотрения участка поверхности между точкой наблюдения и центром текущей ячейки. Если точка лежит над местным горизонтом, она считается видимой.
Инструмент создает дополнительный выходной растр над уровнем поверхности (AGL). Каждая ячейка выходного растра AGL содержит значение минимальной высоты, которое должно быть добавлено к ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя.
Если входные объекты-наблюдатели содержат несколько наблюдателей, выходное значение является минимальным из значений AGL от каждого из отдельных наблюдателей.
Когда возникает необходимость пересчитать входной растр, используется метод билинейной интерполяции. Например, входной растр может быть пересчитан, когда выходные система координат, экстент или размер ячеек отличаются от входных.
Синтаксис
arcpy.3d.ObserverPoints(in_raster, in_observer_point_features, out_raster, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {out_agl_raster})
Parameter | Объяснение | Тип данных |
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-коэффициент 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.ObserverPoints_3d("elevation","observers.shp", "C:/output/outobspnt01",
1, "CURVED_EARTH", 0.13)
В этом примере точно определяется, какие точки наблюдения видны из каждого положения на поверхности растра.
# 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
# Execute ObserverPoints
arcpy.ObserverPoints_3d(inRaster, inObsPoints, outRaster, zFactor,
useEarthCurv, refractionVal)
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst или Spatial Analyst
- Standard: Требуется 3D Analyst или Spatial Analyst
- Advanced: Требуется 3D Analyst или Spatial Analyst