Сводка
Определяет видимость линий взгляда с учетом потенциальных препятствий, заданных любыми сочетаниями 3D объектов и поверхностей.
Использование
Этот инструмент изменяет входные Линии взгляда, добавляя новое поле или обновляя существующее поле. Имя поля можно указать в параметре Имя поля видимости. Значением поля будет 1 для видимых линий взгляда и 0 для линий взгляда, у которых есть препятствие. Если у вас нет прав на запись во входные объекты или вы не хотите менять входные данные, для работы этого инструмента нужно сделать копию. Более подробно о стратегиях предотвращения нежелательных изменений данных см. в разделе Инструменты, не создающие выходных данных.
-
Для определения наблюдателя и цели используются только конечные точки входной линии. В идеале линии взгляда должны представлять собой прямые линии с двумя вершинами, представляющими точку наблюдения и местоположение цели, для которой определяется видимость.
-
Если местоположение наблюдателя определяется точечными объектами, а местоположения целей хранятся в другом классе пространственных объектов, воспользуйтесь инструментом Построить линии взгляда.
Инструмент будет работать быстрее, если все входные данные имеют единую пространственную привязку, данные не будут перепроецироваться(иногда несколько раз) для проверки встречи с препятствиями. Лучше всего будет, если все препятствия будут использовать одну пространственную привязку; пространственная привязка линий взгляда не так важна, так как их легче проецировать.
- Можно использовать инструмент Линия взгляда, если вы хотите определить положение закрытых местоположений для не видимых линий взгляда.
Синтаксис
Intervisibility(sight_lines, obstructions, {visible_field})
Parameter | Объяснение | Тип данных |
sight_lines | 3D линии взгляда, видимость которых будет оцениваться. | Feature Layer |
obstructions [obstructions,...] | 3D объекты, слои интегрированной модели mesh и поверхности, которые представляют собой потенциальные препятствия для линий взгляда. | Feature Layer; Mosaic Layer; Raster Layer; Scene Layer, TIN Layer |
visible_field (Дополнительный) | Имя поля, которое будет хранить результаты видимости. Результирующее значение 0 указывает, что начальная и конечная точки линии взгляда не видимы друг другу. Значение 1 указывает, что начальная и конечная точки линии взгляда видимы друг другу. По умолчанию поле имеет имя VISIBLE. Если поле существует, его значения будут перезаписаны. | String |
Производные выходные данные
Name | Объяснение | Тип данных |
out_feature_class | Обновленные 3D линии взгляда. | Векторный слой |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", ["3dbuildings.shp", "topo_tin"], "Visibility")
В следующем примере показано использование этого инструмента в автономном скрипте 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")
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst