根据给定的参数,计算指定源和目标点之间的最少耗费路径。已过时。使用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;
}

请参见