类 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 对象构造一个与其完全相同的新对象。
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 DatasourcegetAllocationDatasource()StringgetAllocationGridName()返回分配栅格数据集的名称。DatasetVectorgetBarrierRegion()返回障碍面。doublegetCellSize()返回结果数据集的分辨率,是生成距离栅格的可选参数。DatasetGridgetCostGrid()返回耗费栅格。DatasourcegetDirectionDatasource()StringgetDirectionGridName()返回方向栅格数据集的名称。DatasourcegetDistanceDatasource()已过时。StringgetDistanceGridName()返回距离栅格数据集的名称。doublegetMaxDistance()返回生成距离栅格的最大距离,大于该距离的栅格其计算结果取无值。doublegetMaxDownslopeDegree()返回最大下坡角度。doublegetMaxUpslopeDegree()返回最大上坡角度。DatasourcegetOutputDatasource()已过时。intgetPathLineSmoothDegree()返回计算两点(源和目标)间最短路径时对结果路线进行光滑的光滑度。SmoothMethodgetPathLineSmoothMethod()返回计算两点(源和目标)间最短路径时对结果路线进行光滑的方法。DatasetgetSourceDataset()返回用于生成距离栅格的源数据集。DatasetGridgetSurfaceGrid()返回表面栅格。DatasourcegetTargetDatasource()返回用于存储结果数据集的数据源。voidsetAllocationDatasource(Datasource allocationDatasource)voidsetAllocationGridName(String allocationGridName)设置分配栅格数据集的名称,是生成距离栅格的可选参数。voidsetBarrierRegion(DatasetVector value)设置障碍面。voidsetCellSize(double cellSize)设置结果数据集的分辨率,是生成距离栅格的可选参数。voidsetCostGrid(DatasetGrid costGrid)设置耗费栅格。voidsetDirectionDatasource(Datasource directionDatasource)voidsetDirectionGridName(String directionGridName)设置方向栅格数据集的名称,是生成距离栅格的可选参数。voidsetDistanceDatasource(Datasource distanceDatasource)已过时。voidsetDistanceGridName(String distanceGridName)设置距离栅格数据集的名称,是生成距离栅格的必设参数。voidsetMaxDistance(double maxDistance)设置生成距离栅格的最大距离,大于该距离的栅格其计算结果取无值。voidsetMaxDownslopeDegree(double value)设置最大下坡角度。voidsetMaxUpslopeDegree(double value)设置最大上坡角度。voidsetOutputDatasource(Datasource outputDatasource)已过时。voidsetPathLineSmoothDegree(int value)设置计算两点(源和目标)间最短路径时对结果路线进行光滑的光滑度。voidsetPathLineSmoothMethod(SmoothMethod value)设置计算两点(源和目标)间最短路径时对结果路线进行光滑的方法。voidsetSourceDataset(Dataset sourceDataset)设置用于生成距离栅格的源数据集。voidsetSurfaceGrid(DatasetGrid surfaceGrid)设置表面栅格。voidsetTargetDatasource(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–2025 SuperMap. All rights reserved.