Подпись | Описание | Тип данных |
Входная поверхность | Слой сцены интегрированной модели 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 |
Выходной класс объектов | Выходной класс линейных объектов, для которого определяется видимость. Создаются два поля атрибутов. Поле VisCode определяет видимость вдоль этой линии: 1 – видимость есть и 2 – видимость отсутствует. Поле TarIsVis определяет видимость цели: 0 – невидима, 1 – видима. | Feature Class |
Выходной класс точечных объектов ограничения видимости (Дополнительный) | Дополнительный класс точечных объектов, определяющий местоположение первого препятствия на линии взгляда наблюдателя до цели. | Feature Class |
Использовать кривизну (Дополнительный) |
Определяет, будет ли учитываться кривизна поверхности Земли в анализе линии взгляда. Чтобы этот параметр был активным, поверхность должна иметь определенную пространственную привязку в системе координат проекции с определенными z-единицами.
| Boolean |
Использовать рефракцию (Дополнительный) |
Определяет, будет ли учитываться атмосферная рефракция при создании линии видимости из функциональной поверхности. Этот параметр не применяется, если используются объекты-мультипатч.
| Boolean |
Коэффициент рефракции (Дополнительный) | Значение, которое будет использоваться в коэффициенте преломления (рефракции). Значение, предлагаемое по умолчанию, равно 0,13. | Double |
Разрешение уровня пирамидных слоев (Дополнительный) | Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, то есть полное разрешение. | Double |
Входные объекты (Дополнительный) | Дополнительный объект мультипатча, который может определять дополнительные препятствующие элементы, например, здания. Параметры рефракции не учитываются для этих входных данных. | Feature Layer |
Краткая информация
Определяет видимость вдоль линий взгляда через препятствия, состоящие из поверхности и дополнительного набора данных мультипатча.
Дополнительные сведения о том, как работает инструмент Линия видимости
Иллюстрация
Использование
Для определения наблюдателя и цели используются только конечные точки входной линии. Линии видимости должны представлять собой простые прямые линии с двумя вершинами, представляющими точку наблюдения и местоположение цели, для которой определяется видимость.
Рассмотрите возможность создания линий видимости с помощью инструмента Построить линии взгляда, если цели видимости находятся в другом классе объектов. Например, линии видимости могут быть созданы путем выборки целевого линейного объекта с определенным интервалом для проверки видимости вдоль траектории.
Выходные линии будут разделены на видимые и невидимые части входной линии взгляда. Если только поверхность используется для определения видимости линий взгляда, то выходные линии будут следовать профилю поверхности. Если при вычислении линии взгляда указан объект мультипатч, выходные линии будут следовать траектории входных линий взгляда.
В таблице атрибутов выходного линейного объекта содержатся следующие поля:
- SourceOID– уникальный ID линейного объекта, используемого при вычислении видимости.
- VisCode– видимость вдоль линии. Значение 1 – видимый, значение 2 – невидимый. Это поле существует, только если полученная геометрия представляет собой линию.
- TarIsVis– видимость цели вдоль линии. Значение 1 – видимый, значение 0 – невидимый. Это поле существует, только если полученная геометрия представляет собой линию.
- OBSTR_MPID— препятствие, которое блокирует видимость целевой точки. Для видимых и закрытых участков каждой входной линии видимости будет создан отдельный линейный объект. Участок, не закрытый препятствием, будет иметь значение -9999, участок, перекрытый объектом мультипатч, будет иметь уникальный идентификатор загораживающего объекта, а участок, который загорожен поверхностью, будет иметь значение -1.
Параметры
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})
Имя | Описание | Тип данных |
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 | Выходной класс линейных объектов, для которого определяется видимость. Создаются два поля атрибутов. Поле VisCode определяет видимость вдоль этой линии: 1 – видимость есть и 2 – видимость отсутствует. Поле TarIsVis определяет видимость цели: 0 – невидима, 1 – видима. | Feature Class |
out_obstruction_feature_class (Дополнительный) | Дополнительный класс точечных объектов, определяющий местоположение первого препятствия на линии взгляда наблюдателя до цели. | Feature Class |
use_curvature (Дополнительный) |
Определяет, будет ли учитываться кривизна поверхности Земли в анализе линии взгляда. Этот параметр работает, когда поверхность имеет определенную пространственную привязку в системе координат проекции с определенными z-единицами.
| Boolean |
use_refraction (Дополнительный) |
Определяет, будет ли учитываться атмосферная рефракция при создании линии видимости из функциональной поверхности. Этот параметр не применяется, если используются объекты-мультипатч.
| Boolean |
refraction_factor (Дополнительный) | Значение, которое будет использоваться в коэффициенте преломления (рефракции). Значение, предлагаемое по умолчанию, равно 0,13. | Double |
pyramid_level_resolution (Дополнительный) | Z-допуск или разрешение размера окна для уровня пирамидных слоев Terrain, которое будет использоваться. Значением по умолчанию является 0, то есть полное разрешение. | Double |
in_features (Дополнительный) | Дополнительный объект мультипатча, который может определять дополнительные препятствующие элементы, например, здания. Параметры рефракции не учитываются для этих входных данных. | Feature Layer |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = "C:/data"
arcpy.ddd.LineOfSight("tin", "line.shp", "los.shp", "buldings_multipatch.shp",
"obstruction.shp")
В следующем примере показано использование этого инструмента как автономного скрипта 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)