Области, видимые с точки на повышении местности сетка
[vis,R] = viewshed(Z,R,lat1,lon1)
viewshed(Z,R,lat1,lon1,observerAltitude)
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude)
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude,
...
observerAltitudeOption)
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude,
...
observerAltidueOption,targetAltitudeOption)
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude,
...
observerAltitudeOption,targetAltitudeOption,actualRadius)
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude,
...
observerAltitudeOption,targetAltitudeOption,
...
actualRadius,effectiveRadius)
[vis,R] = viewshed(Z,R,lat1,lon1)
вычисляет области, видимые из точки на цифровой сетке повышения. Z
- регулярная сетка данных, содержащая повышения в единицах измерения. Расположение наблюдателя обеспечивается как скалярная широта и долгота в единицах степеней. Сетка видимости vis
содержит 1
s в местах расположения поверхности, видимых из местоположения наблюдателя, и 0
s, где линия зрения заслонена местностью. R
может быть географическим объектом растровой привязки, ссылочным вектором или матрицей привязки.
Если R
является географическим объектом растровой привязки, его RasterSize
свойство должно быть согласовано с size(Z)
.
Если R
является вектором-ссылкой, это должен быть вектор 1 на 3 с элементами:
[cells/degree northern_latitude_limit western_longitude_limit]
Если R
является матрицей привязки, она должна быть 3 на 2 и преобразовывать индексы растровой строки и столбца в географические координаты или из них в соответствии с:
[lon lat] = [row col 1] * R
Если R
является матрицей привязки, она должна задать (не вращательную, не искаженную) зависимость, в которой каждый столбец сетки данных падает вдоль меридиана, и каждая строка падает вдоль параллели. Интерполяция по ближайшему соседу используется по умолчанию. NaN возвращается для точек, выходящих за пределы сетки или для которых lat
или lon
содержат NaN. Все углы указаны в единицах степеней.
viewshed(Z,R,lat1,lon1,observerAltitude)
помещает наблюдателя на заданную высоту в метрах над поверхностью. Это эквивалентно помещению наблюдателя на башню. В случае опущения наблюдатель принимается находящимся на поверхности.
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude)
проверяет видимость целевых точек на заданное расстояние над местностью. Это эквивалентно размещению целевых точек на башнях, которые не препятствуют просмотру. Если этот параметр опущен, целевые точки приняты находящимися на поверхности.
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude,
...
управляет, находится ли наблюдатель на относительной или абсолютной высоте. Если на
observerAltitudeOption)observerAltitudeOption
является 'AGL'
, затем observerAltitude
находится в метрах над уровнем земли. Если observerAltitudeOption
является 'MSL'
, observerAltitude
интерпретируется как высота над нулями или средний уровень моря. Если опущено, 'AGL'
принято.
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude,
...
определяет, находятся ли целевые точки на относительной или абсолютной высоте. Если опция целевой высоты
observerAltidueOption,targetAltitudeOption)'AGL'
, а targetAltitude
находится в метрах над уровнем земли. Если targetAltitudeOption
является 'MSL'
, targetAltitude
интерпретируется как высота над нулями или средний уровень моря. Если опущено, 'AGL'
принято.
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude,
...
выполняет вычисление видимости сферы с заданным радиусом. В случае опущения принимается радиус земли в метрах. Высоты, повышения и радиус должны быть в одном модули. Эта форма вызова наиболее полезна для расчетов на телах, отличных от Земли.
observerAltitudeOption,targetAltitudeOption,actualRadius)
viewshed(Z,R,lat1,lon1,observerAltitude,targetAltitude,
...
принимает больший радиус для распространения линии визирования. Это может объяснить кривизну пути сигнала из-за преломления в атмосфере. Например, распространение радио в атмосфере обычно рассматривается как распространение прямой линии на сфере с радиусом Земли 4/3. В этом случае последние два аргумента будут
observerAltitudeOption,targetAltitudeOption,
...
actualRadius,effectiveRadius)R_e
и 4/3*R_e
, где R_e
- радиус Земли. Использование Inf
для плоских земных viewshed
вычисления. Высоты, повышения и радиусы должны быть одинаковыми по модулям.
Наблюдатель должен располагаться в пределах широты-долготы повышения сетки. Если наблюдатель расположен вне сетки, недостаточно информации для вычисления просматриваемой области. В этом случае viewshed
выдает предупреждение и устанавливает все элементы vis
в нуль.