单点可视域分析,即分析单个观察点的可视范围。
命名空间:
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
指定的可视域分析结果保存的数据集名称。
返回值
单点可视域分析结果数据集。备注
单点可视域分析是在栅格表面数据集上,对于给定的一个观察点,查找其在给定的范围内(由观察半径、观察角度决定)所能观察到的区域,也就是给定点的通视区域范围。分析的结果为一个栅格数据集,其中可视区域保持原始栅格表面的栅格值,其他区域为无值。
如下图所示,图中绿色的点为观察点,叠加在原始栅格表面上的蓝色区域即为对其进行可视域分析的结果。
注意:如果指定的观察点的高程小于当前栅格表面对应位置的高程值,则观察点的高程值将被自动设置为当前栅格表面的对应位置的高程。