Видимость (Инструменты Spatial Analyst)

Уровень лицензии:BasicStandardAdvanced

Краткая информация

Определяет местоположения растровой поверхности, видимые для набора объектов-наблюдателей или какие точки наблюдения видны из каждого положения на поверхности растра.

Использование

Синтаксис

Visibility (in_raster, in_observer_features, {out_agl_raster}, {analysis_type}, {nonvisible_cell_value}, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {outer_radius}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle})
ПараметрОбъяснениеТип данных
in_raster

Входной растр поверхности.

Raster Layer
in_observer_features

Класс пространственных объектов, который определяет местоположения наблюдения.

Входными данными могут быть точечные или полилинейные объекты.

Feature Layer
out_agl_raster
(дополнительно)

Выходной растр над уровнем поверхности (AGL).

AGL создает растр, в котором значение каждой ячейки является минимальной высотой, которая должна быть добавлена к невидимой ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя.

Ячейки, которые уже были видны, в выходном растре будут иметь значение 0.

Raster
analysis_type
(дополнительно)

Тип анализа видимости.

  • FREQUENCY В выходных данных будет записано число, соответствующее числу наблюдений каждого местоположения ячейки входного растра из входных местоположений объектов-наблюдателей (точек или вершин полилинейных объектов наблюдения).
  • OBSERVERS Выходные данные определяют, какие точки наблюдения видны из каждого положения на поверхности растра.
String
nonvisible_cell_value
(дополнительно)

Значение, присваиваемое невидимым ячейкам.

  • ZERO Невидимым ячейкам присваивается 0.
  • NODATA Невидимым ячейкам присваивается NoData.
Boolean
z_factor
(дополнительно)

Количество наземных единиц измерения координат x,y в одной единице измерения z-значения поверхности.

Коэффициент z (z-factor) приводит в соответствие единицы измерения 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
(дополнительно)

Позволяет выполнять коррекцию на кривизну земли.

  • FLAT_EARTH Не будет применяться коррекция кривизны. Это значение используется по умолчанию.
  • CURVED_EARTH Будет применяться коррекция кривизны.
Boolean
refractivity_coefficient
(дополнительно)

Коэффициент рефракции видимого диапазона света в воздухе.

Значение, предлагаемое по умолчанию, равно 0,13.

Double
surface_offset
(дополнительно)

Это значение определяет вертикальное расстояние (в единицах поверхности), которое должно быть добавлено к z-значению каждой ячейки, в том случае, если этот параметр учитывается в анализе видимости. Это должно быть положительным целым числом или значением с плавающей точкой.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле OFFSETB, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0.

Field | Constant
observer_elevation
(дополнительно)

Это значение используется для определения высоты точек или вершин наблюдения на поверхности.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле SPOT, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, значение будет вычисляться с помощью билинейной интерполяции значений высот ячеек, окружающих точку наблюдения.

Field | Constant
observer_offset
(дополнительно)

Это значение определяет вертикальное расстояние (в единицах поверхности), которое должно быть добавлено к z-значению высоты наблюдателя. Это должно быть положительным целым числом или значением с плавающей точкой.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле OFFSETA, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 1.

Field | Constant
inner_radius
(дополнительно)

Это значение определяет начальное расстояние, от которого определяется видимость. Ячейки, расположенные ближе этого расстояния являются невидимыми на выходном растре, но могут при этом блокировать видимость ячеек, расположенных между внутренним и внешним радиусом. Это может быть положительное или отрицательное целочисленное значение или значение с плавающей точкой. Если это положительное значение, оно интерпретируется как трехмерное расстояние по линии взгляда. Если это отрицательное значение, оно интерпретируется как двухмерное планиметрическое расстояние.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле RADIUS1, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0.

Field | Constant
outer_radius
(дополнительно)

Это значение определяет максимальное расстояние, от которого определяется видимость. Ячейки за пределами этого радиуса исключаются из анализа. Это может быть положительное или отрицательное целочисленное значение или значение с плавающей точкой. Если это положительное значение, оно интерпретируется как трехмерное расстояние по линии взгляда. Если это отрицательное значение, оно интерпретируется как двухмерное планиметрическое расстояние.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле RADIUS2, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение бесконечности.

Field | Constant
horizontal_start_angle
(дополнительно)

Это значение определяет начальный угол диапазона горизонтального сканирования. Это значение задается в градусах от 0 до 360; 0 соответствует направлению на север. По умолчанию значение равно 0.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле AZIMUTH1, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0.

Field | Constant
horizontal_end_angle
(дополнительно)

Это значение определяет конечный угол диапазона горизонтального сканирования. Это значение задается в градусах от 0 до 360; 0 соответствует направлению на север. Значение, предлагаемое по умолчанию, равно 360.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле AZIMUTH2, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 360.

Field | Constant
vertical_upper_angle
(дополнительно)

Это значение определяет верхнюю границу вертикального угла сканирования над горизонтальной плоскостью. Это значение задается в градусах от 0 до 90, целочисленными или с плавающей точкой.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле VERT1, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 90.

Field | Constant
vertical_lower_angle
(дополнительно)

Это значение определяет нижнюю границу вертикального угла сканирования под горизонтальной плоскостью. Это значение задается в градусах от -90 до 0, целочисленными или с плавающей точкой.

Это может быть поле во входном наборе данных объектов-наблюдателей или числовое значение. По умолчанию используется числовое поле VERT2, если оно имеется в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или константу.

Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение -90.

Field | Constant

Возвращено значение

ИмяОбъяснениеТип данных
out_raster

Выходной растр.

В выходных данных будет записано либо число, соответствующее числу точек наблюдения, из которых можно видеть каждую точку на входном растре (опция FREQUENCY), либо местоположения наблюдателей, видимые из каждой ячейки растровой поверхности (опция OBSERVERS).

Raster

Пример кода

Видимость, пример 1 (окно Python)

В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.

import arcpy
from arcpy import env
from arcpy.sa import *

env.workspace = "c:/sapyexamples/data"

outvis = arcpy.sa.Visibility("elevation", "observers.shp", "c:/sapyexamples/output/aglout1",
                            "FREQUENCY", "NODATA", "1", "CURVED_EARTH", "0.13",
                            "OFFSETB", "SPOT", "OFFSETA", "RADIUS1", "RADIUS2",
                            "AZIMUTH1", "AZIMUTH2", "VERT1", "VERT2")

outvis.save("c:/sapyexamples/output/visiout1")
Видимость, пример 2 (автономный скрипт)

В этом примере определяется, какие точки наблюдения являются видимыми из каждого местоположения поверхности.

# Name: Visibility_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"
aglOutput = "c:/sapyexamples/output/aglout1"
analysisType = "OBSERVERS"
nonVisibleValue = "ZERO"
zFactor = 1
useEarthCurvature = "CURVED_EARTH"
refractivityCoefficient = 0.13
surfaceOffset = 500
observerElevation = 2000
observerOffset = 500
innerRadius = 20000
outerRadius = 100000
horizStartAngle = 45
horizEndAngle = 215
vertUpperAngle = 5
vertLowerAngle = -5

# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")

# Execute Visibility
outvis = arcpy.sa.Visibility(inRaster, inObserverFeatures, algOutput, analysisType,
                            nonVisibleValue, zFactor, useEarthCurvature,
                            refractivityCoefficient, surfaceOffset, observerElevation,
                            observerOffset, innerRadius, outerRadius, horizStartAngle,
                            horizEndAngle, vertUpperAngle, vertLowerAngle)

# Save the output
outvis.save("c:/sapyexamples/output/visiout1")

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Требует Дополнительный модуль Spatial Analyst или 3D Analyst
ArcGIS for Desktop Standard: Требует Дополнительный модуль Spatial Analyst или 3D Analyst
ArcGIS for Desktop Advanced: Требует Дополнительный модуль Spatial Analyst или 3D Analyst
6/5/2014