Линия видимости (3D Analyst)

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

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

Дополнительные сведения о том, как работает инструмент Линия видимости

Иллюстрация

Иллюстрация инструмента Линия видимости

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

  • Для определения наблюдателя и цели используются только конечные точки входной линии. Линии видимости должны представлять собой простые прямые линии с двумя вершинами, представляющими точку наблюдения и местоположение цели, для которой определяется видимость.

  • Рассмотрите возможность создания линий взгляда с помощью инструмента Построить линии взгляда, если местоположения целей хранятся в другом классе пространственных объектов. Например, линии взгляда могут быть созданы путем выборки целевого линейного объекта с определенным интервалом для проверки видимости вдоль траектории.

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

  • Выходной класс линейных объектов будет содержать следующие поля:

    • SourceOID– уникальный ID входного линейного объекта, использующегося при вычислении видимости.
    • VisCode— указывает, представляет ли выходная линия видимую или невидимую часть линии взгляда. Каждая линия взгляда потенциально может быть разделена на несколько объектов в зависимости от того, какие ее части закрыты препятствиями. Этот атрибут определяет состояние видимости каждой части таких линий взгляда. Значение 1 указывает на то, что линия видна, а значение 2 указывает на то, что она не видна. Это поле существует только в выходных линейных объектах.
    • TarIsVis— указывает, видна ли целевая точка из точки наблюдателя. Значение 1 указывает на то, что цель видна, а значение 0 указывает на то, что она невидима. Это поле будет существовать только в выходных линейных объектах.
    • OBSTR_MPID— препятствие, которое блокирует видимость целевой точки. Для видимых и закрытых частей каждой входной линии взгляда будет создан отдельный линейный объект. Не загороженная часть будет иметь значение -9999, загороженная мультипатчем будет иметь уникальный идентификатор загораживающего объекта, а часть, загороженная поверхностью, будет иметь значение -1.

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

    • OBSERVERZ— высота точки наблюдателя, включающая любое смещение по вертикали, которое могло быть применено.
    • TARGETZ— высота точки цели, включающая любое смещение по вертикали, которое могло быть применено.
    • OBSTR_DIST— расстояние по горизонтали от наблюдателя до точки, которая препятствует видимости цели. Если линия взгляда не загорожена, это значение будет равно -1,0.

    Подробнее о создании диаграммы профиля

Параметры

ПодписьОписаниеТип данных
Входная поверхность

Слой сцены интегрированной модели mesh, набор данных LAS, растр, TIN или поверхности terrain, используемые для определения видимости.

TIN Layer; Raster Layer; Mosaic Layer; Terrain Layer; LAS Dataset Layer; Scene Layer; File
Входные линейные объекты

Линия взгляда представляет объекты, первая вершина которых определяет точку наблюдателя, а последняя вершина определяет местоположение цели. Когда линии взгляда являются 2D-объектами, высоты наблюдателя и цели будут получены на основе входной поверхности. Когда линии взгляда являются 3D-объектами, высоты наблюдателя и цели будут получены из z-координат объектов.

2D-линии будут оцениваться со смещением относительно подстилающей поверхности. Для поднятия точек над поверхностью применяется смещение по умолчанию, равное 1. Используйте поле с именем OffsetA, чтобы определить пользовательскую высоту смещения для наблюдателя; используйте поле с именем OffsetB чтобы определить пользовательское смещение для цели.

Feature Layer
Выходной класс пространственных объектов

Выходной класс линейных объектов, для которого определяется видимость.

Feature Class
Выходной класс точечных объектов ограничения видимости
(Дополнительный)

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

Feature Class
Использовать кривизну
(Дополнительный)

Определяет, будет ли учитываться кривизна поверхности Земли в анализе линии взгляда. Чтобы этот параметр был активным, поверхность должна иметь определенную пространственную привязку в системе координат проекции с определенными z-единицами.

  • Не отмечено – кривизна земной поверхности не учитывается. Используется по умолчанию.
  • Отмечено – кривизна земной поверхности учитывается.
Boolean
Использовать рефракцию
(Дополнительный)

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

  • Не отмечено – атмосферная рефракция не учитывается. Используется по умолчанию.
  • Отмечено – атмосферная рефракция учитывается.
Boolean
Коэффициент рефракции
(Дополнительный)

Значение, которое будет использоваться в коэффициенте преломления (рефракции). Значение, предлагаемое по умолчанию, равно 0,13.

Double
Уровень пирамидных слоев
(Дополнительный)

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

Double
Входные объекты
(Дополнительный)

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

Feature Layer
Выходные атрибуты графики
(Дополнительный)

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

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

  • Отмечено — графические атрибуты будут включены в выходные данные. Используется по умолчанию.
  • Не отмечено — графические атрибуты не будут включены в выходные данные.
Boolean

arcpy.ddd.LineOfSight(in_surface, in_line_feature_class, out_los_feature_class, {out_obstruction_feature_class}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {in_features}, {output_graphing_attributes})
ИмяОписаниеТип данных
in_surface

Слой сцены интегрированной модели mesh, набор данных LAS, растр, TIN или поверхности terrain, используемые для определения видимости.

TIN Layer; Raster Layer; Mosaic Layer; Terrain Layer; LAS Dataset Layer; Scene Layer; File
in_line_feature_class

Линия взгляда представляет объекты, первая вершина которых определяет точку наблюдателя, а последняя вершина определяет местоположение цели. Когда линии взгляда являются 2D-объектами, высоты наблюдателя и цели будут получены на основе входной поверхности. Когда линии взгляда являются 3D-объектами, высоты наблюдателя и цели будут получены из z-координат объектов.

2D-линии будут оцениваться со смещением относительно подстилающей поверхности. Для поднятия точек над поверхностью применяется смещение по умолчанию, равное 1. Используйте поле с именем OffsetA, чтобы определить пользовательскую высоту смещения для наблюдателя; используйте поле с именем OffsetB чтобы определить пользовательское смещение для цели.

Feature Layer
out_los_feature_class

Выходной класс линейных объектов, для которого определяется видимость.

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

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

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

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

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

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

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

Значение, которое будет использоваться в коэффициенте преломления (рефракции). Значение, предлагаемое по умолчанию, равно 0,13.

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

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

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

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

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

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

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

  • OUTPUT_GRAPHING_ATTRIBUTESГрафические атрибуты будут включены в выходные данные. Используется по умолчанию
  • NO_OUTPUT_GRAPHING_ATTRIBUTESГрафические атрибуты не будут включены в выходные данные.
Boolean

Пример кода

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

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

arcpy.env.workspace = "C:/data"
arcpy.ddd.LineOfSight("tin", "line.shp", "los.shp", "buldings_multipatch.shp", 
                    "obstruction.shp")
LineOfSight, пример 2 (автономный скрипт)

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

'''*********************************************************************
Name: Sight Line Visibility of Parade Path
Description: This script demonstrates how to create a sight line feature class
             from a pair of observer and target points.
*********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables:
arcpy.env.workspace = 'C:/data'

# Setting up input and output variables:
obs = "observer_pts.shp"
tar = "parade_path.shp"
sightlines = "output_sightlines.shp"
height = "<None>"
join_field = "#"
sampling = 0.5
direction = "OUTPUT_THE_DIRECTION"
surface = 'elevation.tif'
bldgs = 'buildings.shp'

arcpy.ddd.ConstructSightLines(obs, tar, sightlines, height, height,
                              join_field, sampling, direction)
arcpy.ddd.LineOfSight(surface, sightlines, "Parade_LOS.shp",
                      "Obstructions.shp", in_features=bldgs)

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

  • Basic: Обязательно 3D Analyst
  • Standard: Обязательно 3D Analyst
  • Advanced: Обязательно 3D Analyst

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