类 TerrainBuilder
- java.lang.Object
-
- com.supermap.analyst.spatialanalyst.TerrainBuilder
-
public class TerrainBuilder extends Object
地形构建类。该类提供了根据指定的参数构建地形以及对指定范围内DEM数据集高程值进行修改的方法(挖湖)。
-
-
方法概要
所有方法 静态方法 具体方法 已过时的方法 限定符和类型 方法和说明 static void
addSteppedListener(SteppedListener l)
添加一个进度条事件(SteppedEvent
)的监听器。static boolean
buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, double elevation)
static boolean
buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, double elevation, SteppedListener... listeners)
挖湖,即修改面数据集区域范围内的 DEM 数据集的高程值为指定的数值。static boolean
buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, String lakeField)
挖湖,即修改面数据集区域范围内的 DEM 数据集的高程值为指定的字段的值。static boolean
buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, String lakeField, SteppedListener... listeners)
挖湖,即修改面数据集区域范围内的 DEM 数据集的高程值为指定的字段的值。static DatasetGrid
buildTerrain(DatasetVector sourcePointDataset, String altitudePointField, DatasetVector sourceLineDataset, String altitudeLineField, TerrainInterpolateType terrainInterpolateType, TerrainStatisticType terrainStatisticType, double cellSize, double zFactor, PixelFormat pixelFormat, EncodeType enCodeType, Datasource outputDatasource, String outputDatasetName)
已过时。static DatasetGrid
buildTerrain(DatasetVector sourceDatasetVector, String altitudeField, TerrainInterpolateType terrainInterpolateType, TerrainStatisticType terrainStatisticType, double cellSize, double zFactor, PixelFormat pixelFormat, EncodeType enCodeType, Datasource outputDatasource, String outputDatasetName)
已过时。static DatasetGrid
buildTerrain(TerrainBuilderParameter parameter, Datasource targetDatasource, String targetDatasetName)
根据指定的地形构建参数信息创建地形。static DatasetGrid
buildTerrain(TerrainBuilderParameter parameter, Datasource targetDatasource, String targetDatasetName, SteppedListener... listeners)
根据指定的地形构建参数信息创建地形。static void
removeSteppedListener(SteppedListener l)
移除一个进度条事件(SteppedEvent
)的监听器。
-
-
-
方法详细资料
-
buildTerrain
@Deprecated public static DatasetGrid buildTerrain(DatasetVector sourceDatasetVector, String altitudeField, TerrainInterpolateType terrainInterpolateType, TerrainStatisticType terrainStatisticType, double cellSize, double zFactor, PixelFormat pixelFormat, EncodeType enCodeType, Datasource outputDatasource, String outputDatasetName)
已过时。单个数据集的点或线生成DEM 是否处理平坦区域 一般地 对带有等高线的数据处理山顶或山谷的平坦区域的处理能取得较合理的效果 插值方法生成地形栅格- 参数:
sourceDatasetVector
- 用于插值的点或线矢量数据altitudeField
- 点或线的属性字段terrainInterpolateType
- 地形插值方法terrainStatisticType
- 对重复点的处理方式cellSize
- 结果栅格的单元格打下zFactor
- 从点或线中取出属性值时的缩放系数pixelFormat
- 结果栅格的像素格式enCodeType
- 结果编码方式outputDatasource
- 输出数据所在数据源。outputDatasetName
- 输出数据集的名称。- 返回:
- 结果栅格
-
buildTerrain
@Deprecated public static DatasetGrid buildTerrain(DatasetVector sourcePointDataset, String altitudePointField, DatasetVector sourceLineDataset, String altitudeLineField, TerrainInterpolateType terrainInterpolateType, TerrainStatisticType terrainStatisticType, double cellSize, double zFactor, PixelFormat pixelFormat, EncodeType enCodeType, Datasource outputDatasource, String outputDatasetName)
已过时。单个数据的点线联合生成DEM(也可以为点或线) 是否处理平坦区域 一般地 对带有等高线的数据处理山顶或山谷的平坦区域的处理能取得较合理的效果- 参数:
sourcePointDataset
- 用于插值的点矢量数据altitudePointField
- 点的属性字段sourceLineDataset
- 用于插值的线矢量数据altitudeLineField
- 线的属性字段terrainInterpolateType
- 地形插值方法terrainStatisticType
- 对重复点的处理方式cellSize
- 结果栅格的单元格大小zFactor
- 从点或线中取出属性值时的缩放系数pixelFormat
- 结果栅格的像素格式enCodeType
- 结果编码方式outputDatasource
- 输出数据所在数据源。outputDatasetName
- 输出数据集的名称。- 返回:
- 结果栅格
-
buildTerrain
public static DatasetGrid buildTerrain(TerrainBuilderParameter parameter, Datasource targetDatasource, String targetDatasetName)
根据指定的地形构建参数信息创建地形。DEM(Digital Elevation Model,数字高程模型)主要用于描述区域地貌形态的空间分布,是地面特性为高程和海拔高程的数字地面模型(DTM),通常通过高程测量点(或从等高线中进行采样提取高程点)进行数据内插而成。此方法用于构建地形,即对具有高程信息的点或线数据集通过插值生成 DEM 栅格。
该方法的主要参数通过一个
TerrainBuilderParameter
对象来设置,通过不同的参数设置,可以实现三种方式来构建地形。- 通过点数据集(即高程点)构建;
- 通过线数据集(即等高线)构建;
- 通过点数据集(即高程点)和线数据集(即等高线)共同构建。
下表列出了三种不同的地形构建方式,分别需要设置哪些参数,参数的具体含义请参见
TerrainBuilderParameter
类。- 参数:
parameter
- 指定的地形构建需要的参数信息。targetDatasource
- 指定的用于存储结果数据集的数据源。targetDatasetName
- 指定的结果数据集的名称。- 返回:
- 地形创建得到的栅格数据集。
- 抛出:
IllegalArgumentException
- 如果参数 parameter 的 setLineDatasets 方法设置的各数据集、setPointDatasets 方法设置的各数据集的具有不同的坐标系
-
buildTerrain
public static DatasetGrid buildTerrain(TerrainBuilderParameter parameter, Datasource targetDatasource, String targetDatasetName, SteppedListener... listeners)
根据指定的地形构建参数信息创建地形。DEM(Digital Elevation Model,数字高程模型)主要用于描述区域地貌形态的空间分布,是地面特性为高程和海拔高程的数字地面模型(DTM),通常通过高程测量点(或从等高线中进行采样提取高程点)进行数据内插而成。此方法用于构建地形,即对具有高程信息的点或线数据集通过插值生成 DEM 栅格。
该方法的主要参数通过一个
TerrainBuilderParameter
对象来设置,通过不同的参数设置,可以实现三种方式来构建地形。- 通过点数据集(即高程点)构建;
- 通过线数据集(即等高线)构建;
- 通过点数据集(即高程点)和线数据集(即等高线)共同构建。
下表列出了三种不同的地形构建方式,分别需要设置哪些参数,参数的具体含义请参见
TerrainBuilderParameter
类。- 参数:
parameter
- 指定的地形构建需要的参数信息。targetDatasource
- 指定的用于存储结果数据集的数据源。targetDatasetName
- 指定的结果数据集的名称。listeners
- 用于接收进度条事件的监听器。- 返回:
- 地形创建得到的栅格数据集。
- 抛出:
IllegalArgumentException
- 如果参数 parameter 的 setLineDatasets 方法设置的各数据集、setPointDatasets 方法设置的各数据集的具有不同的坐标系
-
buildLake
public static boolean buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, String lakeField)
挖湖,即修改面数据集区域范围内的 DEM 数据集的高程值为指定的字段的值。挖湖是指根据已有的湖泊面数据,在 DEM 数据集上显示湖泊信息。如下图所示,挖湖之后,DEM 在湖泊面数据对应位置的栅格值变成指定的高程字段的值,且整个湖泊区域栅格值相同。
此外,还提供另一个重载方法
buildLake
,该方法可以指定一个值统一作为湖泊面的高程值来挖湖。- 参数:
demDatasetGrid
- 指定的待挖湖的 DEM 栅格数据集。lakeDatasetVector
- 指定的湖区域,为面数据集。lakeField
- 指定的湖区域的高程字段。要求字段类型为数值型。如果指定为 null 或空字符串,或湖区域数据集中不存在指定的字段,则按照湖区域边界对应 DEM 栅格上的最小高程进行挖湖。高程值的单位与 DEM 栅格数据集的栅格值单位相同。- 返回:
- 一个布尔值,如果成功返回 true,否则返回 false。
-
buildLake
public static boolean buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, String lakeField, SteppedListener... listeners)
挖湖,即修改面数据集区域范围内的 DEM 数据集的高程值为指定的字段的值。挖湖是指根据已有的湖泊面数据,在 DEM 数据集上显示湖泊信息。如下图所示,挖湖之后,DEM 在湖泊面数据对应位置的栅格值变成指定的高程字段的值,且整个湖泊区域栅格值相同。
此外,还提供另一个重载方法
buildLake
,该方法可以指定一个值统一作为湖泊面的高程值来挖湖。- 参数:
demDatasetGrid
- 指定的待挖湖的 DEM 栅格数据集。lakeDatasetVector
- 指定的湖区域,为面数据集。lakeField
- 指定的湖区域的高程字段。要求字段类型为数值型。如果指定为 null 或空字符串,或湖区域数据集中不存在指定的字段,则按照湖区域边界对应 DEM 栅格上的最小高程进行挖湖。高程值的单位与 DEM 栅格数据集的栅格值单位相同。listeners
- 用于接收进度条事件的监听器。- 返回:
- 一个布尔值,如果成功返回 true,否则返回 false。
-
buildLake
@Deprecated public static boolean buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, double elevation)
已过时。 此方法已废弃,请使用支持进度监听的新方法TerrainBuilder.buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, double elevation, SteppedListener... listeners)
替换。挖湖,即修改面数据集区域范围内的 DEM 数据集的高程值为指定的数值。挖湖是指根据已有的湖泊面数据,在 DEM 数据集上显示湖泊信息。如下图所示,挖湖之后,DEM 在湖泊面数据对应位置的栅格值变成指定的高程值,且整个湖泊区域栅格值相同。
此外,还提供另一个重载方法
buildLake
,该方法允许指定面数据集的一个字段作为挖湖的高程值。- 参数:
demDatasetGrid
- 指定的待挖湖的 DEM 栅格数据集。lakeDatasetVector
- 指定的湖区域,为面数据集。elevation
- 指定的高程值。单位与 DEM 栅格数据集的栅格值单位相同。- 返回:
- 一个布尔值,如果成功返回 true,否则返回 false。
-
buildLake
public static boolean buildLake(DatasetGrid demDatasetGrid, DatasetVector lakeDatasetVector, double elevation, SteppedListener... listeners)
挖湖,即修改面数据集区域范围内的 DEM 数据集的高程值为指定的数值。挖湖是指根据已有的湖泊面数据,在 DEM 数据集上显示湖泊信息。如下图所示,挖湖之后,DEM 在湖泊面数据对应位置的栅格值变成指定的高程值,且整个湖泊区域栅格值相同。
此外,还提供另一个重载方法
buildLake
,该方法允许指定面数据集的一个字段作为挖湖的高程值。- 参数:
demDatasetGrid
- 指定的待挖湖的 DEM 栅格数据集。lakeDatasetVector
- 指定的湖区域,为面数据集。elevation
- 指定的高程值。单位与 DEM 栅格数据集的栅格值单位相同。listeners
- 用于接收进度条事件的监听器。- 返回:
- 一个布尔值,如果成功返回 true,否则返回 false。
-
addSteppedListener
public static void addSteppedListener(SteppedListener l)
添加一个进度条事件(SteppedEvent
)的监听器。- 参数:
l
- 一个用于接收进度条事件的监听器。
-
removeSteppedListener
public static void removeSteppedListener(SteppedListener l)
移除一个进度条事件(SteppedEvent
)的监听器。- 参数:
l
- 一个用于接收进度条事件的监听器。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.