Взаимная видимость (3D Analyst)

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

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

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

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

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

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

  • Инструмент будет работать быстрее, если все входные данные имеют единую пространственную привязку, данные не будут перепроецироваться(иногда несколько раз) для проверки встречи с препятствиями. Лучше всего будет, если все препятствия будут использовать одну пространственную привязку; пространственная привязка линий взгляда не так важна, так как их легче проецировать.

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

Параметры

ПодписьОписаниеТип данных
Линии взгляда

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

Feature Layer
Препятствия

Наборы данных модели mesh и поверхности, которые представляют собой потенциальные препятствия для линий взгляда. Препятствия могут быть определены любой комбинацией объектов мультипатч, слоев сцены интегрированной модели mesh, наборов данных TIN и растровых поверхностей.

Feature Layer; TIN Layer; Raster Layer; Mosaic Layer; Scene Layer; File
Имя поля видимости
(Дополнительный)

Имя поля, которое будет хранить результаты видимости. Результирующее значение 0 указывает, что начальная и конечная точки линии взгляда не видимы друг другу. Значение 1 указывает, что начальная и конечная точки линии взгляда видимы друг другу. По умолчанию поле называется VISIBLE. Если поле существует, его значения будут перезаписаны.

String

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

ПодписьОписаниеТип данных
Выходной класс пространственных объектов

Обновленные 3D линии взгляда.

Feature Layer

arcpy.ddd.Intervisibility(sight_lines, obstructions, {visible_field})
ИмяОписаниеТип данных
sight_lines

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

Feature Layer
obstructions
[obstructions,...]

Наборы данных модели mesh и поверхности, которые представляют собой потенциальные препятствия для линий взгляда. Препятствия могут быть определены любой комбинацией объектов мультипатч, слоев сцены интегрированной модели mesh, наборов данных TIN и растровых поверхностей.

Feature Layer; TIN Layer; Raster Layer; Mosaic Layer; Scene Layer; File
visible_field
(Дополнительный)

Имя поля, которое будет хранить результаты видимости. Результирующее значение 0 указывает, что начальная и конечная точки линии взгляда не видимы друг другу. Значение 1 указывает, что начальная и конечная точки линии взгляда видимы друг другу. По умолчанию поле называется VISIBLE. Если поле существует, его значения будут перезаписаны.

String

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

ИмяОписаниеТип данных
out_feature_class

Обновленные 3D линии взгляда.

Feature Layer

Пример кода

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

В следующем примере показано использование этого инструмента в окне Python.


import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", ["3dbuildings.shp", "topo_tin"], "Visibility")
Intervisibility, пример 2 (автономный скрипт)

В следующем примере показано использование этого инструмента как автономного скрипта Python.

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

# Import system modules
import arcpy

# Set environments
arcpy.env.workspace = 'C:/data'

print("Constructing Sightlines")
arcpy.ddd.ConstructSightLines("Observers.shp", "Targets.shp", "sightlines.shp", 
                              observer_height_field='Shape.Z', target_height_field='Shape.Z')

print("Calculating Intervisibility")
arcpy.ddd.Intervisibility("Sightlines.shp", obstructions=["DTM_Tin", "data.gdb/buildings"],
                          visible_field="Visibility")

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

  • Basic: Обязательно 3D Analyst
  • Standard: Обязательно 3D Analyst
  • Advanced: Обязательно 3D Analyst

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