Сводка
Вычисляет видимость неба и строит дополнительную таблицу и полярный график.
Таблица и график представляют горизонтальные и вертикальные углы, идущие из точки наблюдения к каждой вершине линии горизонта.
Иллюстрация
Использование
Азимут и вертикальный угол от каждой точки наблюдения к каждой вершине линии горизонта оцениваются и могут экспортироваться в автономную таблицу Выходная таблица углов. В таблице будут присутствуют следующие поля:
- HORIZ_ANG – горизонтальный угол.
- ZENITH_ANG – зенитный угол.
Если выбраны Дополнительные поля:
- FEATURE_ID – объект горизонта, который препятствует взгляду наблюдателя.
- VERTEX_X – координата X вершины.
- VERTEX_Y – координата Y вершины.
- VERTEX_Z – координата Z вершины.
- DIST_2D – горизонтальное расстояние от наблюдателя до вершины.
- DIST_3D – расстояние по уклону от наблюдателя до вершины.
Арифметический горизонтальный угол равен 90 градусам минус азимут и угол зенита равен 90 градусам минус вертикальный угол. Арифметический горизонтальный угол 0 градусов направлен на восток, а угол на 90 градусов направлен на север. Угол зенита в 90 градусов является горизонтальным, а угол в 0 градусов направлен непосредственно вверх.
- Процент видимого неба всегда отображается в результатах. Это значение равно области над линией горизонта, разделенной на область над видимым углом базы (один из параметров со значением по умолчанию, равным 0, который означает, что высота аналогична высоте наблюдателя). Оно вычисляется только в диапазоне азимута линии горизонта.
Синтаксис
arcpy.3d.SkylineGraph(in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph})
Parameter | Объяснение | Тип данных |
in_observer_point_features | Входной класс объектов, содержащий одну или несколько точек наблюдения. | Feature Layer |
in_line_features | Класс линейных объектов, представляющий линию горизонта. | Feature Layer |
base_visibility_angle (Дополнительный) | Вертикальный угол, который используется как размерная линия для вычисления процента видимого неба. 0 – это горизонт, 90 – угол непосредственно вверх; -90 – непосредственно вниз. Значение по умолчанию равно 0. | Double |
additional_fields (Дополнительный) | Показывает, будут ли дополнительные поля добавлены к таблице углов.
| Boolean |
out_angles_table (Дополнительный) | Таблица, которую необходимо создать для вывода углов. | Table |
out_graph (Дополнительный) |
Этот параметр не поддерживается. | Graph |
Производные выходные данные
Name | Объяснение | Тип данных |
out_visibility_ratio | Средний процент видимого небосвода для всех наблюдателей. Это будет значение в диапазоне от 0 до 1, например 0.8 представляет 80% видимости горизонта. | Double |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = "C:/data"
arcpy.SkylineGraph_3d("observers.shp", "skyline_outline.shp", 0,
"ADDITIONAL_FIELDS", "table.dbf")
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
Name: Skyline Example
Description: This script demonstrates how to use the
Skyline tool.
****************************************************************************'''
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data'
# Set Local Variables
inPts = "observers.shp"
inLines = "skyline_outline.shp"
baseVisibility = 25
# Ensure output table has unique name
outTable = arcpy.CreateUniqueName("angles_table.dbf")
#Execute SkylineGraph
arcpy.SkylineGraph_3d(inPts, inLines, 0, "ADDITIONAL_FIELDS", outTable)
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst