Граница видимости (3D Analyst)

Сводка

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

Дополнительные сведения о работе инструмента Граница видимости

Иллюстрация

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

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

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

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

  • Параметры Минимальный радиус (Minimum Radius) и Максимальный радиус (Maximum Radius) определяют длину ребер треугольников, исходящих из точки наблюдения. Если для параметра Минимальный радиус или Максимальный радиус по умолчанию задано значение 0, то в ходе анализа не используется минимальная или максимальная длина.

  • Если выбрано создание замкнутого мультипатча, выходные данные будут вытянуты с учетом высоты, заданной в параметре Базовая высота (Base Elevation). Также будет создано горизонтальное кольцо для формирования нижней части замкнутой геометрии. Если заданная базовая высота больше, чем самая высокая вершина на границе видимости, база фактически будет являться потолком.

  • Новый класс объектов-мультипатчей будет иметь следующие поля:

    • OBSV_PT_ID – код FID точки наблюдателя, используемый для создания линии горизонта, которая, в свою очередь, использовалась для создания этого мультипатча границы видимости.
    • ORIGFTR_ID – код FID исходного объекта, например здания, представленного сегментом линии горизонта или силуэтом, который использовался для создания этого объемного теневого объекта.
    • SILHOUE_ID – FID объекта-мультипатча (силуэта), используемый для создания этого объемного теневого объекта (только для силуэтов).

Синтаксис

arcpy.3d.SkylineBarrier(in_observer_point_features, in_features, out_feature_class, {min_radius_value_or_field}, {max_radius_value_or_field}, {closed}, {base_elevation}, {project_to_plane})
ParameterОбъяснениеТип данных
in_observer_point_features

Класс точечных объектов, содержащий точки наблюдателя.

Feature Layer
in_features

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

Feature Layer
out_feature_class

Выходной класс объектов, в который помещается граница видимости или объем тени.

Feature Class
min_radius_value_or_field
(Дополнительный)

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

Linear Unit; Field
max_radius_value_or_field
(Дополнительный)

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

Linear Unit; Field
closed
(Дополнительный)

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

  • NO_CLOSEDК мультипатчу не добавляется граница или основа. Имеется просто мультипатч, представляющий поверхность, идущую от наблюдателя до линии горизонта. Это значение используется по умолчанию.
  • CLOSED Граница и основа добавляются к мультипатчу, чтобы образовать замкнутый сплошной объект.
Boolean
base_elevation
(Дополнительный)

Высота базы замкнутого мультипатча. Игнорируется, если границу не планируется замыкать. Значение по умолчанию равно 0.

Linear Unit; Field
project_to_plane
(Дополнительный)

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

  • NO_PROJECT_TO_PLANEБарьер будет растянут от точки наблюдателя до линии горизонта (ближе или дальше, если для параметров минимального и максимального радиусов не установлено значение 0). Это значение используется по умолчанию.
  • PROJECT_TO_PLANE Барьер будет растянут от вертикальной плоскости до вертикальной плоскости.
Boolean

Пример кода

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

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

arcpy.env.workspace = "C:/data"
arcpy.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", 
                        "barrier_output.shp")
SkylineBarrier пример 2 (автономный скрипт)

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

'''****************************************************************************
Name: Skyline Barrier Example
Description: This script demonstrates how to use the 
             Skyline Barrier tool.

****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'
# Set Local Variables
inPts = 'observers.shp'
inLine = 'skyline.shp'
outFC = 'output_barriers.shp'
minRadius = '0 METERS'
maxRadius = '200 METERS'

#Execute SkylineBarrier
arcpy.SkylineBarrier_3d(inPts, inLine, outFC, minRadius,
                      maxRadius, 'CLOSED')

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

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

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