类 DistanceAnalystParameter
- java.lang.Object
-
- com.supermap.mobjects.common.DistanceAnalystParameter
-
public class DistanceAnalystParameter extends Object
距离栅格分析参数类。该类为生成距离栅格、计算两点间最短路径等距离栅格分析功能提供参数设置。该类主要为 DistanceAnalyst 类的生成直线距离栅格(
straightDistance
方法)、生成耗费距离栅格(costDistance
方法)、生成表面距离栅格(surfaceDistance
方法)和计算两点间最短路径(costPathLine
、surfacePathLine
方法)提供参数设置,下表列出了各功能对应的必设参数和可选参数。说明:
① 如果未设置结果数据源,系统会首先检查栅格分析环境中是否设置了输出数据源,如果有则存储到该数据源;如果没有,则将输入数据所在的数据源作为输出数据源。
-
-
构造器概要
构造器 构造器和说明 DistanceAnalystParameter()
默认构造函数,构造一个新的 DistanceAnalystParameter 对象。DistanceAnalystParameter(DistanceAnalystParameter parameter)
拷贝构造函数,根据给定的 DistanceAnalystParameter 对象构造一个与其完全相同的新对象。
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 Datasource
getAllocationDatasource()
String
getAllocationGridName()
返回分配栅格数据集的名称。DatasetVector
getBarrierRegion()
返回障碍面。double
getCellSize()
返回结果数据集的分辨率,是生成距离栅格的可选参数。DatasetGrid
getCostGrid()
返回耗费栅格。Datasource
getDirectionDatasource()
String
getDirectionGridName()
返回方向栅格数据集的名称。Datasource
getDistanceDatasource()
已过时。String
getDistanceGridName()
返回距离栅格数据集的名称。double
getMaxDistance()
返回生成距离栅格的最大距离,大于该距离的栅格其计算结果取无值。double
getMaxDownslopeDegree()
返回最大下坡角度。double
getMaxUpslopeDegree()
返回最大上坡角度。Datasource
getOutputDatasource()
已过时。int
getPathLineSmoothDegree()
返回计算两点(源和目标)间最短路径时对结果路线进行光滑的光滑度。SmoothMethod
getPathLineSmoothMethod()
返回计算两点(源和目标)间最短路径时对结果路线进行光滑的方法。Dataset
getSourceDataset()
返回用于生成距离栅格的源数据集。DatasetGrid
getSurfaceGrid()
返回表面栅格。Datasource
getTargetDatasource()
返回用于存储结果数据集的数据源。void
setAllocationDatasource(Datasource allocationDatasource)
void
setAllocationGridName(String allocationGridName)
设置分配栅格数据集的名称,是生成距离栅格的可选参数。void
setBarrierRegion(DatasetVector value)
设置障碍面。void
setCellSize(double cellSize)
设置结果数据集的分辨率,是生成距离栅格的可选参数。void
setCostGrid(DatasetGrid costGrid)
设置耗费栅格。void
setDirectionDatasource(Datasource directionDatasource)
void
setDirectionGridName(String directionGridName)
设置方向栅格数据集的名称,是生成距离栅格的可选参数。void
setDistanceDatasource(Datasource distanceDatasource)
已过时。void
setDistanceGridName(String distanceGridName)
设置距离栅格数据集的名称,是生成距离栅格的必设参数。void
setMaxDistance(double maxDistance)
设置生成距离栅格的最大距离,大于该距离的栅格其计算结果取无值。void
setMaxDownslopeDegree(double value)
设置最大下坡角度。void
setMaxUpslopeDegree(double value)
设置最大上坡角度。void
setOutputDatasource(Datasource outputDatasource)
已过时。void
setPathLineSmoothDegree(int value)
设置计算两点(源和目标)间最短路径时对结果路线进行光滑的光滑度。void
setPathLineSmoothMethod(SmoothMethod value)
设置计算两点(源和目标)间最短路径时对结果路线进行光滑的方法。void
setSourceDataset(Dataset sourceDataset)
设置用于生成距离栅格的源数据集。void
setSurfaceGrid(DatasetGrid surfaceGrid)
设置表面栅格。void
setTargetDatasource(Datasource targetDatasource)
设置用于存储结果数据集的数据源。
-
-
-
构造器详细资料
-
DistanceAnalystParameter
public DistanceAnalystParameter()
默认构造函数,构造一个新的 DistanceAnalystParameter 对象。
-
DistanceAnalystParameter
public DistanceAnalystParameter(DistanceAnalystParameter parameter)
拷贝构造函数,根据给定的 DistanceAnalystParameter 对象构造一个与其完全相同的新对象。- 参数:
parameter
- 给定的 DistanceAnalystParameter 对象。
-
-
方法详细资料
-
getMaxDistance
public double getMaxDistance()
返回生成距离栅格的最大距离,大于该距离的栅格其计算结果取无值。若某个栅格单元格 A 到最近源之间的最短距离大于该值,则结果数据集中该栅格的值取无值。
- 返回:
- 生成距离栅格的最大距离。
- 默认值:
- 默认值为-1,表示不受距离限制。
-
setMaxDistance
public void setMaxDistance(double maxDistance)
设置生成距离栅格的最大距离,大于该距离的栅格其计算结果取无值。若某个栅格单元格 A 到最近源之间的最短距离大于设置的值,则结果数据集中该栅格的值取无值。
- 参数:
maxDistance
- 生成距离栅格的最大距离。
-
getCellSize
public double getCellSize()
返回结果数据集的分辨率,是生成距离栅格的可选参数。- 返回:
- 结果数据集的分辨率。
- 默认值:
当源为矢量时,默认分辨率为 L/500,其中 L 是指源数据集的区域范围对应的矩形的对角线长度;
当源为栅格时,对于生成直线距离栅格,默认分辨率与源栅格相同;对于生成耗费距离栅格,默认分辨率与耗费栅格相同;对于生成表面距离栅格,默认分辨率与表面栅格相同。
-
setCellSize
public void setCellSize(double cellSize)
设置结果数据集的分辨率,是生成距离栅格的可选参数。- 参数:
cellSize
- 生成的结果数据集的分辨率。
-
getSourceDataset
public Dataset getSourceDataset()
返回用于生成距离栅格的源数据集。- 返回:
- 用于生成距离栅格的源数据集。
-
setSourceDataset
public void setSourceDataset(Dataset sourceDataset)
设置用于生成距离栅格的源数据集。源是指感兴趣的研究对象或地物,如学校、道路或消防栓等。包含源的数据集,即为源数据集。源数据集可以为点、线、面数据集,也可以为栅格数据集,栅格数据集中具有有效值的栅格为源,对于无值则视为该位置没有源。
- 参数:
sourceDataset
- 用于生成距离栅格的源数据集。
-
getCostGrid
public DatasetGrid getCostGrid()
返回耗费栅格。- 返回:
- 耗费数据集。
-
setCostGrid
public void setCostGrid(DatasetGrid costGrid)
设置耗费栅格。其栅格值不能为负值。只在生成耗费距离栅格(costDistance
方法)和计算两点间最小耗费路径(costPathLine
方法)时有效。该数据集为一个栅格数据集,每个单元格的值表示经过此单元格时的单位耗费。详见
DistanceAnalyst
类的介绍。- 参数:
costGrid
- 耗费数据集。- 抛出:
IllegalArgumentException
- 当调用costDistance
、costPathLine
方法时,如果此对象为 null
-
getSurfaceGrid
public DatasetGrid getSurfaceGrid()
返回表面栅格。- 返回:
- DEM 栅格。
-
setSurfaceGrid
public void setSurfaceGrid(DatasetGrid surfaceGrid)
设置表面栅格。只在生成表面距离栅格(surfaceDistance
方法)和计算两点间最短表面距离路径(surfacePathLine
方法)时有效。- 参数:
surfaceGrid
- DEM 栅格。- 抛出:
NullPointerException
- 当调用surfaceDistance
、surfacePathLine
方法时,如果此对象为 null
-
getDistanceDatasource
@Deprecated public Datasource getDistanceDatasource()
已过时。
-
setDistanceDatasource
@Deprecated public void setDistanceDatasource(Datasource distanceDatasource)
已过时。
-
getDirectionDatasource
public Datasource getDirectionDatasource()
-
setDirectionDatasource
public void setDirectionDatasource(Datasource directionDatasource)
-
getAllocationDatasource
public Datasource getAllocationDatasource()
-
setAllocationDatasource
public void setAllocationDatasource(Datasource allocationDatasource)
-
getOutputDatasource
@Deprecated public Datasource getOutputDatasource()
已过时。
-
setOutputDatasource
@Deprecated public void setOutputDatasource(Datasource outputDatasource)
已过时。
-
getTargetDatasource
public Datasource getTargetDatasource()
返回用于存储结果数据集的数据源。- 返回:
- 用于存储结果数据集的数据源。
-
setTargetDatasource
public void setTargetDatasource(Datasource targetDatasource)
设置用于存储结果数据集的数据源。生成距离栅格时通过该方法设置目标数据源。如果未设置输出数据源,系统首先会检查是否设置了栅格分析环境,若分析环境中指定了输出数据源,则结果数据集将存储到该数据源中;如果未设置分析环境或分析环境中未设置输出数据源,则对于生成距离栅格,结果数据源将存储到源数据集所在的数据源中。
- 参数:
targetDatasource
- 用于存储结果数据集的数据源。
-
getDistanceGridName
public String getDistanceGridName()
返回距离栅格数据集的名称。- 返回:
- 距离栅格数据集的名称。
-
setDistanceGridName
public void setDistanceGridName(String distanceGridName)
设置距离栅格数据集的名称,是生成距离栅格的必设参数。- 参数:
distanceGridName
- 距离栅格数据集的名称。- 抛出:
IllegalArgumentException
- 当调用straightDistance
、costDistance
或surfaceDistance
方法时,如果此对象为 null
-
getDirectionGridName
public String getDirectionGridName()
返回方向栅格数据集的名称。- 返回:
- 方向栅格数据集的名称。
-
setDirectionGridName
public void setDirectionGridName(String directionGridName)
设置方向栅格数据集的名称,是生成距离栅格的可选参数。如果未指定方向栅格数据集的名称,则不生成相应的方向栅格数据集。- 参数:
directionGridName
- 方向栅格数据集的名称。
-
getAllocationGridName
public String getAllocationGridName()
返回分配栅格数据集的名称。- 返回:
- 分配栅格数据集的名称。
-
setAllocationGridName
public void setAllocationGridName(String allocationGridName)
设置分配栅格数据集的名称,是生成距离栅格的可选参数。如果未指定分配栅格数据集的名称,则不生成相应的分配栅格数据集。- 参数:
allocationGridName
- 分配栅格数据集的名称。
-
getMaxUpslopeDegree
public double getMaxUpslopeDegree()
返回最大上坡角度。单位为度,取值范围为大于或等于0。只在生成表面距离栅格(surfaceDistance
方法)和计算两点间最短表面距离路径(surfacePathLine
方法)时有效。- 返回:
- 最大上坡角度。
- 默认值:
- 默认值为 90 度,即不考虑上坡角度。
-
setMaxUpslopeDegree
public void setMaxUpslopeDegree(double value)
设置最大上坡角度。单位为度,取值范围为大于或等于0。只在生成表面距离栅格(surfaceDistance
方法)和计算两点间最短表面距离路径(surfacePathLine
方法)时有效。如果指定了最大上坡角度,则选择路线的时候会考虑地形的上坡的角度。从当前单元格行进到下一个高程更高的单元格为上坡,上坡角度即上坡方向与水平面的夹角。如果上坡角度大于给定值,则不会考虑此行进方向,即给出的路线不会经过上坡角度大于该值的区域。可想而知,可能会因为该值的设置而导致没有符合条件的路线。此外,由于坡度的表示范围为0到90度,因此,虽然可以指定为一个大于90度的值,但产生的效果与指定为90度相同,即不考虑上坡角度。
- 参数:
value
- 最大上坡角度。- 抛出:
IllegalArgumentException
- 如果指定为一个小于 0 的值
-
getMaxDownslopeDegree
public double getMaxDownslopeDegree()
返回最大下坡角度。单位为度,取值范围为大于或等于0。只在生成表面距离栅格(surfaceDistance
方法)和计算两点间最短表面距离路径(surfacePathLine
方法)时有效。- 返回:
- 计算两点(源和目标)间最短路径时的最大下坡角度。
- 默认值:
- 默认值为 90 度,即不考虑下坡角度。
-
setMaxDownslopeDegree
public void setMaxDownslopeDegree(double value)
设置最大下坡角度。单位为度,取值范围为大于或等于0。只在生成表面距离栅格(surfaceDistance
方法)和计算两点间最短表面距离路径(surfacePathLine
方法)时有效。如果指定了最大下坡角度,则选择路线的时候会考虑地形的下坡的角度。从当前单元格行进到下一个高程小于当前高程的单元格为下坡,下坡角度即下坡方向与水平面的夹角。如果下坡角度大于给定值,则不会考虑此行进方向,即给出的路线不会经过下坡角度大于该值的区域。可想而知,可能会因为该值的设置而导致没有符合条件的路线。此外,由于坡度的表示范围为0到90度,因此,虽然可以指定为一个大于90度的值,但产生的效果与指定为90度相同,即不考虑下坡角度。
- 参数:
value
- 最大下坡角度。- 抛出:
IllegalArgumentException
- 如果指定为一个小于 0 的值
-
getPathLineSmoothMethod
public SmoothMethod getPathLineSmoothMethod()
返回计算两点(源和目标)间最短路径时对结果路线进行光滑的方法。- 返回:
- 计算两点(源和目标)间最短路径时对结果路线进行光滑的方法。
- 默认值:
- 默认值为
SmoothMethod.NONE
,即不进行光滑。
-
setPathLineSmoothMethod
public void setPathLineSmoothMethod(SmoothMethod value)
设置计算两点(源和目标)间最短路径时对结果路线进行光滑的方法。- 参数:
value
- 计算两点(源和目标)间最短路径时对结果路线进行光滑的方法。
-
getPathLineSmoothDegree
public int getPathLineSmoothDegree()
返回计算两点(源和目标)间最短路径时对结果路线进行光滑的光滑度。- 返回:
- 计算两点(源和目标)间最短路径时对结果路线进行光滑的光滑度。
- 默认值:
- 默认值为 0。
-
setPathLineSmoothDegree
public void setPathLineSmoothDegree(int value)
设置计算两点(源和目标)间最短路径时对结果路线进行光滑的光滑度。当setPathLineSmoothMethod
方法设置为SmoothMethod.NONE
以外的值时才有效。光滑度的取值与光滑方法有关,具体内容可参阅 ConversionAnalystParameter 类的
setSmoothDegree
方法。- 参数:
value
- 计算两点(源和目标)间最短路径时对结果路线进行光滑的光滑度。
-
getBarrierRegion
public DatasetVector getBarrierRegion()
返回障碍面。- 返回:
- 障碍面数据集。
-
setBarrierRegion
public void setBarrierRegion(DatasetVector value)
设置障碍面。在计算两点间最短路径时使用,分析时将绕过该障碍面。- 参数:
value
- 障碍面数据集。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.