单点可视域分析,即分析单个观察点的可视范围。

命名空间:  SuperMap.Analyst.SpatialAnalyst
程序集:  SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll

语法

C#
public static DatasetGrid CalculateViewShed(
	DatasetGrid sourceDataset,
	Point3D viewPoint,
	double startAngle,
	double viewAngle,
	double viewRadius,
	Datasource targetDatasource,
	string targetDatasetName
)

参数

sourceDataset
Type: SuperMap.Data..::.DatasetGrid
viewPoint
Type: SuperMap.Data..::.Point3D
指定的观察点。
startAngle
Type: System..::.Double
指定的起始观察角度,单位为度,以正北方向为 0 度,顺时针方向旋转。指定为负值或大于 360 度,将自动换算到 0 到 360 度范围内。
viewAngle
Type: System..::.Double
指定的观察角度,单位为度,最大值为 360 度。观察角度基于起始角度,即观察角度范围为 [起始角度,起始角度+观察角度]。例如起始角度为 90 度,观察角度为 90 度,那么实际观察的角度范围是从 90 度到 180 度。但注意,当指定为 0 或负值时,无论起始角度为何值,观察角度范围都为 0 到 360 度。
viewRadius
Type: System..::.Double
指定的观测半径。该值限制了视野范围的大小。观测半径小于等于 0 时,表示无限制。单位为米。
targetDatasource
Type: SuperMap.Data..::.Datasource
指定的可视域分析结果保存的数据源。
targetDatasetName
Type: System..::.String
指定的可视域分析结果保存的数据集名称。

返回值

单点可视域分析结果数据集。

备注

单点可视域分析是在栅格表面数据集上,对于给定的一个观察点,查找其在给定的范围内(由观察半径、观察角度决定)所能观察到的区域,也就是给定点的通视区域范围。分析的结果为一个栅格数据集,其中可视区域保持原始栅格表面的栅格值,其他区域为无值。

如下图所示,图中绿色的点为观察点,叠加在原始栅格表面上的蓝色区域即为对其进行可视域分析的结果。

注意:如果指定的观察点的高程小于当前栅格表面对应位置的高程值,则观察点的高程值将被自动设置为当前栅格表面的对应位置的高程。

请参见