根据距离栅格和方向栅格,分析从目标点出发到达最近源的最短路径(一个二维矢量线对象)。
命名空间:
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 的单元格。源可以是一个,也可以有多个。当有多个源时,最短路径是目标点到达其最近的源的路径。
下图为源、表面栅格、耗费栅格和目标点,其中耗费栅格是对表面栅格计算坡度后重分级的结果。
使用如上图所示的源和表面栅格生成表面距离栅格和表面方向栅格,然后计算目标点到最近源的最短表面距离路径;使用源和耗费栅格生成耗费距离栅格和耗费方向栅格,然后计算目标点到最近源的最小耗费路径。得到的结果路径如下图所示: