Краткая информация
Вычисляет видимость неба и строит дополнительную таблицу и полярный график.
Таблица и график представляют горизонтальные и вертикальные углы, идущие из точки наблюдения к каждой вершине линии горизонта.
Иллюстрация
Использование
Азимут и вертикальный угол от каждой точки наблюдения к каждой вершине линии горизонта оцениваются и могут экспортироваться в автономную таблицу Выходная таблица углов. В таблице будут присутствуют следующие поля:
- HORIZ_ANG – горизонтальный угол.
- ZENITH_ANG – угол зенита.
Если выбраны Дополнительные поля:
- FEATURE_ID – объект линии горизонта, который мешает видимости от наблюдателя к горизонту.
- VERTEX_X – координата X вершины.
- VERTEX_Y – координата Y вершины.
- VERTEX_Z – координата Z вершины.
- DIST_2D – горизонтальное расстояние от наблюдателя до вершины.
- DIST_3D – расстояние по уклону от наблюдателя до вершины.
- Окно Результаты возвращает среднее значение в процентах видимости горизонта для всех наблюдателей вдоль минимального и максимального вертикальных углов видимости горизонта. Это будет значение в диапазоне от 0 до 1, например 0.8 представляет 80% видимости горизонта.
Арифметический горизонтальный угол равен 90 градусам минус азимут и угол зенита равен 90 градусам минус вертикальный угол. Арифметический горизонтальный угол 0 градусов направлен на восток, а угол на 90 градусов направлен на север. Угол зенита в 90 градусов является горизонтальным, а угол в 0 градусов направлен непосредственно вверх.
- Процент видимого неба всегда отображается в результатах. Это значение равно области над линией горизонта, разделенной на область над видимым углом базы (один из параметров со значением по умолчанию, равным 0, который означает, что высота аналогична высоте наблюдателя). Оно вычисляется только в диапазоне азимута линии горизонта.
Синтаксис
SkylineGraph_3d (in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph})
Параметр | Объяснение | Тип данных |
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 (Дополнительный) | Указывает имя полярной диаграммы, представляющий линию горизонта для первого наблюдателя. Диаграмма представляет предполагаемую линию горизонта, видимую с позиции наблюдателя, с начальной точкой в месте нахождения наблюдателя. Для построения диаграммы должна быть создана таблица, при этом диаграмма отображается, только если инструмент запускался в ArcMap, ArcScene или ArcGlobe. | Graph |
Пример кода
SkylineGraph, пример 1 (окно Python)
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SkylineGraph_3d("observers.shp", "skyline_outline.shp", 0, "ADDITIONAL_FIELDS", "table.dbf")
SkylineGraph, пример 2 (автономный скрипт)
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''****************************************************************************
Name: Skyline Example
Description: This script demonstrates how to use the
Skyline tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
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)
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
Параметры среды
Информация о лицензиях
- ArcGIS Desktop Basic: Требует 3D Analyst
- ArcGIS Desktop Standard: Требует 3D Analyst
- ArcGIS Desktop Advanced: Требует 3D Analyst