提取等值线/面
提取等值线和提取等值面。等值线是将相邻的、具有相同值的点连起来的线,常用的等值线有等高线、等深线、等温线、等压线、等降水量线等。等值线的分布反映了栅格表面上值的变化,等值线分布越密集的地方,表示栅格表面值的变化比较剧烈。等值线分布较稀疏的地方,表示栅格表面值的变化较小。通过提取等值线,可以找到高程、温度、降水量等值相同的位置,同时等值线的分布状况也可以反映出变化的陡峭和平缓区。等值面是由相邻的等值线封闭组成的面,等值面的变化可以很直观的表示出相邻等值线之间的变化,诸如高程、降水、温度或大气压力等。通过提取等值面可以获得高程、降水、温度等值相同的地方。
本节将通过从全国平均气温采样点中提取等值线的功能来具体说明表面分析的接口使用。
设置表面分析参数、表面分析提取操作参数。
// 剪裁区域设置
var region = new ol.geom.Polygon([[
[0, 4010338],
[1063524, 4010338],
[1063524, 3150322],
[0, 3150322]
]]);
// 表面分析提取操作参数
var surfaceAnalystParameters = new SuperMap.DatasetSurfaceAnalystParameters({
// 表面分析参数设置
extractParameter: new SuperMap.SurfaceAnalystParametersSetting({
// 表面分析中提取等值线基准值
datumValue: 0,
// 等值距,两条等值线之间的间隔值
interval: 2,
// 重采样容限
resampleTolerance: 0,
// 光滑处理所使用的方法
smoothMethod: SuperMap.SmoothMethod.BSPLINE,
// 等值线的光滑度
smoothness: 3,
// 裁剪对象
clipRegion: region
}),
// 叠加分析中源数据集名称
dataset: "SamplesP@Interpolation",
// 中间结果分辨率
resolution: 3000,
// 用于提取操作的字段名称
zValueFieldName: "AVG_TMP"
});
设置表面分析服务对象,用于将客户端设置的表面分析服务参数传递给服务端, 并接收服务端返回的表面分析结果数据。当向服务端发送请求并且服务端成功返回结果时,用户可对获得的表面分析结果做相应处理。
// 创建表面分析服务实例
var surfaceAnalystService = new ol.supermap.SpatialAnalystService(serviceUrl);
surfaceAnalystService.surfaceAnalysis(surfaceAnalystParameters, function (surfaceAnalystServiceResult) {
// 获取返回的数据
var result = surfaceAnalystServiceResult.result.recordset.features;
});