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

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

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

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

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

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

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

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

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

Параметры

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

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

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

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

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

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

String

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

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

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

Векторный слой

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

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

Feature Layer
obstructions
[obstructions,...]

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

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

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

String

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

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

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

Векторный слой

Пример кода

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

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