泰森多边形

泰森多边形是荷兰气候学家 A.H.Thiessen 提出的一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多边形区域内的降雨强度,并称这个多边形为泰森多边形。泰森多边形又称为 Voronoi 图,是由一组连接两邻点直线的垂直平分线组成的连续多边形组成。

泰森多边形的特性为:

  • 每个泰森多边形内仅含有一个离散点数据;
  • 泰森多边形内的点到相应离散点的距离最近;
  • 位于泰森多边形边上的点到其两边的离散点的距离相等。

泰森多边形的接口使用方法如下:

  • SuperMap.REST.ThiessenAnalystService 泰森多边形分析服务类,该类负责将客户设置的泰森多边形分析参数传递给服务端,并接收服务端返回的分析结果数据;
  • 泰森多边形分析结果通过该类支持的事件的监听函数参数获取,参数类型为 {SuperMap.REST.ThiessenAnalystEventArgs};
  • 获取的结果数据包括 originResult 、result 两种:
    • originResult 为服务端返回的用 JSON 对象表示的泰森多边形分析结果数据;
    • result 为服务端返回的类型为 {SuperMap.REST.ThiessenAnalystResult} 的泰森多边形分析结果数据对象。
  • 泰森多边形分析的参数支持两种:
    • 当参数为 {SuperMap.REST.DatasetThiessenAnalystParameters} 类型时,执行数据集泰森多边形分析;
    • 当参数为 {SuperMap.REST.GeometryThiessenAnalystParameters} 类型时,执行几何对象泰森多边形分析。

下面以数据集泰森多边形为例,设置泰森多边形服务对象,用于将客户端设置的泰森多边形服务参数传递给服务端,并接收服务端返回的泰森多边形分析结果数据。

var serviceUrl = "http://support.supermap.com.cn:8090/iserver/services/spatialanalyst-changchun/restjsr/spatialanalyst";
// 设置泰森多边形分析参数
var dThiessenAnalystParameters = new SuperMap.DatasetThiessenAnalystParameters({
    dataset: "Factory@Changchun"
});
// 创建泰森多边形分析实例
new ol.supermap.SpatialAnalystService(serviceUrl).thiessenAnalysis(dThiessenAnalystParameters, function (serviceResult) {
    // 获取返回的featuers数据
    var features = serviceResult.result.regions;
})

查看完整示例代码

results matching ""

    No results matching ""