用于从记录集中提取等值线,并将结果保存为数据集。方法的实现原理类似“从点数据集中提取等值线”的方法,不同之处在于,这里的操作对象是记录集,因此,实现的过程是先对记录集中的点数据使用 IDW 插值法(InterpolationAlgorithmType.IDW)进行插值分析,得到栅格数据集(方法实现的中间结果,栅格值为单精度浮点型),接着从栅格数据集中提取等值线。
命名空间:
SuperMap.Analyst.SpatialAnalyst程序集: SuperMap.Analyst.SpatialAnalyst (in SuperMap.Analyst.SpatialAnalyst)
版本: dll
语法
C# |
---|
public static DatasetVector ExtractIsoline( SurfaceExtractParameter parameter, Recordset extractedPointRecordset, string zValueFieldName, Datasource outputDatasource, string outputDatasetName, double resolution, GeoRegion clipRegion ) |
参数
- parameter
- Type: SuperMap.Analyst.SpatialAnalyst..::.SurfaceExtractParameter
指定的提取操作需要的参数。
- extractedPointRecordset
- Type: SuperMap.Data..::.Recordset
指定的待提取的记录集。
- zValueFieldName
- Type: System..::.String
指定的用于提取操作的字段名称。提取等值线时,将使用该字段中的值,对记录集中的点数据进行插值分析。
- outputDatasource
- Type: SuperMap.Data..::.Datasource
用于存放提取结果的数据源。
- outputDatasetName
- Type: System..::.String
指定的结果数据集的名称。
- resolution
- Type: System..::.Double
指定中间结果(栅格数据集)的分辨率。
- clipRegion
- Type: SuperMap.Data..::.GeoRegion
指定的裁剪面对象。如果不需要对操作结果进行裁剪,可以使用 null 值取代该参数。
返回值
提取得到的等值线数据集。如果提取失败则返回 null。示例
以下代码示范了如何从点记录集提取等值线。其中,“Elevation”为该点记录集中点数据的高程字段。
CopyC#
public DatasetVector ExtractIsolineFromRecordset(Recordset sourceRecordset, Datasource outputDatasource) { //设置结果矢量数据集的名称,并检查数据源中是否已存在该数据集,如存在则删除 String outputDatasetName = "extractIsoline"; if (outputDatasource.Datasets.Contains(outputDatasetName)) { outputDatasource.Datasets.Delete(outputDatasetName); } //设置表面分析提取操作参数 SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter(); surfaceExtractParameter.DatumValue = 300; surfaceExtractParameter.Interval = 200; //从点记录集中提取等值线 DatasetVector resultIsoline = SurfaceAnalyst.ExtractIsoline(surfaceExtractParameter, sourceRecordset, "Elevation", outputDatasource, outputDatasetName, 3000, null); return resultIsoline; }