Сводка
Строит области, в которых наблюдатель может видеть объекты на поверхности земли. Входные наблюдаемые точки могут представлять либо наблюдателей (люди, стоящие на земле или наблюдательные посты на пожарных вышках), или объекты наблюдения (ветряки, водонапорные башни, средства передвижения или люди).
Наблюдатели и наблюдаемые объекты могут находиться над поверхностью земли, их высоты используются при определении видимости. Например, видимость, вычисленная для ветряка высотой 300 футов и человека ростом 6 футов, стоящего на земле, обычно будет шире, чем видимость 200-футового ветряка и человека ростом 5 футов.
В результирующий слой записывается число раз, которое каждое местоположение ячейки входного растра поверхности можно увидеть из любой из входных точек наблюдения. Невидимым ячейкам присваивается значение NoData.
Иллюстрация
Использование
Этот инструмент портала для анализа растров доступен, если вы выполнили вход в ArcGIS Enterprise портал с расширением ArcGIS Image Server настроенный для Raster Analysis . Когда инструмент запускается, ArcGIS Pro выступает в качестве клиента, и обработка проходит на серверах, интегрированных с ArcGIS Enterprise. Инструмент портала использует слои портала в качестве входных данных и создает выходные данные на этом же портале.
Параметр Входной растровый слой поддерживает слой портала, URI или URL сервиса изображений или выходные данные инструмента Создать слой сервера изображений. Входной векторный слой может быть слоем портала или URI либо URL сервиса объектов. Указанный инструмент не поддерживает локальные наборы растровых данных или слои. Хотя вы можете использовать локальные векторные данные или слои как входные данные для инструментов портала, лучше все же использовать слои портала в качестве входных данных.
Видимость для каждого центра ячейки определяется тестом линии взгляда между целью и каждым наблюдателем.
Синтаксис
arcpy.ra.CreateViewshed(inputElevationSurface, inputObserverFeatures, outputName, {optimizeFor}, {maximumViewingDistanceType}, {maximumViewingDistance}, {maximumViewingDistanceField}, {minimumViewingDistanceType}, {minimumViewingDistance}, {minimumViewingDistanceField}, {viewingDistanceIs3D}, {observersElevationType}, {observersElevation}, {observersElevationField}, {observersHeightType}, {observersHeight}, {observersHeightField}, {targetHeightType}, {targetHeight}, {targetHeightField}, {aboveGroundLevelOutputName})
Parameter | Объяснение | Тип данных |
inputElevationSurface | Поверхность высот, использующаяся для вычисления видимости. Если вертикальные единицы измерения входной поверхности отличаются от горизонтальных, например, в случае, если значения высот выражены в футах, а система координат – метровая, для поверхности должна быть задана вертикальная система координат. Это объясняется тем, что инструмент для вычисления z-коэффициента анализа видимости использует вертикальные (Z) и горизонтальные (XY) единицы. Без вертикальной системы координат, а следовательно, в отсутствии информации о Z-единицах инструмент будет считать Z-единицы идентичными XY-единицам. В результате для анализа будет применен внутренний Z-коэффициент, равный 1, что может привести к непредвиденным результатам. Поверхность высот может содержать целочисленные значения или числа с плавающей точкой. | Raster Layer; Image Service; String |
inputObserverFeatures | Точечные объекты, соответствующие при вычислении видимости местоположениям наблюдателей. | Feature Set |
outputName | Имя выходного растрового сервиса. Имя слоя по умолчанию зависит от имени инструмента и имени входного слоя. Если имя слоя уже используется, появится запрос ввести новое имя. | String |
optimizeFor (Дополнительный) | Метод оптимизации, используемый при вычислении видимости.
| String |
maximumViewingDistanceType (Дополнительный) | Метод, которым определяется максимальное расстояние видимости.
| String |
maximumViewingDistance (Дополнительный) | Это предельное расстояние, на котором вычисление области видимости прекращается. За пределами этого расстояния, видимость между точкой наблюдения и наблюдаемыми объектами остается неизвестной. Единицами измерения могут быть километры, метры, мили или футы. По умолчанию используются мили. | Linear Unit |
maximumViewingDistanceField (Дополнительный) | Это поле, которое используется для задания максимального расстояния видимости для каждого наблюдателя. Значения, содержащиеся в поле, должны быть в тех единицах измерения, что и единицы XY входной поверхности высот. Максимальное расстояние видимости – это предельное расстояние, на котором вычисление области видимости прекращается. За пределами этого расстояния, видимость между точкой наблюдения и наблюдаемыми объектами остается неизвестной. | Field |
minimumViewingDistanceType (Дополнительный) | Выберите метод, который будет использоваться для определения минимального расстояния видимости.
| String |
minimumViewingDistance (Дополнительный) | Это предельное расстояние, с которого начинается вычисление области видимости. Ячейки поверхности, находящиеся ближе указанного расстояния, считаются невидимыми в выходных данных, но они все еще могут перекрывать видимость ячеек, находящихся в пределах между минимальным и максимальным расстоянием видимости. Единицами измерения могут быть километры, метры, мили или футы. Единицы измерения по умолчанию – метры. | Linear Unit |
minimumViewingDistanceField (Дополнительный) | Это поле, которое используется для задания минимального расстояния видимости для каждого наблюдателя. Значения, содержащиеся в поле, должны быть в тех единицах измерения, что и единицы XY входной поверхности высот. Минимальное расстояние видимости определяет расстояние, с которого начинается вычисление области видимости. Ячейки поверхности, находящиеся ближе указанного расстояния, считаются невидимыми в выходных данных, но они все еще могут перекрывать видимость ячеек, находящихся в пределах между минимальным и максимальным расстоянием видимости. | Field |
viewingDistanceIs3D (Дополнительный) | Укажите, будут ли параметры минимального и максимального расстояния видимости вычисляться в 3D- или – упрощенно – в 2D-пространстве. 2D-расстояние – простое расстояние по прямой линии, измеренное между наблюдателем и целью, с использованием проекции их местоположений на уровень моря. Трехмерное расстояние дает более корректное значение – с учетом относительных высот этих точек.
| Boolean |
observersElevationType (Дополнительный) | Метод, которым определяется высота наблюдателей.
| String |
observersElevation (Дополнительный) | Это высоты местоположений наблюдателей. Если этот параметр не будет указан, то высота наблюдателя будет определена по растру поверхности с использованием билинейной интерполяции. Если для этого параметра задано какое-то значение, то это значение будет применяться для всех наблюдателей. Чтобы задать различные значения для каждого наблюдателя, установите этот параметр на использование поля во входном наборе данных объектов-наблюдателей. Единицами измерения могут быть километры, метры, мили или футы. Единицы измерения по умолчанию – метры. | Linear Unit |
observersElevationField (Дополнительный) | Это поле, которое используется для задания высоты наблюдателей. Значение, содержащееся в поле, должно быть в тех единицах измерения, что и единицы Z входной поверхности высот. Если этот параметр не будет указан, то высота наблюдателя будет определена по растру поверхности с использованием билинейной интерполяции. | Field |
observersHeightType (Дополнительный) | Метод, которым определяется высота наблюдателей.
| String |
observersHeight (Дополнительный) | Это высота, используемая для местоположений наблюдателей. Единицами измерения могут быть километры, метры, мили или футы. Единицы измерения по умолчанию – метры. | Linear Unit |
observersHeightField (Дополнительный) | Это поле, которое используется для задания высоты наблюдателей. Значение, содержащееся в поле, должно быть в тех единицах измерения, что и единицы Z входной поверхности высот. | Field |
targetHeightType (Дополнительный) | Метод, которым определяется высота целей.
| String |
targetHeight (Дополнительный) | Высота предметов или людей над поверхностью земли, используемая для определения видимости. Итоговые области видимости – это области, в которых из точки наблюдения видны другие объекты. Также верно и обратное, другие объекты могут видеть точку наблюдения. Единицами измерения могут быть километры, метры, мили или футы. Единицы измерения по умолчанию – метры. | Linear Unit |
targetHeightField (Дополнительный) | Это поле, которое используется для задания высоты целей. Значение, содержащееся в поле, должно быть в тех единицах измерения, что и единицы Z входной поверхности высот. | Field |
aboveGroundLevelOutputName (Дополнительный) | Имя выходного растра над уровнем поверхности (AGL). AGL создает растр, в котором значение каждой ячейки является минимальной высотой, которая должна быть добавлена к невидимой ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя. Ячейки, которые уже были видны, в выходном растре будут иметь значение 0. | String |
Производные выходные данные
Name | Объяснение | Тип данных |
outputRaster | Выходной растр видимости. | Растровый слой |
outputAboveGroundLevelRaster | Выходной растр над уровнем поверхности. | Растровый слой |
Пример кода
В этом примере создаётся растр обоюдной видимости сервиса изображений по заданной поверхности и точка наблюдателей.
import arcpy
arcpy.CreateViewshed_ra(
"https://myserver/rest/services/elevation/ImageServer",
"https://myserver/rest/services/destination/FeatureServer/0",
"outview1", "SPEED", "DISTANCE", "9 Miles", "#", "DISTANCE",
"0 Meters", "#", "2D", "ELEVATION", "#", "#", "HEIGHT",
"6 Feet", "#", "HEIGHT", "3 Feet", "#", "outagl1")
В этом примере создаётся растр обоюдной видимости сервиса изображений по заданной поверхности и точка наблюдателей.
#---------------------------------------------------------------------------
# Name: CreateViewshed_example02.py
# Description: Creates a viewshed image service raster from given surface
# and observer points.
#
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inSurface = "https://myserver/rest/services/elevation/ImageServer"
inObservers = "https://myserver/rest/services/destination/FeatureServer/0"
outputViewshed = "outview1"
optimizeFor = "Speed"
maxDistType = "Distance"
maxDist = "9 Miles"
maxDistField = "#"
minDistType = "Distance"
minDist = "0 Miles"
minDistField = "#"
distanceIs3D = "2D"
obsElevationType = "Elevation"
obsElevation = "#"
obsElevationField = "#"
obsOffsetType = "Height"
obsOffset = "6 Feet"
obsOffsetField = "#"
surfOffsetType = "Height"
surfOffset = "3 Feet"
surfOffsetField = "#"
outputAgl = "outagl1"
# Execute Create Viewshed raster analysis tool
arcpy.CreateViewshed_ra(
inSurface, inObservers, outputViewshed, optimizeFor,
maxDistType, maxDist, maxDistField, minDistType, minDist,
minDistField, distanceIs3D, obsElevationType, obsElevation,
obsElevationField, obsOffsetType, obsOffset, obsOffsetField,
surfOffsetType, surfOffset, surfOffsetField, outputAgl)
Environments
Информация о лицензиях
- Basic: Требуется ArcGIS Image Server
- Standard: Требуется ArcGIS Image Server
- Advanced: Требуется ArcGIS Image Server