Подпись | Описание | Тип данных |
Входной растр | Входной растр поверхности. | Raster Layer |
Входные точечные или линейные объекты наблюдателей | Класс пространственных объектов, который определяет местоположения наблюдателей. Входными данными могут быть точечные или полилинейные объекты. | Feature Layer |
Выходной растр | Выходной растр. В выходных данных будет записано либо число, соответствующее числу точек наблюдения, из которых можно видеть каждую точку на входном растре (тип анализа FREQUENCY), либо местоположения наблюдателей, видимые из каждой ячейки растровой поверхности (опция OBSERVERS). | Raster Dataset |
Выходные данные - растр выше уровня поверхности (Дополнительный) | Выходной растр над уровнем поверхности (AGL). AGL создает растр, в котором значение каждой ячейки является минимальной высотой, которая должна быть добавлена к невидимой ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя. Ячейки, которые уже были видны, в выходном растре будут иметь значение 0. | Raster Dataset |
Тип анализа (Дополнительный) | Тип анализа видимости.
| String |
Использовать NoData для невидимых ячеек (Дополнительный) | Значение, присваиваемое невидимым ячейкам.
| Boolean |
Z коэффициент (Дополнительный) | Количество наземных единиц измерения координат x,y в одной единице измерения z-значения поверхности. Коэффициент z приводит в соответствие единицы измерения z-значений в том случае, если они отличаются от единиц измерения координат x,y входной поверхности. При вычислении результирующей выходной поверхности z-значения входной поверхности умножаются на коэффициент по z. Если координаты x,y и z-значения приведены в одной и той же системе координат, коэффициент z равен 1. Это значение по умолчанию Если координаты x,y и z-значения приведены в отличающихся единицах измерения, для коэффициента по z должно быть задано соответствующее значение, или же результаты будут некорректными. Например, если единицы измерения для z-значений – футы, а координаты x,y приведены в метрах, для преобразования z-значений из футов в метры вы должны использовать z-коэффициент, равный 0,3048 (1 фут = 0,3048 метра). | Double |
Использовать поправки на кривизну земной поверхности (Дополнительный) | Определяет, будет ли применяться поправка на кривизну земли.
| Boolean |
Коэффициент рефракции (Дополнительный) | Коэффициент преломления видимого света в воздухе. Значение, предлагаемое по умолчанию, равно 0,13. | Double |
Смещение поверхности (Дополнительный) | Расстояние по вертикали, которое будет добавлено к z-значению каждой ячейки, поскольку оно учитывается в видимости. Это должно быть положительное целочисленное значение или значение с плавающей запятой. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле OFFSETB, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если для этого параметра не задано значение и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0. | Double; Field |
Высота наблюдателя (Дополнительный) | Высоты поверхности точек или вершин наблюдателя. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле SPOT, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, значение будет вычисляться с помощью билинейной интерполяции значений высот ячеек, окружающих точку наблюдения. | Double; Field |
Смещение наблюдателя (Дополнительный) | Расстояние по вертикали, которое будет добавлено к высоте наблюдателя. Это должно быть положительное целочисленное значение или значение с плавающей запятой. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле OFFSETA, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 1. | Double; Field |
Внутренний радиус (Дополнительный) | Начальное расстояние, с которого определяется видимость. Ячейки, расположенные ближе этого расстояния будут невидимыми на выходном растре, но могут при этом блокировать видимость ячеек, расположенных между внутренним и внешним радиусом. Это может быть положительное или отрицательное целочисленное значение или значение с плавающей точкой. Если это положительное значение, оно интерпретируется как трехмерное расстояние по линии взгляда. Если это отрицательное значение, оно интерпретируется как двухмерное планиметрическое расстояние. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле RADIUS1, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если для этого параметра не задано значение и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0. | Double; Field |
Внешний радиус (Дополнительный) | Максимальное расстояние, с которого определяется видимость. Ячейки за пределами этого радиуса исключаются из анализа. Это может быть положительное или отрицательное целочисленное значение или значение с плавающей точкой. Если это положительное значение, оно интерпретируется как трехмерное расстояние по линии взгляда. Если это отрицательное значение, оно интерпретируется как двухмерное планиметрическое расстояние. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле RADIUS2, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение бесконечности. | Double; Field |
Горизонтальный начальный угол (Дополнительный) | Начальный угол диапазона сканирования по горизонтали. Укажите значение в градусах от 0 до 360, где значение 0 ориентировано на север. Значение может быть целочисленным или с плавающей точкой. По умолчанию значение равно 0. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле AZIMUTH1, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если для этого параметра не задано значение и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0. | Double; Field |
Горизонтальный конечный угол (Дополнительный) | Конечный угол диапазона сканирования по горизонтали. Укажите значение в градусах от 0 до 360, где значение 0 ориентировано на север. Значение может быть целочисленным или с плавающей точкой. Значение, предлагаемое по умолчанию, равно 360. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле AZIMUTH2, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 360. | Double; Field |
Вертикальный верхний угол (Дополнительный) | Предел верхнего угла по вертикали для сканирования по отношению к горизонтальной плоскости. Укажите значение в градусах от -90 и до 90 (крайнее значение включено). Значение может быть целочисленным или с плавающей точкой. Значение по умолчанию - 90 (прямо вверх). Значение этого параметра должно быть больше, чем значение параметра Вертикальный нижний угол. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле VERT1, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 90. | Double; Field |
Вертикальный нижний угол (Дополнительный) | Предел нижнего угла по вертикали для сканирования по отношению к горизонтальной плоскости. Укажите значение в градусах от -90 и до 90 (крайнее значение включено). Значение может быть целочисленным или с плавающей точкой. Значение по умолчанию: -90 (прямо вниз) Значение этого параметра должно быть меньше, чем значение параметра Вертикальный верхний угол. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле VERT2, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение -90. | Double; Field |
Доступно с лицензией Spatial Analyst.
Доступно с лицензией 3D Analyst.
Краткая информация
Определяет местоположения растровой поверхности, видимые для набора объектов-наблюдателей или какие точки наблюдения видны из каждого положения на поверхности растра.
Инструмент Геодезическая обоюдная видимость поддерживает улучшенную функциональность или производительность.
Иллюстрация
Использование
Инструмент поддерживает два типа анализа видимости, Частота и Наблюдатели, которые выбираются параметром Тип анализа. Для анализа первого типа инструмент определяет, какие местоположения растровой поверхности видимы для набора наблюдателей. Для другого параметра определяется, какие наблюдатели видны из каждого местоположения на поверхности растра.
Если входной растр содержит нежелательные шумы, ошибками расчета, и у вас есть Дополнительный модуль ArcGIS Spatial Analyst, вы можете выполнить сглаживание растра с помощью фильтра нижних частот, например, используя опцию Среднее перед запуском инструмента Фокальная статистика.
Видимость центра каждой ячейки определяется путем сравнивания угла высоты до центра ячейки с углом высоты локального горизонта. Локальный горизонт вычисляется с помощью рассмотрения участка поверхности между точкой наблюдения и центром текущей ячейки. Если точка лежит над местным горизонтом, она считается видимой.
Инструмент создает дополнительный выходной растр над уровнем поверхности (AGL). Каждая ячейка выходного растра AGL содержит значение минимальной высоты, которое должно быть добавлено к ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя.
Если входные объекты-наблюдатели содержат несколько наблюдателей, выходное значение является минимальным из значений AGL от каждого из отдельных наблюдателей.
Используйте параметры настройки наблюдателя для лучшего управления процессом анализа видимости. Например, с помощью параметра уровня глаз наблюдателя можно задать отступ наблюдателя по высоте.
Когда возникает необходимость пересчитать входной растр, используется метод билинейной интерполяции. Например, входной растр может быть пересчитан, когда выходные система координат, экстент или размер ячеек отличаются от входных.
Параметры
arcpy.ddd.Visibility(in_raster, in_observer_features, out_raster, {out_agl_raster}, {analysis_type}, {nonvisible_cell_value}, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {outer_radius}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle})
Имя | Описание | Тип данных |
in_raster | Входной растр поверхности. | Raster Layer |
in_observer_features | Класс пространственных объектов, который определяет местоположения наблюдателей. Входными данными могут быть точечные или полилинейные объекты. | Feature Layer |
out_raster | Выходной растр. В выходных данных будет записано либо число, соответствующее числу точек наблюдения, из которых можно видеть каждую точку на входном растре (тип анализа FREQUENCY), либо местоположения наблюдателей, видимые из каждой ячейки растровой поверхности (опция OBSERVERS). | Raster Dataset |
out_agl_raster (Дополнительный) | Выходной растр над уровнем поверхности (AGL). AGL создает растр, в котором значение каждой ячейки является минимальной высотой, которая должна быть добавлена к невидимой ячейке, чтобы сделать ее видимой хотя бы для одного наблюдателя. Ячейки, которые уже были видны, в выходном растре будут иметь значение 0. | Raster Dataset |
analysis_type (Дополнительный) | Тип анализа видимости.
| String |
nonvisible_cell_value (Дополнительный) | Значение, присваиваемое невидимым ячейкам.
| Boolean |
z_factor (Дополнительный) | Количество наземных единиц измерения координат x,y в одной единице измерения z-значения поверхности. Коэффициент z приводит в соответствие единицы измерения z-значений в том случае, если они отличаются от единиц измерения координат x,y входной поверхности. При вычислении результирующей выходной поверхности z-значения входной поверхности умножаются на коэффициент по z. Если координаты x,y и z-значения приведены в одной и той же системе координат, коэффициент z равен 1. Это значение по умолчанию Если координаты x,y и z-значения приведены в отличающихся единицах измерения, для коэффициента по z должно быть задано соответствующее значение, или же результаты будут некорректными. Например, если единицы измерения для z-значений – футы, а координаты x,y приведены в метрах, для преобразования z-значений из футов в метры вы должны использовать z-коэффициент, равный 0,3048 (1 фут = 0,3048 метра). | Double |
curvature_correction (Дополнительный) | Определяет, будет ли применяться поправка на кривизну земли.
| Boolean |
refractivity_coefficient (Дополнительный) | Коэффициент преломления видимого света в воздухе. Значение, предлагаемое по умолчанию, равно 0,13. | Double |
surface_offset (Дополнительный) | Расстояние по вертикали, которое будет добавлено к z-значению каждой ячейки, поскольку оно учитывается в видимости. Это должно быть положительное целочисленное значение или значение с плавающей запятой. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле OFFSETB, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если для этого параметра не задано значение и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0. | Double; Field |
observer_elevation (Дополнительный) | Высоты поверхности точек или вершин наблюдателя. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле SPOT, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, значение будет вычисляться с помощью билинейной интерполяции значений высот ячеек, окружающих точку наблюдения. | Double; Field |
observer_offset (Дополнительный) | Расстояние по вертикали, которое будет добавлено к высоте наблюдателя. Это должно быть положительное целочисленное значение или значение с плавающей запятой. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле OFFSETA, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 1. | Double; Field |
inner_radius (Дополнительный) | Начальное расстояние, с которого определяется видимость. Ячейки, расположенные ближе этого расстояния будут невидимыми на выходном растре, но могут при этом блокировать видимость ячеек, расположенных между внутренним и внешним радиусом. Это может быть положительное или отрицательное целочисленное значение или значение с плавающей точкой. Если это положительное значение, оно интерпретируется как трехмерное расстояние по линии взгляда. Если это отрицательное значение, оно интерпретируется как двухмерное планиметрическое расстояние. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле RADIUS1, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если для этого параметра не задано значение и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0. | Double; Field |
outer_radius (Дополнительный) | Максимальное расстояние, с которого определяется видимость. Ячейки за пределами этого радиуса исключаются из анализа. Это может быть положительное или отрицательное целочисленное значение или значение с плавающей точкой. Если это положительное значение, оно интерпретируется как трехмерное расстояние по линии взгляда. Если это отрицательное значение, оно интерпретируется как двухмерное планиметрическое расстояние. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле RADIUS2, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение бесконечности. | Double; Field |
horizontal_start_angle (Дополнительный) | Начальный угол диапазона сканирования по горизонтали. Укажите значение в градусах от 0 до 360, где значение 0 ориентировано на север. Значение может быть целочисленным или с плавающей точкой. По умолчанию значение равно 0. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле AZIMUTH1, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если для этого параметра не задано значение и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 0. | Double; Field |
horizontal_end_angle (Дополнительный) | Конечный угол диапазона сканирования по горизонтали. Укажите значение в градусах от 0 до 360, где значение 0 ориентировано на север. Значение может быть целочисленным или с плавающей точкой. Значение, предлагаемое по умолчанию, равно 360. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле AZIMUTH2, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 360. | Double; Field |
vertical_upper_angle (Дополнительный) | Предел верхнего угла по вертикали для сканирования по отношению к горизонтальной плоскости. Укажите значение в градусах от -90 и до 90 (крайнее значение включено). Значение может быть целочисленным или с плавающей точкой. Значение по умолчанию - 90 (прямо вверх). Значение этого параметра должно быть больше, чем значение параметра Вертикальный нижний угол. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле VERT1, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение 90. | Double; Field |
vertical_lower_angle (Дополнительный) | Предел нижнего угла по вертикали для сканирования по отношению к горизонтальной плоскости. Укажите значение в градусах от -90 и до 90 (крайнее значение включено). Значение может быть целочисленным или с плавающей точкой. Значение по умолчанию: -90 (прямо вниз) Значение этого параметра должно быть меньше, чем значение параметра Вертикальный верхний угол. Вы можете выбрать поле во входном наборе данных объектов - наблюдателей или указать числовое значение. По умолчанию используется числовое поле VERT2, если оно есть в атрибутивной таблице входных объектов-наблюдателей. Вы можете перезаписать его, указав другое числовое поле или значение. Если этот параметр не задан и поле по умолчанию отсутствует в атрибутивной таблице входных объектов-наблюдателей, используется значение -90. | Double; Field |
Пример кода
В этом примере определяются местоположения поверхности, видимые для набора наблюдателей, заданного с помощью шейп-файла.
import arcpy
from arcpy import env
env.workspace = "c:/data"
arcpy.Visibility_3d("elevation", "observers.shp", "c:/output/visiout1",
"c:/output/aglout1", "FREQUENCY", "NODATA", "1",
"CURVED_EARTH", "0.13", "OFFSETB", "SPOT", "OFFSETA",
"RADIUS1", "RADIUS2", "AZIMUTH1", "AZIMUTH2",
"VERT1", "VERT2")
В этом примере определяется, какие точки наблюдения являются видимыми из каждого местоположения поверхности.
# Name: Viewshed_3d_Ex_02.py
# Description: Determines the raster surface locations visible
# to a set of observer features.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "c:/data"
# set local variables
inRaster = "elevation"
inObserverFeatures = "observers.shp"
outRaster = "c:/output/visiout1"
aglOutput = "c:/output/aglout1"
analysisType = "OBSERVERS"
nonVisibleValue = "ZERO"
zFactor = 1
useEarthCurvature = "CURVED_EARTH"
refractivityCoefficient = 0.13
surfaceOffset = 500
observerElevation = 2000
observerOffset = 500
innerRadius = 20000
outerRadius = 100000
horizStartAngle = 45
horizEndAngle = 215
vertUpperAngle = 5
vertLowerAngle = -5
# Execute Visibility
arcpy.ddd.Visibility(inRaster, inObserverFeatures, outRaster, algOutput,
analysisType, nonVisibleValue, zFactor, useEarthCurvature,
refractivityCoefficient, surfaceOffset, observerElevation,
observerOffset, innerRadius, outerRadius, horizStartAngle,
horizEndAngle, vertUpperAngle, vertLowerAngle)
Параметры среды
Информация о лицензиях
- Basic: Обязательно 3D Analyst или Spatial Analyst
- Standard: Обязательно 3D Analyst или Spatial Analyst
- Advanced: Обязательно 3D Analyst или Spatial Analyst