根据给定的参数,计算指定源和目标点之间的最少耗费路径。已过时。使用CostPathLine替代。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
[ObsoleteAttribute] [EditorBrowsableAttribute(EditorBrowsableState.Never)] public static CostPathLineResult CostPathLine( Point2D sourcePoint, Point2D targetPoint, DatasetGrid costGrid, SmoothMethod smoothMethod, int smoothDegree, Datasource targetDatasource, string targetDatasetName ) |
参数
- sourcePoint
- Type: SuperMap.Data..::.Point2D
指定的源点。
- targetPoint
- Type: SuperMap.Data..::.Point2D
指定的目标点。
- costGrid
- Type: SuperMap.Data..::.DatasetGrid
指定的耗费栅格。耗费栅格用于确定经过每个单元格所需的成本。详见 DistanceAnalyst 类的介绍。
- smoothMethod
- Type: SuperMap.Analyst.SpatialAnalyst..::.SmoothMethod
指定的对最少耗费路径进行光滑处理所使用的光滑方法。
- smoothDegree
- Type: System..::.Int32
指定的光滑度。光滑度的取值与光滑方法有关,具体内容可参阅 ConversionAnalystParameter 类的 SmoothDegree 属性。
- targetDatasource
- Type: SuperMap.Data..::.Datasource
指定的用于存储结果数据集的数据源。
- targetDatasetName
- Type: System..::.String
指定的最短耗费路径结果所在的数据集的名称。
返回值
最短路径分析结果。备注
如下图所示,以对 DEM 栅格计算坡度后重分级的结果栅格作为耗费栅格,指定两点分别作为源点和目标点,进行两点间栅格最短路径分析,得到两点间的最少耗费路线:
示例
以下代码示范了如何实现距离栅格最短路径分析。示例中通过指定源点、目标点以及耗费栅格,计算两点之间的最少耗费线路。
CopyC#
private void CostPathLineAnalyst(Point2D sourcePoint, Point2D targetPoint, DatasetGrid costGrid, Datasource targetDatasource) { //设置结果数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除 String outputDatasetName = "costPathLineDataset"; if (targetDatasource.Datasets.Contains(outputDatasetName)) { targetDatasource.Datasets.Delete(outputDatasetName); } //调用CostPathLine()方法进行距离栅格最短路径分析,并获取距离栅格最短路径分析结果对象 CostPathLineResult result = DistanceAnalyst.CostPathLine(sourcePoint, targetPoint, costGrid, SmoothMethod.None, 0, targetDatasource, outputDatasetName); //从距离栅格最短路径分析结果对象中提取结果 Double cost = result.Cost; DatasetVector costPathLineDataset = result.CostPathLineDataset; }