Подпись | Описание | Тип данных |
Входные точечные объекты наблюдателей | Класс точечных объектов, содержащий точки наблюдателей. | Feature Layer |
Входные объекты | Входной класс линейных объектов, который представляет линии горизонта, или входной класс объектов-мультипатчей, представляющий силуэты. | Feature Layer |
Выходной класс объектов | Выходной класс объектов, в который помещается граница видимости или объемный теневой объект. | Feature Class |
Минимальный радиус (Дополнительный) | Минимальный радиус, до которого необходимо вытянуть ребра треугольника из точки наблюдателя. Например, при значении 10 м все выходные объекты границы будут вытянуты как минимум на 10 м от их исходной точки. Значение по умолчанию равно 0, что означает, что минимальное расстояние не применяется. | Linear Unit; Field |
Максимальный радиус (Дополнительный) | Максимальный радиус, до которого необходимо вытянуть ребра треугольника из точки наблюдателя. Значение по умолчанию равно 0, что означает, что максимальное расстояние не применяется | Linear Unit; Field |
Закрытый (Дополнительный) | Указывает, будут ли граница и основание добавлены к границе видимости, чтобы итоговый мультипатч выглядел как замкнутая объемная фигура.
| Boolean |
Базовая высота (Дополнительный) | Высота основы замкнутого мультипатча. Этот параметр игнорируется, если параметр Замкнутый не отмечен. По умолчанию - 0. | Linear Unit; Field |
Проецировать на плоскость (Дополнительный) | Указывает, необходимо ли проецировать передний (ближе к наблюдателю) или задний (дальше от наблюдателя) конец границы на вертикальную плоскость. Обычно отмечено, чтобы создать объемный теневой объект.
| Boolean |
Краткая информация
Строит класс объектов мультипатчей, представляющих границу видимости или объем затенения.
Более подробно о том, как работает инструмент Граница видимости
Иллюстрация
Использование
Граница похожа на веер треугольников, сформированных в результате проведения линии из точки наблюдателя к первой вершине линии горизонта, а затем через все последующие вершины линии горизонта. Этот инструмент можно использовать, чтобы определить, нарушают ли объекты, такие как мультипатчи, представляющие здания, границу, выступая за нее, или изменит ли предполагаемое здание линию горизонта.
Сначала используйте инструмент Линия горизонта для создания линии горизонта или силуэта. Силуэт создаст объемное представление тени, отбрасываемой светом, исходящим из точки наблюдения.
Параметры Минимальный радиус и Максимальный радиус определяют длину ребер треугольников, исходящих из точки наблюдения. Если для параметра Минимальный радиус или Максимальный радиус по умолчанию задано значение 0, то в ходе анализа не используется минимальная или максимальная длина.
Если вы создаете замкнутый мультипатч, выходные данные будут вытянуты с учетом высоты, заданной в параметре Базовая высота, и будет создано горизонтальное кольцо для формирования нижней части замкнутой геометрии. Если заданная базовая высота больше, чем самая высокая вершина на границе видимости, база фактически будет являться потолком.
Новый класс объектов-мультипатчей будет содержать следующие поля:
- OBSV_PT_ID– FID точки наблюдателя, используемый для создания линии горизонта, которая, в свою очередь, использовалась для создания этого мультипатча границы видимости.
- ORIGFTR_ID– FID исходного объекта, например здания, представленного сегментом линии горизонта или силуэта, который использовался для создания этого объемного теневого объекта.
- SILHOUE_ID– FID объекта-мультипатча (силуэта), используемый для создания этого объемного теневого объекта (только для силуэтов).
Параметры
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 (Дополнительный) | Указывает, будут ли граница и основание добавлены к границе видимости, чтобы итоговый мультипатч выглядел как замкнутая объемная фигура.
| Boolean |
base_elevation (Дополнительный) | Высота основы замкнутого мультипатча. Этот параметр игнорируется, если параметр closed задан как NO_CLOSED. По умолчанию - 0. | Linear Unit; Field |
project_to_plane (Дополнительный) | Указывает, необходимо ли проецировать передний (ближе к наблюдателю) или задний (дальше от наблюдателя) конец границы на вертикальную плоскость. Обычно задано как PROJECT_TO_PLANE, чтобы создать объемный теневой объект.
| Boolean |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = "C:/data"
arcpy.ddd.SkylineBarrier("observers.shp", "skyline_outline.shp",
"barrier_output.shp")
В следующем примере показано использование этого инструмента в автономном скрипте 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')
Параметры среды
Информация о лицензиях
- Basic: Обязательно 3D Analyst
- Standard: Обязательно 3D Analyst
- Advanced: Обязательно 3D Analyst