计算两点间的通视线,即根据地形计算观察点到目标点的视线上的可视部分和不可视部分。

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

语法

C#
public static GeoLine[] LineOfSight(
	DatasetGrid sourceDataset,
	Point3D fromPoint,
	Point3D toPoint
)

参数

sourceDataset
Type: SuperMap.Data..::.DatasetGrid
指定的栅格表面数据集。
fromPoint
Type: SuperMap.Data..::.Point3D
指定的观察点,是一个三维点对象。
toPoint
Type: SuperMap.Data..::.Point3D
指定的目标点,是一个三维点对象。

返回值

结果通视线,是一个二维线数组。数组含义见备注。

备注

依据地形的起伏,计算从观察点看向目标点的视线上哪些段可视或不可视,称为计算两点间的通视线。观察点与目标点间的这条线称为通视线。通视线可以帮助了解在给定点能够看到哪些位置,可服务于旅游线路规划、雷达站或信号发射站的选址,以及布设阵地、观察哨所设置等军事活动。

观察点和目标点的高程由其 Z 值确定。当观察点或目标点的 Z 值小于栅格表面上对应单元格的高程值时,则使用该单元格的栅格值作为观察点或目标点的高程来计算通视线。

计算两点间通视线的结果为一个二维线对象数组,该数组的第 0 个元素为可视线对象,第 1 个元素为不可视线对象。该数组的长度可能为 1 或 2,这是因为不可视线对象有可能不存在,此时结果数组只包含一个对象,即可视线对象。由于可视线(或不可视线)可能不连续,因此可视线或不可视线对象有可能是复杂线对象。

请参见