ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Линия горизонта

  • Сводка
  • Иллюстрация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Сводка

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

Более подробно о том, как работает инструмент Линия горизонта

Иллюстрация

Линия горизонта

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

  • Инструмент Линия горизонта часто используется совместно с инструментом Граница видимости и иногда с инструментом Схема горизонта. Другое применение этого инструмента описано в разделе Анализ угроз на маршруте полета в 3D.

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

  • Следующие поля будут добавлены к выходному классу пространственных объектов, содержащему линии горизонта:

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

    • OBSV_PT_ID – FID точки наблюдения, используемой для создания этого силуэта.
    • ORIGFTR_ID – FID исходного пространственного объекта, например здания, представляемого этим силуэтом.
    • DIR_VECT_X – компонент X единичного вектора, представляющего направление световых лучей от наблюдателя.
    • DIR_VECT_Y – компонент Y единичного вектора, представляющего направление световых лучей от наблюдателя.
    • DIR_VECT_Z – компонент Z единичного вектора, представляющего направление световых лучей от наблюдателя.
    • FEAT_CTR_X – компонент X центра внешней границы исходного пространственного объекта (например, здания).
    • FEAT_CTR_Y – компонент Y центра внешней границы пространственного объекта.
    • FEAT_CTR_Z – компонент Z центра внешней границы пространственного объекта.
    • BHND_CTR_X – компонент X центра внешней границы пространственного объекта, перемещенной за этот объект.
    • BHND_CTR_Y – компонент Y центра внешней границы пространственного объекта, перемещенной за этот объект.
    • BHND_CTR_Z – компонент Z центра внешней границы пространственного объекта, перемещенной за этот объект.
    • USED_PARLL – было ли создано очертание при помощи параллельных световых лучей (1 для ответа «да» и 0 для ответа «нет»).
    • MADE_VERT – было ли очертание сделано вертикальным, а не перпендикулярным световым лучам (1 для ответа «да» и 0 для ответа «нет»).
    • MOVED_BHND – было ли очертание перемещено за пространственный объект, а не оставлено в его центре (1 для ответа «да» и 0 для ответа «нет»).

Синтаксис

arcpy.ddd.Skyline(in_observer_point_features, out_feature_class, {in_surface}, {virtual_surface_radius}, {virtual_surface_elevation}, {in_features}, {feature_lod}, {from_azimuth_value_or_field}, {to_azimuth_value_or_field}, {azimuth_increment_value_or_field}, {max_horizon_radius}, {segment_skyline}, {scale_to_percent}, {scale_according_to}, {scale_method}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {create_silhouettes})
ПараметрОбъяснениеТип данных
in_observer_point_features

3D точки, представляющие наблюдателей. По каждому объекту будут создаваться собственные выходные данные.

Feature Layer
out_feature_class

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

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

Топографическая поверхность, используемая для задания горизонта. Если поверхность не задана, будет использована виртуальная поверхность, созданная с помощью параметров virtual_surface_radius и virtual_surface_elevation.

LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer; Terrain Layer
virtual_surface_radius
(Дополнительный)

Радиус виртуальной поверхности, используемой для задания горизонта при отсутствии топографической поверхности. По умолчанию используется значение 1,000 метров.

Поддерживаются следующие единицы измерения:

  • UNKNOWN —Неизвестно
  • INCHES —Дюймы
  • FEET —Футы
  • YARDS —Ярды
  • MILES —Мили
  • MILLIMETERS —Миллиметры
  • CENTIMETERS —Сантиметры
  • DECIMETERS —Дециметры
  • METERS —Метры
  • KILOMETERS —Километры
Linear Unit
virtual_surface_elevation
(Дополнительный)

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

Поддерживаются следующие единицы измерения:

  • UNKNOWN —Неизвестно
  • INCHES —Дюймы
  • FEET —Футы
  • YARDS —Ярды
  • MILES —Мили
  • MILLIMETERS —Миллиметры
  • CENTIMETERS —Сантиметры
  • DECIMETERS —Дециметры
  • METERS —Метры
  • KILOMETERS —Километры
Linear Unit
in_features
[in_features,...]
(Дополнительный)

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

Feature Layer
feature_lod
(Дополнительный)

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

  • FULL_DETAIL —Каждое ребро в пределах объекта рассматривается в анализе линии горизонта (рассматриваются только ребра треугольников и внешних колец). Это длительная, но самая точная операция, она также используется по умолчанию.
  • CONVEX_FOOTPRINT —В анализе линии горизонта используется верхний периметр замкнутой оболочки, получаемой из контура каждого объекта, вытянутого до самой высокой вершины этого объекта.
  • ENVELOPE — В анализе линии горизонта используется периметр 3-мерного конверта объекта. Это самый быстрый метод.
String
from_azimuth_value_or_field
(Дополнительный)

Азимут в градусах, от которого должен начинаться анализ линии горизонта. Анализ начинается с точки наблюдения и идет направо, от Азимут от к Азимут до. Должен быть больше -360 и меньше 360. Значение по умолчанию равно 0.

Double; Field
to_azimuth_value_or_field
(Дополнительный)

Направление в градусах, в котором должен быть завершен анализ линии горизонта. Анализ начинается с точки наблюдения и идет направо, от Азимут от к Азимут до. Не должен превышать Азимут от более, чем в 360 раз. Значение по умолчанию равно 360.

Double; Field
azimuth_increment_value_or_field
(Дополнительный)

Угловой интервал в градусах, при котором должен быть вычислен горизонт при проведении анализа линии горизонта между Азимут от и Азимут до. Должно быть не больше, чем Азимут до, минус Азимут от. Значение по умолчанию равно 1.

Double; Field
max_horizon_radius
(Дополнительный)

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

Поддерживаются следующие единицы измерения:

  • UNKNOWN —Неизвестно
  • INCHES —Дюймы
  • FEET —Футы
  • YARDS —Ярды
  • MILES —Мили
  • MILLIMETERS —Миллиметры
  • CENTIMETERS —Сантиметры
  • DECIMETERS —Дециметры
  • METERS —Метры
  • KILOMETERS —Километры
Linear Unit
segment_skyline
(Дополнительный)

Определяет, будет ли полученная линия горизонта иметь по одному объекту на каждого наблюдателя, или линия горизонта каждого наблюдателя будет сегментирована на уникальные отрезки, вместе составляющую линию горизонта.

Если создаются силуэты, этот параметр покажет, должны ли использоваться дивергентные лучи; для солнечных теней обычно применяется параметр NO_SEGMENT_SKYLINE

  • NO_SEGMENT_SKYLINE —Каждый объект линии горизонта соответствует одному наблюдателю. Используется по умолчанию.
  • SEGMENT_SKYLINE —Линия горизонта каждого наблюдателя будет сегментирована на уникальные отрезки.
Boolean
scale_to_percent
(Дополнительный)

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

Double
scale_according_to
(Дополнительный)

Значения, согласно которым должно определяться масштабирование.

  • VERTICAL_ANGLE —Масштабирование выполняется с учетом вертикального угла каждой вершины относительно точки наблюдения. Используется по умолчанию.
  • ELEVATION —Масштабирование выполняется с учетом высоты каждой вершины относительно точки наблюдения.
String
scale_method
(Дополнительный)

Вершина, относительно которой будет выполнен расчет.

  • SKYLINE_MAXIMUM —Вершины будут масштабированы относительно вертикального угла (или высоты) вершины с наибольшим вертикальным углом (или высотой). Используется по умолчанию.
  • EACH_VERTEX —Вершины будут масштабированы относительно исходного вертикального угла (или высоты) каждой вершины.
String
use_curvature
(Дополнительный)

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

  • CURVATURE —Кривизна земной поверхности учитывается.
  • NO_CURVATURE —Кривизна земной поверхности не учитывается. Используется по умолчанию.
Boolean
use_refraction
(Дополнительный)

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

  • NO_REFRACTION — Атмосферная рефракция не учитывается. Используется по умолчанию.
  • REFRACTION —Атмосферная рефракция учитывается.
Boolean
refraction_factor
(Дополнительный)

Если атмосферная рефракция учитывается, будет применен коэффициент рефракции. Значение по умолчанию равно 0.13.

Double
pyramid_level_resolution
(Дополнительный)

z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться этим инструментом. Значением по умолчанию является 0, полное разрешение.

Double
create_silhouettes
(Дополнительный)

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

  • NO_CREATE_SILHOUETTES —Итоговые полилинейные объекты будут представлять линию горизонта. Используется по умолчанию.
  • CREATE_SILHOUETTES —Итоговые объекты мультипатча будут представлять силуэты.
Boolean

Пример кода

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.Skyline_3d("observers.shp", "skyline_output.shp", "sample.gdb/featuredataset/terrain")
Skyline, пример 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"
    # Make sure output has a unique name
    outFC = arcpy.CreateUniqueName("skyline_output.shp")
    inSurface = "sample.gdb/featuredataset/terrain"
    obstructionFCs = "buildings.shp; billboards.shp"
    surfRad = "1000 meters"
    surfElev = "100 meters"
    LOD = "FULL_DETAIL"
    fromAzim = 0
    toAzim = 360
    incAzim = 1
    maxHorizRad = 0
    segSky = "SEGMENT_SKYLINE"
    scale = 100
    scaleAcc = "ELEVATION"
    scaleMethod = "SKYLINE_MAXIMUM"
    
    # Execute Skyline
    arcpy.Skyline_3d(inPts, outFC, inSurface, surfRad, surfElev, 
                     obstructionFCs, LOD, fromAzim, toAzim, incAzim, 
                     maxHorizRad, segSky, scale, scaleAcc, scaleMethod)


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)

Параметры среды

  • Текущая рабочая область
  • Выходная система координат
  • Географические преобразования
  • Разрешение XY
  • Допуск XY
  • Выходной XY домен
  • Разрешение Z
  • Допуск Z
  • Выходной домен Z
  • Выходное ключевое слово CONFIG
  • Автоматическое подтверждение
  • Выходная пространственная сетка 1
  • Выходная пространственная сетка 2
  • Выходная пространственная сетка 3
  • Использование памяти Terrain

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

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

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

  • Обзор группы инструментов Видимость
  • Теоретические основы поверхностей
  • Анализ видимости

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация