com.supermap.analyst.spatialanalyst

类 SurfaceAnalyst



  • public class SurfaceAnalyst
    extends Object

    表面分析类。该类用于从表面栅格数据、具有高程信息的点数据中提取等值线或等值面。

    表面分析类的功能包括:

    1. 从栅格数据集中提取等值线;
    2. 从栅格数据集中提取等值面;
    3. 从点数据中提取等值线;
    4. 从点数据中提取等值面。
    1.从栅格数据中提取等值线

    等值线是由一系列具有相同值的点连接而成的光滑曲线或折线,如等高线、等温线。等值线的分布反映了栅格表面上值的变化,等值线分布越密集的地方, 表示栅格表面值的变化比较剧烈,例如,如果为等高线,则越密集,坡度越陡峭,反之坡度越平缓。通过提取等值线,可以找到高程、温度、降水等的值相同的位置, 同时等值线的分布状况也可以显示出变化的陡峭和平缓区。

    如下所示,上图为某个区域的 DEM 栅格数据,下图是从上图中提取的等高线。DEM 栅格数据的高程信息是存储在每一个栅格单元中的,栅格是有大小的,栅格的大小取决于栅格数据的分辨率 ,即每一个栅格单元代表实际地面上的相应地块的大小,因此,栅格数据不能很精确的反应每一位置上的高程信息 ,而矢量数据在这方面相对具有很大的优势,因此,从栅格数据中提取等高线 ,把栅格数据变成矢量数据,就可以突出显示数据的细节部分,便于分析,例如,从等高线数据中可以明显的区分地势的陡峭与舒缓的部位,可以区分出山脊山谷。

    2.从栅格数据中提取等值面

    等值面是由相邻的等值线封闭组成的面。等值面的变化可以很直观的表示出相邻等值线之间的变化,诸如高程、温度、降水、污染或大气压力等用等值面来表示是非常直观、 有效的。等值面分布的效果与等值线的分布相同,也是反映了栅格表面上的变化,等值面分布越密集的地方,表示栅格表面值有较大的变化,反之则表示栅格表面值变化较少; 等值面越窄的地方,表示栅格表面值有较大的变化,反之则表示栅格表面值变化较少。

    如下所示,左图为某个区域的 DEM 栅格数据,右图为提取的等值面,从等值面数据中可以明显的分析出地形的起伏变化,等值面越密集, 越狭窄的地方表示地势越陡峭,反之,等值面越稀疏,较宽的地方表示地势较舒缓,变化较小。

    3.从点数据中提取等值线

    点数据中的点是分散分布,点数据能够很好的表现位置信息,但对于点本身的其他属性信息却表现不出来,例如,已经获取了某个研究区域的大量采样点的高程信息,如下所示 (上图),从图上并不能看出地势高低起伏的趋势,看不出哪里地势陡峭、哪里地形平坦,如果我们运用等值线的原理,将这些点数据所蕴含的信息以等值线的形式表现出来, 即将相邻的具有相同高程值的点连接起来 ,形成下面下图所示的等高线图,那么关于这个区域的地形信息就明显的表现出来了。不同的点数据提取的等值线具有不同的含义,主要依据点数据多代表的信息而定 ,如果点的值代表温度,那么提取的等值线就是等温线;如果点的值代表雨量,那么提取的等值线就是等降水量线,等等。

    4.从点数据中提取等值面

    如下所示,上图为存储了高程信息的点数据集,下图为从上图点数据集中提取的等值面,从等值面数据中可以明显的分析出地形的起伏变化,等值面越密集, 越狭窄的地方表示地势越陡峭,反之,等值面越稀疏,较宽的地方表示地势较舒缓,变化较小。

    注意:

    从点数据(点数据集/记录集/三维点集合)中提取等值线(面)时,插值得出的中间结果栅格的分辨率如果太小,会导致提取等值线(面)失败。这里提供一个判断方法:使用点数据的 Bounds 的长和宽分别除以设置的分辨率,也就是中间结果栅格的行列数,如果行列数任何一个大于10000,即认为分辨率设置的过小了,此时系统会抛出异常。

    • 方法详细资料

      • extractIsoregion

        @Deprecated
        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                                  DatasetGrid extractedGrid,
                                                                  Datasource targetDatasource,
                                                                  String targetDatasetName,
                                                                  GeoRegion clipRegion)
        已过时。 此方法已废弃,请使用支持进度监听的新方法 SurfaceAnalyst.extractIsoregion(SurfaceExtractParameter, DatasetGrid, Datasource, String, GeoRegion, SteppedListener...) 替换。
        用于从栅格数据集中提取等值面,并将结果保存为数据集。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格据集。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从栅格数据集中提取等值面。
         public DatasetVector extractIsoregionFromDatasetGrid(
                        DatasetGrid sourceDatasetGrid, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
                surfaceExtractParameter.setSmoothness(3);
                surfaceExtractParameter.setSmoothMethod(SmoothMethod.BSPLINE);
        
                //从栅格数据集中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, sourceDatasetGrid, outputDatasource,
                                outputDatasetName, null);
        
                return resultIsoregion;
         }
         
      • extractIsoregion

        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                     DatasetGrid extractedGrid,
                                                     Datasource targetDatasource,
                                                     String targetDatasetName,
                                                     GeoRegion clipRegion,
                                                     SteppedListener... listeners)
        用于从栅格数据集中提取等值面,并将结果保存为数据集。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格据集。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从栅格数据集中提取等值面。
         public DatasetVector extractIsoregionFromDatasetGrid(
                        DatasetGrid sourceDatasetGrid, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
                surfaceExtractParameter.setSmoothness(3);
                surfaceExtractParameter.setSmoothMethod(SmoothMethod.BSPLINE);
        
                //从栅格数据集中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, sourceDatasetGrid, outputDatasource,
                                outputDatasetName, null);
        
                return resultIsoregion;
         }
         
      • extractIsoregionGeometry

        public static IsoRegionResult[] extractIsoregionGeometry(SurfaceExtractParameter parameter,
                                                                 DatasetGrid extractedGrid,
                                                                 GeoRegion clipRegion)
        用于从栅格数据集中提取等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格数据集。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        栅格提等值面结果对象集合。如果提取失败则返回 null。
      • extractIsolineGeometry

        public static IsoLineResult[] extractIsolineGeometry(SurfaceExtractParameter parameter,
                                                             DatasetGrid extractedGrid,
                                                             GeoRegion clipRegion)
        用于从栅格数据集中提取等值线。该方法可以提取某个特定区域的等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格数据集。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        栅格提等值线结果对象集合。如果提取失败则返回 null。
      • extractIsoline

        @Deprecated
        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                                DatasetGrid extractedGrid,
                                                                Datasource targetDatasource,
                                                                String targetDatasetName)
        已过时。 此方法已废弃,请使用支持进度监听的新方法 SurfaceAnalyst.extractIsoline(SurfaceExtractParameter, DatasetGrid, Datasource, String, SteppedListener...) 替换。
        用于从栅格数据集中提取等值线,并将结果保存为数据集。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格数据集。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        返回:
        提取得到的等值线数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从栅格数据集中提取等值线。
         public DatasetVector extractIsolineFromDatasetGrid(
                        DatasetGrid sourceDatasetGrid, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
                surfaceExtractParameter.setSmoothness(3);
                surfaceExtractParameter.setSmoothMethod(SmoothMethod.BSPLINE);
        
                //从栅格数据集中提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, sourceDatasetGrid, outputDatasource,
                                outputDatasetName);
        
                return resultIsoline;
         }
         
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   DatasetGrid extractedGrid,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   SteppedListener... listeners)
        用于从栅格数据集中提取等值线,并将结果保存为数据集。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格数据集。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值线数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从栅格数据集中提取等值线。
         public DatasetVector extractIsolineFromDatasetGrid(
                        DatasetGrid sourceDatasetGrid, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
                surfaceExtractParameter.setSmoothness(3);
                surfaceExtractParameter.setSmoothMethod(SmoothMethod.BSPLINE);
        
                //从栅格数据集中提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, sourceDatasetGrid, outputDatasource,
                                outputDatasetName);
        
                return resultIsoline;
         }
         
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   DatasetGrid extractedGrid,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   DatasetVector barrierDataset,
                                                   SteppedListener... listeners)
        用于从栅格数据集中提取等值线,并将结果保存为数据集。该方法可以提取某个特定区域的等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格数据集。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        barrierDataset - 障碍线数据集,设置障碍线用于提取被障碍物切断的等值线,如断层、河流、建筑物等在实际地形中构成等值线无法穿越的障碍物。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetGrid, Datasource, String) 方法的示例。
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   DatasetGrid extractedGrid,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从栅格数据集中提取等值线,并将结果保存为数据集。该方法可以提取某个特定区域的等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格数据集。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetGrid, Datasource, String) 方法的示例。
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   DatasetGrid extractedGrid,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   GeoRegion clipRegion,
                                                   DatasetVector barrierDataset,
                                                   SteppedListener... listeners)
        用于从栅格数据集中提取等值线,并将结果保存为数据集。该方法可以提取某个特定区域的等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格数据集。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        barrierDataset - 障碍线数据集,设置障碍线用于提取被障碍物切断的等值线,如断层、河流、建筑物等在实际地形中构成等值线无法穿越的障碍物。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetGrid, Datasource, String) 方法的示例。
      • extractIsoline

        @Deprecated
        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                                DatasetVector extractedPoint,
                                                                String zValueFieldName,
                                                                Datasource targetDatasource,
                                                                String targetDatasetName,
                                                                double resolution,
                                                                GeoRegion clipRegion)
        用于从点数据集中提取等值线,并将结果保存为数据集。方法的实现原理类似“从栅格数据集中提取等值线”的方法,不同之处在于,这里的操作对象是点数据集,因此, 实现的过程是先对点数据集中的点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对点数据集进行插值分析。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        示例一:以下代码示范了如何从一个二维点数据集,通过指定基准值(DatumValue)和等值距(Interval)来提取等值线。其中,“Elevation”为该点数据集的高程字段。
         public DatasetVector extractIsolineFromDatasetVector(
                        DatasetVector sourceDataserVector, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
        
                //从二维点数据集中提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, sourceDataserVector, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoline;
         }
         

        示例二:以下代码示范了如何从二维矢量点数据集,通过指定 Z 值集合(ExpectedZValues)来提取等值线。其中,“Elevation”为该点数据集的高程字段。

         public DatasetVector extractIsolineFromDatasetVectorbyZValue(
                        DatasetVector sourceDataserVector, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setExpectedZValues(new double[] { 100, 600, 1100 });
        
                //从二维点数据集中提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, sourceDataserVector, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoline;
         }
         
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   DatasetVector extractedPoint,
                                                   String zValueFieldName,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从点数据集中提取等值线,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值线”的方法,不同之处在于,这里的操作对象是点数据集,因此, 实现的过程是先对点数据集中的点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对点数据集进行插值分析。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        示例一:以下代码示范了如何从一个二维点数据集,通过指定基准值(DatumValue)和等值距(Interval)来提取等值线。其中,“Elevation”为该点数据集的高程字段。
         public DatasetVector extractIsolineFromDatasetVector(
                        DatasetVector sourceDataserVector, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
        
                //从二维点数据集中提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, sourceDataserVector, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoline;
         }
         

        示例二:以下代码示范了如何从二维矢量点数据集,通过指定 Z 值集合(ExpectedZValues)来提取等值线。其中,“Elevation”为该点数据集的高程字段。

         public DatasetVector extractIsolineFromDatasetVectorbyZValue(
                        DatasetVector sourceDataserVector, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setExpectedZValues(new double[] { 100, 600, 1100 });
        
                //从二维点数据集中提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, sourceDataserVector, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoline;
         }
         
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   DatasetVector extractedPoint,
                                                   String zValueFieldName,
                                                   TerrainInterpolateType terrainInterpolateType,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从点数据集中提取等值线,并将结果保存为数据集。方法的实现原理是先对点数据集进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对点记录集进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值线数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetVector, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        @Deprecated
        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                                Recordset extractedPointRecordset,
                                                                String zValueFieldName,
                                                                Datasource targetDatasource,
                                                                String targetDatasetName,
                                                                double resolution,
                                                                GeoRegion clipRegion)
        用于从记录集中提取等值线,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值线”的方法,不同之处在于,这里的操作对象是记录集,因此,实现的过程是先对点数据集中的点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取等值线操作需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对记录集中的点数据进行插值分析。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从点记录集中提取等值线。其中,“Elevation”为该点记录集中点数据的高程字段。
         public DatasetVector extractIsolineFromRecordset(Recordset sourceRecordset,
                        Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
        
                //从点记录集中提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, sourceRecordset, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoline;
         }
         
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   Recordset extractedPointRecordset,
                                                   String zValueFieldName,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从记录集中提取等值线,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值线”的方法,不同之处在于,这里的操作对象是记录集,因此,实现过程是先对“ 记录集“ 中的点数据使用 IDW 插值(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取等值线操作需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对记录集中的点数据进行插值分析。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从点记录集中提取等值线。其中,“Elevation”为该点记录集中点数据的高程字段。
         public DatasetVector extractIsolineFromRecordset(Recordset sourceRecordset,
                        Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
        
                //从点记录集中提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, sourceRecordset, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoline;
         }
         
      • extractIsoline

        @Deprecated
        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                                Recordset extractedPointRecordset,
                                                                String zValueFieldName,
                                                                TerrainInterpolateType terrainInterpolateType,
                                                                Datasource targetDatasource,
                                                                String targetDatasetName,
                                                                double resolution,
                                                                GeoRegion clipRegion)
        用于从记录集中提取等值线,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值线”的方法,不同之处在于,这里的操作对象是记录集,因此, 实现的过程是先对记录集中的点数据进行插值分析 (可以设置插值方法),得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对记录集中的点数据进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - clipRegion 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, Recordset, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   Recordset extractedPointRecordset,
                                                   String zValueFieldName,
                                                   TerrainInterpolateType terrainInterpolateType,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从记录集中提取等值线,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值线”的方法,不同之处在于,这里的操作对象是记录集,因此, 实现的过程是先对记录集中的点数据进行插值分析 (可以设置插值方法),得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对记录集中的点数据进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - clipRegion 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, Recordset, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        @Deprecated
        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                                Point3Ds extractedPoints,
                                                                Datasource targetDatasource,
                                                                String targetDatasetName,
                                                                double resolution,
                                                                GeoRegion clipRegion)
        已过时。 此方法已废弃,请使用支持进度监听的新方法 SurfaceAnalyst.extractIsoline(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion, SteppedListener...) 替换。
        用于从三维点集合中提取等值线,并将结果保存为数据集。方法的实现原理是先利用点集合中存储的三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值线的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个三维度的信息(例如:高程信息等)。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从三维点集合中提取等值线。
         public DatasetVector extractIsolineFromPoint3Ds(Datasource outputDatasource) {
                Point3D[] arrayPoint3D = new Point3D[8];
                arrayPoint3D[0] = new Point3D(1, 1, 2);
                arrayPoint3D[1] = new Point3D(1, 2, 5);
                arrayPoint3D[2] = new Point3D(2, 2, 7);
                arrayPoint3D[3] = new Point3D(2, 4, 6);
                arrayPoint3D[4] = new Point3D(3, 1, 10);
                arrayPoint3D[5] = new Point3D(3, 3, 4);
                arrayPoint3D[6] = new Point3D(4, 1, 9);
                arrayPoint3D[7] = new Point3D(4, 3, 11);
        
                //构建一个三维点集合
                Point3Ds point3Ds = new Point3Ds();
                point3Ds.addRange(arrayPoint3D);
        
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(1);
                surfaceExtractParameter.setInterval(3);
                surfaceExtractParameter.setSmoothMethod(SmoothMethod.BSPLINE);
                surfaceExtractParameter.setSmoothness(5);
        
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //从三维点集合提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, point3Ds, outputDatasource,
                                outputDatasetName, 1, null);
        
                return resultIsoline;
         }
         
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   Point3Ds extractedPoints,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从三维点集合中提取等值线,并将结果保存为数据集。方法的实现原理是先利用点集合中存储的三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值线的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个三维度的信息(例如:高程信息等)。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从三维点集合中提取等值线。
         public DatasetVector extractIsolineFromPoint3Ds(Datasource outputDatasource) {
                Point3D[] arrayPoint3D = new Point3D[8];
                arrayPoint3D[0] = new Point3D(1, 1, 2);
                arrayPoint3D[1] = new Point3D(1, 2, 5);
                arrayPoint3D[2] = new Point3D(2, 2, 7);
                arrayPoint3D[3] = new Point3D(2, 4, 6);
                arrayPoint3D[4] = new Point3D(3, 1, 10);
                arrayPoint3D[5] = new Point3D(3, 3, 4);
                arrayPoint3D[6] = new Point3D(4, 1, 9);
                arrayPoint3D[7] = new Point3D(4, 3, 11);
        
                //构建一个三维点集合
                Point3Ds point3Ds = new Point3Ds();
                point3Ds.addRange(arrayPoint3D);
        
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(1);
                surfaceExtractParameter.setInterval(3);
                surfaceExtractParameter.setSmoothMethod(SmoothMethod.BSPLINE);
                surfaceExtractParameter.setSmoothness(5);
        
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoline";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //从三维点集合提取等值线
                DatasetVector resultIsoline = SurfaceAnalyst.extractIsoline(
                                surfaceExtractParameter, point3Ds, outputDatasource,
                                outputDatasetName, 1, null);
        
                return resultIsoline;
         }
         
      • extractIsoline

        @Deprecated
        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                                Point3Ds extractedPoints,
                                                                TerrainInterpolateType terrainInterpolateType,
                                                                Datasource targetDatasource,
                                                                String targetDatasetName,
                                                                double resolution,
                                                                GeoRegion clipRegion)
        用于从三维点集合中提取等值线,并将结果保存为数据集。方法的实现原理是先利用点集合中存储的三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值线的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个三维度的信息(例如:高程信息等)。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static DatasetVector extractIsoline(SurfaceExtractParameter parameter,
                                                   Point3Ds extractedPoints,
                                                   TerrainInterpolateType terrainInterpolateType,
                                                   Datasource targetDatasource,
                                                   String targetDatasetName,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从三维点集合中提取等值线,并将结果保存为数据集。方法的实现原理是先利用点集合中存储的三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值线的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个三维度的信息(例如:高程信息等)。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        @Deprecated
        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                                  Point3Ds extractedPoints,
                                                                  Datasource targetDatasource,
                                                                  String targetDatasetName,
                                                                  double resolution,
                                                                  GeoRegion clipRegion)
        已过时。 此方法已废弃,请使用支持进度监听的新方法 SurfaceAnalyst.extractIsoregion(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion, SteppedListener...) 替换。
        用于从三维点集合中提取等值面,并将结果保存为数据集。方法的实现原理是先利用点集合中存储的第三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值面。
        参数:
        parameter - 指定的提取等值面所需的参数。
        extractedPoints - 指定的待提取等值面的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个第三维度的信息(例如:高程信息等)。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从三维点集合中提取等值面。
         public DatasetVector extractIsoregionFromPoint3Ds(Datasource outputDatasource) {
                Point3D[] arrayPoint3D = new Point3D[8];
                arrayPoint3D[0] = new Point3D(1, 1, 2);
                arrayPoint3D[1] = new Point3D(1, 2, 5);
                arrayPoint3D[2] = new Point3D(2, 2, 7);
                arrayPoint3D[3] = new Point3D(2, 4, 6);
                arrayPoint3D[4] = new Point3D(3, 1, 10);
                arrayPoint3D[5] = new Point3D(3, 3, 4);
                arrayPoint3D[6] = new Point3D(4, 1, 9);
                arrayPoint3D[7] = new Point3D(4, 3, 11);
        
                //构建一个三维点集合
                Point3Ds point3Ds = new Point3Ds();
                point3Ds.addRange(arrayPoint3D);
        
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(1);
                surfaceExtractParameter.setInterval(3);
                surfaceExtractParameter.setSmoothMethod(SmoothMethod.BSPLINE);
                surfaceExtractParameter.setSmoothness(5);
        
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //从三维点集合中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, point3Ds, outputDatasource,
                                outputDatasetName, 1, null);
        
                return resultIsoregion;
         }
         
      • extractIsoregion

        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                     Point3Ds extractedPoints,
                                                     Datasource targetDatasource,
                                                     String targetDatasetName,
                                                     double resolution,
                                                     GeoRegion clipRegion,
                                                     SteppedListener... listeners)
        用于从三维点集合中提取等值面,并将结果保存为数据集。方法的实现原理是先利用点集合中存储的第三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值面。
        参数:
        parameter - 指定的提取等值面所需的参数。
        extractedPoints - 指定的待提取等值面的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个第三维度的信息(例如:高程信息等)。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从三维点集合中提取等值面。
         public DatasetVector extractIsoregionFromPoint3Ds(Datasource outputDatasource) {
                Point3D[] arrayPoint3D = new Point3D[8];
                arrayPoint3D[0] = new Point3D(1, 1, 2);
                arrayPoint3D[1] = new Point3D(1, 2, 5);
                arrayPoint3D[2] = new Point3D(2, 2, 7);
                arrayPoint3D[3] = new Point3D(2, 4, 6);
                arrayPoint3D[4] = new Point3D(3, 1, 10);
                arrayPoint3D[5] = new Point3D(3, 3, 4);
                arrayPoint3D[6] = new Point3D(4, 1, 9);
                arrayPoint3D[7] = new Point3D(4, 3, 11);
        
                //构建一个三维点集合
                Point3Ds point3Ds = new Point3Ds();
                point3Ds.addRange(arrayPoint3D);
        
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(1);
                surfaceExtractParameter.setInterval(3);
                surfaceExtractParameter.setSmoothMethod(SmoothMethod.BSPLINE);
                surfaceExtractParameter.setSmoothness(5);
        
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //从三维点集合中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, point3Ds, outputDatasource,
                                outputDatasetName, 1, null);
        
                return resultIsoregion;
         }
         
      • extractIsoregion

        @Deprecated
        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                                  Point3Ds extractedPoints,
                                                                  TerrainInterpolateType terrainInterpolateType,
                                                                  Datasource targetDatasource,
                                                                  String targetDatasetName,
                                                                  double resolution,
                                                                  GeoRegion clipRegion)
        用于从三维点集合中提取等值面,并将结果保存为数据集。方法的实现原理是先利用点集合中存储的第三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据进行插值分析,得到栅格数据集(中间结果数据集),接着从栅格数据集中提取等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值面的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个第三维度的信息(例如:高程信息等)。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                     Point3Ds extractedPoints,
                                                     TerrainInterpolateType terrainInterpolateType,
                                                     Datasource targetDatasource,
                                                     String targetDatasetName,
                                                     double resolution,
                                                     GeoRegion clipRegion,
                                                     SteppedListener... listeners)
        用于从三维点集合中提取等值面,并将结果保存为数据集。方法的实现原理是先利用点集合中存储的第三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据进行插值分析,得到栅格数据集(中间结果数据集),接着从栅格数据集中提取等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值面的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个第三维度的信息(例如:高程信息等)。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        @Deprecated
        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                                  DatasetVector extractedPoint,
                                                                  String zValueFieldName,
                                                                  Datasource targetDatasource,
                                                                  String targetDatasetName,
                                                                  double resolution,
                                                                  GeoRegion clipRegion)
        用于从点数据集中提取等值面,并将结果保存为数据集。方法的实现原理是先对点数据集使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线, 最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对点数据集进行插值分析。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        示例一:以下代码示范了如何从一个二维点数据集,通过指定基准值(DatumValue)和等值距(Interval)来提取等值面。其中,“Elevation”为该点数据集的高程字段。
         public DatasetVector extractIsoregionFromDatasetVector(
                        DatasetVector sourceDataserVector, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
        
                //从二维点数据集中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, sourceDataserVector, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoregion;
         }
         

        示例二:以下代码示范了如何从二维矢量点数据集,通过指定 Z 值集合(ExpectedZValues)来提取等值面。其中,“Elevation”为该点数据集的高程字段。

         public DatasetVector extractIsoregionFromDatasetVectorbyZValue(
                        DatasetVector sourceDataserVector, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setExpectedZValues(new double[] { 100, 600, 1100 });
        
                //从二维点数据集中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, sourceDataserVector, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoregion;
         }
         
      • extractIsoregion

        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                     DatasetVector extractedPoint,
                                                     String zValueFieldName,
                                                     Datasource targetDatasource,
                                                     String targetDatasetName,
                                                     double resolution,
                                                     GeoRegion clipRegion,
                                                     SteppedListener... listeners)
        用于从点数据集中提取等值面,并将结果保存为数据集。方法的实现原理是先对点数据集使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线, 最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对点数据集进行插值分析。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        示例一:以下代码示范了如何从一个二维点数据集,通过指定基准值(DatumValue)和等值距(Interval)来提取等值面。其中,“Elevation”为该点数据集的高程字段。
         public DatasetVector extractIsoregionFromDatasetVector(
                        DatasetVector sourceDataserVector, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
        
                //从二维点数据集中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, sourceDataserVector, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoregion;
         }
         

        示例二:以下代码示范了如何从二维矢量点数据集,通过指定 Z 值集合(ExpectedZValues)来提取等值面。其中,“Elevation”为该点数据集的高程字段。

         public DatasetVector extractIsoregionFromDatasetVectorbyZValue(
                        DatasetVector sourceDataserVector, Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setExpectedZValues(new double[] { 100, 600, 1100 });
        
                //从二维点数据集中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, sourceDataserVector, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoregion;
         }
         
      • extractIsoregion

        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                     DatasetVector extractedPoint,
                                                     String zValueFieldName,
                                                     TerrainInterpolateType terrainInterpolateType,
                                                     Datasource targetDatasource,
                                                     String targetDatasetName,
                                                     double resolution,
                                                     GeoRegion clipRegion,
                                                     SteppedListener... listeners)
        用于从点数据集中提取等值面,并将结果保存为数据集。方法的实现原理是先对点数据集进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型), 然后从栅格数据集中提取等值线,最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对点数据集进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, DatasetVector, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        @Deprecated
        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                                  Recordset extractedPointRecordset,
                                                                  String zValueFieldName,
                                                                  Datasource targetDatasource,
                                                                  String targetDatasetName,
                                                                  double resolution,
                                                                  GeoRegion clipRegion)
        用于从点记录集中提取等值面,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值面”的方法,不同之处在于,这里的操作对象是记录集,因此, 实现的过程是先对记录集中的点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型), 接着从栅格数据集中提取等值线,最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对记录集中的点数据进行插值分析。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从点记录集中提取等值面。其中,“Elevation”为该点记录集中点数据的高程字段。
         public DatasetVector extractIsoregionFromRecordset(Recordset sourceRecordset,
                        Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
        
                //从点记录集中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, sourceRecordset, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoregion;
         }
         
      • extractIsoregion

        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                     Recordset extractedPointRecordset,
                                                     String zValueFieldName,
                                                     Datasource targetDatasource,
                                                     String targetDatasetName,
                                                     double resolution,
                                                     GeoRegion clipRegion,
                                                     SteppedListener... listeners)
        用于从点记录集中提取等值面,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值面”的方法,不同之处在于,这里的操作对象是记录集,因此, 实现的过程是先对记录集中的点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型), 接着从栅格数据集中提取等值线,最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对记录集中的点数据进行插值分析。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的提取结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        以下代码示范了如何从点记录集中提取等值面。其中,“Elevation”为该点记录集中点数据的高程字段。
         public DatasetVector extractIsoregionFromRecordset(Recordset sourceRecordset,
                        Datasource outputDatasource) {
                //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除
                String outputDatasetName = "extractIsoregion";
                if (outputDatasource.getDatasets().contains(outputDatasetName)) {
                        outputDatasource.getDatasets().delete(outputDatasetName);
            }
        
                //设置表面分析提取操作参数
                SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
                surfaceExtractParameter.setDatumValue(300);
                surfaceExtractParameter.setInterval(200);
        
                //从点记录集中提取等值面
                DatasetVector resultIsoregion = SurfaceAnalyst.extractIsoregion(
                                surfaceExtractParameter, sourceRecordset, "Elevation",
                                outputDatasource, outputDatasetName, 3000, null);
        
                return resultIsoregion;
         }
         
      • extractIsoregion

        @Deprecated
        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                                  Recordset extractedPointRecordset,
                                                                  String zValueFieldName,
                                                                  TerrainInterpolateType terrainInterpolateType,
                                                                  Datasource targetDatasource,
                                                                  String targetDatasetName,
                                                                  double resolution,
                                                                  GeoRegion clipRegion)
        用于从记录集中提取等值面,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值面”的方法,不同之处在于,这里的操作对象是记录集,因此, 实现的过程是先对记录集中的点数据进行插值分析 ,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线,最终由等值线构成等值面。
        参数:
        parameter - 提取等值面时需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对记录集中的点数据集进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, Recordset, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        public static DatasetVector extractIsoregion(SurfaceExtractParameter parameter,
                                                     Recordset extractedPointRecordset,
                                                     String zValueFieldName,
                                                     TerrainInterpolateType terrainInterpolateType,
                                                     Datasource targetDatasource,
                                                     String targetDatasetName,
                                                     double resolution,
                                                     GeoRegion clipRegion,
                                                     SteppedListener... listeners)
        用于从记录集中提取等值面,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值面”的方法,不同之处在于,这里的操作对象是记录集,因此, 实现的过程是先对记录集中的点数据进行插值分析 ,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线,最终由等值线构成等值面。
        参数:
        parameter - 提取等值面时需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对记录集中的点数据集进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        targetDatasource - 指定的用于存放结果数据集的数据源。
        targetDatasetName - 指定的结果数据集的名称。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取得到的等值面数据集。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, Recordset, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static GeoLine[] extractIsoline(SurfaceExtractParameter parameter,
                                               DatasetGrid extractedGrid,
                                               GeoRegion clipRegion,
                                               SteppedListener... listeners)
        用于从栅格数据集中提取等值线。该方法可以提取某个特定区域的等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedGrid - 指定的待提取的栅格数据集。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetGrid, Datasource, String) 方法的示例。
      • extractIsoline

        public static GeoLine[] extractIsoline(SurfaceExtractParameter parameter,
                                               DatasetVector extractedPoint,
                                               String zValueFieldName,
                                               double resolution,
                                               GeoRegion clipRegion,
                                               SteppedListener... listeners)
        用于从点数据集中提取等值线。方法的实现原理是先对点数据集使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对点数据集进行插值分析。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetVector, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static GeoLine[] extractIsoline(SurfaceExtractParameter parameter,
                                               DatasetVector extractedPoint,
                                               String zValueFieldName,
                                               TerrainInterpolateType terrainInterpolateType,
                                               double resolution,
                                               GeoRegion clipRegion)
        用于从点数据集中提取等值线。方法的实现原理是先对点数据集进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对点数据集进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取等值线得到的线集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetVector, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static GeoLine[] extractIsoline(SurfaceExtractParameter parameter,
                                               DatasetVector extractedPoint,
                                               String zValueFieldName,
                                               TerrainInterpolateType terrainInterpolateType,
                                               double resolution,
                                               GeoRegion clipRegion,
                                               SteppedListener... listeners)
        用于从点数据集中提取等值线。方法的实现原理是先对点数据集进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对点数据集进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetVector, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static GeoLine[] extractIsoline(SurfaceExtractParameter parameter,
                                               Recordset extractedPointRecordset,
                                               String zValueFieldName,
                                               double resolution,
                                               GeoRegion clipRegion,
                                               SteppedListener... listeners)
        用于从点数据集中提取等值线。方法的实现原理是先对点数据集进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPointRecordset - 指定的待提取的点记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对点数据集进行插值分析。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, DatasetVector, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static GeoLine[] extractIsoline(SurfaceExtractParameter parameter,
                                               Recordset extractedPointRecordset,
                                               String zValueFieldName,
                                               TerrainInterpolateType terrainInterpolateType,
                                               double resolution,
                                               GeoRegion clipRegion,
                                               SteppedListener... listeners)
        用于从记录集中提取等值线。方法的实现原理类似“从点数据集中提取等值线”的方法,不同之处在于,这里的操作对象是记录集,因此, 实现的过程是先对记录集中的点数据进行插值分析(可以设置插值方法),得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作所需的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对记录集中的点数据进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, Recordset, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static GeoLine[] extractIsoline(SurfaceExtractParameter parameter,
                                               Point3Ds extractedPoints,
                                               double resolution,
                                               GeoRegion clipRegion,
                                               SteppedListener... listeners)
        用于从三维点集合中提取等值线。方法的实现原理是先利用点集合中存储的三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为浮点型),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值线的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个三维度的信息(例如:高程信息等)。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoline

        public static GeoLine[] extractIsoline(SurfaceExtractParameter parameter,
                                               Point3Ds extractedPoints,
                                               TerrainInterpolateType terrainInterpolateType,
                                               double resolution,
                                               GeoRegion clipRegion,
                                               SteppedListener... listeners)
        用于从三维点集合中提取等值线。方法的实现原理是先利用点集合中存储的三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据进行插值分析(可以设置插值方法),得到栅格数据集(中间结果数据集),然后从栅格数据集中提取等值线。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值线的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个三维度的信息(例如:高程信息等)。
        terrainInterpolateType - 指定的地形插值类型。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值线得到的线集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoline(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        public static GeoRegion[] extractIsoregion(SurfaceExtractParameter parameter,
                                                   DatasetVector extractedPoint,
                                                   String zValueFieldName,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从点数据集中提取等值面。方法的实现原理是先对点数据集使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线, 最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对点数据集进行插值分析。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值面得到的面集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, DatasetVector, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        public static GeoRegion[] extractIsoregion(SurfaceExtractParameter parameter,
                                                   DatasetVector extractedPoint,
                                                   String zValueFieldName,
                                                   TerrainInterpolateType terrainInterpolateType,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从点数据集中提取等值面。方法的实现原理是先对点数据集进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线, 最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoint - 指定的待提取的点数据集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对点数据集进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值面得到的面集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, DatasetVector, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        public static GeoRegion[] extractIsoregion(SurfaceExtractParameter parameter,
                                                   Point3Ds extractedPoints,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从三维点集合中提取等值面。方法的实现原理是先利用点集合中存储的第三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值面的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个第三维度的信息(例如:高程信息等)。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值面得到的面集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        public static GeoRegion[] extractIsoregion(SurfaceExtractParameter parameter,
                                                   Point3Ds extractedPoints,
                                                   TerrainInterpolateType terrainInterpolateType,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从三维点集合中提取等值面。方法的实现原理是先利用点集合中存储的第三维信息(高程或者温度等),也就是除了点的坐标信息的数据, 对点数据进行插值分析,得到栅格数据集(中间结果数据集),接着从栅格数据集中提取等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPoints - 指定的待提取等值面的点串,该点串中的点是三维点,每一个点存储了 X,Y 坐标信息和只有一个第三维度的信息(例如:高程信息等)。
        terrainInterpolateType - 指定的地形插值类型。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值面得到的面集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, Point3Ds, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        public static GeoRegion[] extractIsoregion(SurfaceExtractParameter parameter,
                                                   Recordset extractedPointRecordset,
                                                   String zValueFieldName,
                                                   double resolution,
                                                   GeoRegion clipRegion,
                                                   SteppedListener... listeners)
        用于从点记录集中提取等值面。方法的实现原理类似“从点数据集中提取等值面”的方法,不同之处在于,这里的操作对象是记录集,因此,实现原理是先对点记录集中的点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线, 最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对点数据集进行插值分析。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        listeners - 用于接收进度条事件的监听器。
        返回:
        提取等值面得到的面集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, Recordset, String, Datasource, String, double, GeoRegion) 方法的示例。
      • extractIsoregion

        public static GeoRegion[] extractIsoregion(SurfaceExtractParameter parameter,
                                                   Recordset extractedPointRecordset,
                                                   String zValueFieldName,
                                                   TerrainInterpolateType terrainInterpolateType,
                                                   double resolution,
                                                   GeoRegion clipRegion)
        用于从记录集中提取等值面。方法的实现原理类似“从点数据集中提取等值面”的方法,不同之处在于,这里的操作对象是记录集,因此,实现原理是先对记录集中的点数据进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线, 最终由等值线构成等值面。
        参数:
        parameter - 指定的提取操作需要的参数。
        extractedPointRecordset - 指定的待提取的记录集。
        zValueFieldName - 指定的用于提取操作的字段名称。提取等值面时,将使用该字段中的值,对记录集中的点数据集进行插值分析。
        terrainInterpolateType - 指定的地形插值类型。
        resolution - 指定的中间结果(栅格数据集)的分辨率。
        clipRegion - 指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
        返回:
        提取等值面得到的面集合。如果提取失败则返回 null。
        示范代码:
        请参见 extractIsoregion(SurfaceExtractParameter, Recordset, String, Datasource, String, double, GeoRegion) 方法的示例。
      • 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.