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