com.supermap.analyst.spatialanalyst

类 TerrainBuilder



  • public class TerrainBuilder
    extends Object
    地形构建类。该类提供了根据指定的参数构建地形以及对指定范围内DEM数据集高程值进行修改的方法(挖湖)。
    • 方法详细资料

      • 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 对象来设置,通过不同的参数设置,可以实现三种方式来构建地形。

        1. 通过点数据集(即高程点)构建;
        2. 通过线数据集(即等高线)构建;
        3. 通过点数据集(即高程点)和线数据集(即等高线)共同构建。

        下表列出了三种不同的地形构建方式,分别需要设置哪些参数,参数的具体含义请参见 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 对象来设置,通过不同的参数设置,可以实现三种方式来构建地形。

        1. 通过点数据集(即高程点)构建;
        2. 通过线数据集(即等高线)构建;
        3. 通过点数据集(即高程点)和线数据集(即等高线)共同构建。

        下表列出了三种不同的地形构建方式,分别需要设置哪些参数,参数的具体含义请参见 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)
        挖湖,即修改面数据集区域范围内的 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.