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

Уровень лицензии:BasicStandardAdvanced

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

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

Дополнительные сведения о работе инструмента Граница видимости (Skyline Barrier)

Рисунок

Граница видимости (Skyline Barrier)

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

Синтаксис

SkylineBarrier_3d (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
(дополнительно)

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

Linear Unit; Field
max_radius_value_or_field
(дополнительно)

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

Linear Unit; Field
closed
(дополнительно)

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

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

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

Linear Unit; Field
project_to_plane
(дополнительно)

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

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

Пример кода

Пример 1. Граница видимости (SkylineBarrier) (окно Python)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", "barrier_output.shp")
Пример 2. Граница видимости (SkylineBarrier) (автономный скрипт)

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

'''****************************************************************************
Name: Skyline Barrier Example
Description: This script demonstrates how to use the 
             Skyline Barrier 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'
    inLine = 'skyline.shp'
    outFC = 'output_barriers.shp'
    minRadius = '0 METERS'
    maxRadius = '200 METERS'
    
    #Execute SkylineBarrier
    arcpy.SkylineBarrier_3d(inPts, inLine, outFC, minRadius,
                          maxRadius, 'CLOSED')

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 for Desktop Basic: Требует 3D Analyst
ArcGIS for Desktop Standard: Требует 3D Analyst
ArcGIS for Desktop Advanced: Требует 3D Analyst
5/10/2014