超图叠加分析类OverlayAnalystService

功能:计算超图Polygon区域内所有房屋的id(相交)

所用类:OverlayAnalystService、OverlayAnalystParameters


document.getElementById("btnStatistics").onclick = function () {
    var points = new Array();
    //创建超图Polygon对象,superMapPointsArray是坐标点的集合
    for(var i =0;i<superMapPointsArray.length;i++){
        points.push(new SuperMap.Geometry.Point(superMapPointsArray[i],superMapPointsArray[++i]));
    }
    var linearRings = new SuperMap.Geometry.LinearRing(points);
    var region = new SuperMap.Geometry.Polygon([linearRings]);

    var datasetParmaeters = new SuperMap.REST.DatasetOverlayAnalystParameters({
        operateRegions:[region],//区域
        sourceDataset:'FW_340413@ORCL_wisdom3d_07222',
        sourceDatasetFields:["LSZD","FWID"],//返回的字段
        operation: SuperMap.REST.OverlayOperationType.INTERSECT //相交
    });

    //基于数据集的叠加分析结果集资源服务
    var spatialUrl = "http://192.168.80.210:8090/iserver/services/spatialAnalysis-jtscene0722/restjsr/spatialanalyst";
    var myOverlayAnalystService = new SuperMap.REST.OverlayAnalystService(spatialUrl, {
        eventListeners: {
            "processCompleted": OverlayCompleted,
            "processFailed": OverlayFailed
        }
    });
    //负责将客户端的查询参数传递到服务端。
    myOverlayAnalystService.processAsync(datasetParmaeters);
};

function OverlayCompleted(fwInfo) {
    var info = fwInfo.originResult.recordset.features;
    debugger;
    console.log("成功:" + info.toString());
}
function OverlayFailed(args) {
    console.log("失败:" + args);
}


参考超图API For JavaScript :http://support.supermap.com.cn:8090/iserver/help/html/index.htm

你可能感兴趣的:(前端知识)