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

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

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

Более подробно о том, как работает инструмент Граница видимости

Иллюстрация

Иллюстрация инструмента Граница видимости
Первое изображение – входные данные для инструмента Граница видимости. Они состоят из точки наблюдателя и линии горизонта – выходных данных инструмента Линия горизонта. Второе изображение – выходные данные Границы видимости.

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

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

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

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

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

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

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

Параметры

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

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

Feature Layer
Входные объекты

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

Feature Layer
Выходной класс объектов

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

Feature Class
Минимальный радиус
(Дополнительный)

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

Linear Unit; Field
Максимальный радиус
(Дополнительный)

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

Linear Unit; Field
Закрытый
(Дополнительный)

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

  • Не отмечено – к мультипатчу не добавляется граница или основа. Будет получен только мультипатч, представляющий поверхность, идущую от наблюдателя до линии горизонта. Это значение по умолчанию
  • Отмечено – граница и основа добавляются к мультипатчу, чтобы образовать замкнутый сплошной объект.
Boolean
Базовая высота
(Дополнительный)

Высота основы замкнутого мультипатча. Этот параметр игнорируется, если параметр Замкнутый не отмечен. По умолчанию - 0.

Linear Unit; Field
Проецировать на плоскость
(Дополнительный)

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

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

arcpy.ddd.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})
ИмяОписаниеТип данных
in_observer_point_features

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

Feature Layer
in_features

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

Feature Layer
out_feature_class

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

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

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

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

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

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

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

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

Высота основы замкнутого мультипатча. Этот параметр игнорируется, если параметр closed задан как NO_CLOSED. По умолчанию - 0.

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

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

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

Пример кода

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

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.SkylineBarrier("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.ddd.SkylineBarrier(inPts, inLine, outFC, minRadius,
                      maxRadius, 'CLOSED')

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