gdal_viewshed
3.1.0 新版功能.
使用中定义的方法从输入栅格DEM计算可见栅格 [Wang2000] 对于用户定义的点。
简介
gdal_viewshed [-b <band>]
[-a_nodata <value>] [-f <formatname>]
[-oz <observer_height>] [-tz <target_height>] [-md <max_distance>]
-ox <observer_x> -oy <observer_y>
[-vv <visibility>] [-iv <invisibility>]
[-ov <out_of_range>] [-cc <curvature_coef>]
[[-co NAME=VALUE] ...]
[-q] [-om <output mode>]
<src_filename> <dst_filename>
描述
默认情况下 gdal_viewshed 从输入栅格高程模型(DEM)的一个标注栏生成二进制可见性栅格。输出栅格的类型为Byte。使用-mode标志还可以返回Float64类型的最小可见高度栅格。
备注
当前实现的算法仅在地理参考位于投影坐标系中时才会输出有意义的结果。
- -co <NAME=VALUE>
许多格式都有一个或多个可选的创建选项,可用于控制所创建文件的详细信息。例如,GeoTIFF驱动程序支持创建选项来控制压缩,以及是否应该平铺文件。
可用的创建选项因格式驱动程序而异,有些简单格式根本没有创建选项。格式支持的选项列表可以与 --formats 命令行选项,但该格式的文档是有关驱动程序创建选项的最终信息源。见 栅格驱动器 每种格式的法律创建选项的特定格式文档。
- -b <band>
选择输入波段 band 包含DEM数据。乐队从1开始编号。只能使用一个波段。仅处理观察点周围指定最大距离内的栅格部分。
- -a_nodata <value>
为输出栅格中没有数据的单元格设置的值。
备注
目前,没有对nodata值的输入单元进行特殊处理(这可能会导致错误的结果)。
- -ox <value>
观察者的X位置(以SRS单位表示)。
- -oy <value>
观察者的Y位置(以SRS为单位)。
- -oz <value>
以DEM高度单位表示的观察者在DEM表面上方的高度。默认值:2
- -tz <value>
以DEM高度单位表示的目标在DEM表面上方的高度。默认值:0
- -md <value>
从观察者到计算可见性的最大距离。它还用于钳制输出栅格的范围。
- -cc <value>
考虑曲率和折射影响的系数。在计算两点(即视线或视窗)之间的能见度时,这种影响的大小随大气条件而变化,并取决于波长。
计算能见度的不同应用程序使用不同的可互换符号来描述这种现象:折射系数、曲率系数和球体直径因子。gdalèu viewshed使用曲率系数表示法。
\[{curvecoeff}=1-{RefractionCoeff}\]空气密度的变化使光线向下弯曲,使观测者看得更远,地球看起来不那么弯曲,好像球体(地球)的直径比实际直径大。假想球体直径与实际球体直径之间的比率由公式给出:
\[{SphereDiameterFactor}=1/{curvecoeff}=1/(1-{RefractionCoeff})\]For visible light, the standard atmospheric refraction coefficient that is generally used is 1/7. Thus the default value (since GDAL 3.4) for CurvCoeff that gdal_viewshed uses is 0.85714 (=~ 1-1/7).
DEM的高度根据以下公式进行校正:
\[高度{Corrected}=高度{DEM}-{curvecoeff}\frac{{TargetDistance}^2}{SphereDiameter}\]下表给出了典型的系数值(cc选项使用曲率系数值)
用例
折射系数
曲率系数
球径系数
无折射
0
1
1
可见光
1/7
6/7 (=~0.85714)
7/6 (=~1.1666)
无线电波
0.25 ~ 0.325
0.75 ~ 0.675
1.33 ~ 1.48
平地
1
0
因弗
- -iv <value>
为不可见区域设置的像素值。默认值:0
- -ov <value>
为超出观察者位置和最大距离指定范围的单元格设置的像素值。默认值:0
- -vv <value>
为可见区域设置的像素值。默认值:255
- -om <output mode>
设置输出包含的信息。
Possible values: NORMAL, DEM, GROUND
NORMAL returns a raster of type Byte containing visible locations.
DEM和GROUND将返回Float64类型的栅格,其中分别包含从DEM表面或地面可见的目标的最小目标高度。标志-tz、-iv和-vv将被忽略。
Default NORMAL
计算机辅助编程接口
这个实用程序的功能可以通过 GDALViewshedGenerate()
.
例子
使用默认值计算高程栅格数据源的可见性

两个独立的计算可见性 -ox 和 -oy 数字高程模型上的点。
gdal_viewshed -md 500 -ox -10147017 -oy 5108065 source.tif destination.tif
- Wang2000
生成不使用视线的视图。王建军,罗宾逊,加里J.和怀特,凯文。摄影测量工程和遥感。第81页。https://www.asprs.org/wp-content/uploads/pers/2000journal/january/2000_jan_87-90.pdf