计算两点间的通视线,即根据地形计算观察点到目标点的视线上的可视部分和不可视部分。
命名空间:
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,这是因为不可视线对象有可能不存在,此时结果数组只包含一个对象,即可视线对象。由于可视线(或不可视线)可能不连续,因此可视线或不可视线对象有可能是复杂线对象。