根据距离栅格和方向栅格,分析从目标点出发到达最近源的最短路径(一个二维矢量线对象)。

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

语法

C#
public static PathLineResult PathLine(
	Point2D targetPoint,
	DatasetGrid distanceDataset,
	DatasetGrid directionDataset,
	SmoothMethod smoothMethod,
	int smoothDegree
)

参数

targetPoint
Type: SuperMap.Data..::.Point2D
指定的目标点。
distanceDataset
Type: SuperMap.Data..::.DatasetGrid
指定的距离栅格。可以是耗费距离栅格或表面距离栅格。
directionDataset
Type: SuperMap.Data..::.DatasetGrid
指定的方向栅格。与距离栅格对应,可以是耗费方向栅格或表面方向栅格。
smoothMethod
Type: SuperMap.Analyst.SpatialAnalyst..::.SmoothMethod
指定的对最短路径进行光滑处理所使用的光滑方法。
smoothDegree
Type: System..::.Int32
指定的光滑度。光滑度的取值与光滑方法有关,具体内容可参阅 ConversionAnalystParameter 类的 SmoothDegree 属性。

返回值

最短路径分析结果。

备注

该方法根据距离栅格和方向栅格,分析给定的目标点到达最近源的最短路径。其中距离栅格和方向栅格可以是耗费距离栅格和耗费方向栅格,也可以是表面距离栅格和表面方向栅格。

  • 当距离栅格为耗费距离栅格,方向栅格为耗费方向栅格时,该方法计算得出的是最小耗费路径。耗费距离栅格和耗费方向栅格可以通过 CostDistance 方法生成。注意,此方法要求二者是同一次生成的结果。
  • 当距离栅格为表面距离栅格,方向栅格为表面方向栅格时,该方法计算得出的是最短表面距离路径。表面距离栅格和表面方向栅格可以通过 SurfaceDistance 方法生成。同样,此方法要求二者是同一次生成的结果。

源的位置在距离栅格和方向栅格中能够体现出来,即栅格值为 0 的单元格。源可以是一个,也可以有多个。当有多个源时,最短路径是目标点到达其最近的源的路径。

下图为源、表面栅格、耗费栅格和目标点,其中耗费栅格是对表面栅格计算坡度后重分级的结果。

使用如上图所示的源和表面栅格生成表面距离栅格和表面方向栅格,然后计算目标点到最近源的最短表面距离路径;使用源和耗费栅格生成耗费距离栅格和耗费方向栅格,然后计算目标点到最近源的最小耗费路径。得到的结果路径如下图所示:

请参见