Создать область видимости (Анализ растра)

Сводка

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

Наблюдатели и наблюдаемые объекты могут находиться над поверхностью земли, их высоты используются при определении видимости. Например, видимость, вычисленная для ветряка высотой 300 футов и человека ростом 6 футов, стоящего на земле, обычно будет шире, чем видимость 200-футового ветряка и человека ростом 5 футов.

В результирующий слой записывается число раз, которое каждое местоположение ячейки входного растра поверхности можно увидеть из любой из входных точек наблюдения. Невидимым ячейкам присваивается значение NoData.

Иллюстрация

Инструмент Создать область видимости

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

  • Этот инструмент портала для анализа растров доступен, если вы выполнили вход в ArcGIS Enterprise Ссылка на разбор анализа в ArcGIS Enterprise портал с расширением ArcGIS Image Server Ссылка на раздел Что такое 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
(Дополнительный)

Метод оптимизации, используемый при вычислении видимости.

  • SPEEDМетод оптимизирует скорость обработки, что приводит к несколько меньшей точности при более высокой производительности. Это значение по умолчанию.
  • ACCURACYЭтот метод подходит для получения точных результатов вычислений и характеризуется значительным временем обработки.
String
maximumViewingDistanceType
(Дополнительный)

Метод, которым определяется максимальное расстояние видимости.

  • DISTANCEМаксимальное расстояние задается введенным значением. Этот метод используется по умолчанию.
  • FIELD Максимальное расстояние для каждого местоположения наблюдателя определяется значениями в указанном поле.
String
maximumViewingDistance
(Дополнительный)

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

Единицами измерения могут быть километры, метры, мили или футы.

По умолчанию используются мили.

Linear Unit
maximumViewingDistanceField
(Дополнительный)

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

Максимальное расстояние видимости – это предельное расстояние, на котором вычисление области видимости прекращается. За пределами этого расстояния, видимость между точкой наблюдения и наблюдаемыми объектами остается неизвестной.

Field
minimumViewingDistanceType
(Дополнительный)

Выберите метод, который будет использоваться для определения минимального расстояния видимости.

  • DISTANCEМинимальное расстояние задается введенным значением. Этот метод используется по умолчанию.
  • FIELD Минимальное расстояние для каждого местоположения наблюдателя определяется значениями в указанном поле.
String
minimumViewingDistance
(Дополнительный)

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

Единицами измерения могут быть километры, метры, мили или футы.

Единицы измерения по умолчанию – метры.

Linear Unit
minimumViewingDistanceField
(Дополнительный)

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

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

Field
viewingDistanceIs3D
(Дополнительный)

Укажите, будут ли параметры минимального и максимального расстояния видимости вычисляться в 3D- или – упрощенно – в 2D-пространстве. 2D-расстояние – простое расстояние по прямой линии, измеренное между наблюдателем и целью, с использованием проекции их местоположений на уровень моря. Трехмерное расстояние дает более корректное значение – с учетом относительных высот этих точек.

  • 2DРасстояние видимости вычисляется как 2D-расстояние. Это значение по умолчанию.
  • 3DРасстояние видимости вычисляется как 3D-расстояние.
Boolean
observersElevationType
(Дополнительный)

Метод, которым определяется высота наблюдателей.

  • ELEVATIONВысота наблюдателей задается введенным значением. Этот метод используется по умолчанию.
  • FIELDВысота каждого наблюдателя определяется значениями в указанном поле.
String
observersElevation
(Дополнительный)

Это высоты местоположений наблюдателей.

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

Единицами измерения могут быть километры, метры, мили или футы.

Единицы измерения по умолчанию – метры.

Linear Unit
observersElevationField
(Дополнительный)

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

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

Field
observersHeightType
(Дополнительный)

Метод, которым определяется высота наблюдателей.

  • HEIGHTВысота наблюдателей определяется введенным значением. Этот метод используется по умолчанию.
  • FIELD Высота каждого местоположения наблюдателя определяется значениями в указанном поле.
String
observersHeight
(Дополнительный)

Это высота, используемая для местоположений наблюдателей.

Единицами измерения могут быть километры, метры, мили или футы.

Единицы измерения по умолчанию – метры.

Linear Unit
observersHeightField
(Дополнительный)

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

Field
targetHeightType
(Дополнительный)

Метод, которым определяется высота целей.

  • HEIGHTВысота целей определяется введенным значением. Этот метод используется по умолчанию.
  • FIELD Высота каждой цели определяется значениями в указанном поле.
String
targetHeight
(Дополнительный)

Высота предметов или людей над поверхностью земли, используемая для определения видимости. Итоговые области видимости – это области, в которых из точки наблюдения видны другие объекты. Также верно и обратное, другие объекты могут видеть точку наблюдения.

Единицами измерения могут быть километры, метры, мили или футы.

Единицы измерения по умолчанию – метры.

Linear Unit
targetHeightField
(Дополнительный)

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

Field
aboveGroundLevelOutputName
(Дополнительный)

Имя выходного растра над уровнем поверхности (AGL). AGL создает растр, в котором значение каждой ячейки является минимальной высотой, которая должна быть добавлена к невидимой ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя. Ячейки, которые уже были видны, в выходном растре будут иметь значение 0.

String

Производные выходные данные

NameОбъяснениеТип данных
outputRaster

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

Растровый слой
outputAboveGroundLevelRaster

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

Растровый слой

Пример кода

CreateViewshed, пример 1 (окно Python).

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

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")
CreateViewshed, пример 2 (автономный скрипт)

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

#---------------------------------------------------------------------------
# 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)

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

  • Basic: Требуется ArcGIS Image Server
  • Standard: Требуется ArcGIS Image Server
  • Advanced: Требуется ArcGIS Image Server

Связанные разделы