gis api for js 框选区域取面积 以及 取重叠区域面积

该段代码使用GIS API for JavaScript进行区域选取并计算面积。通过queryBySpatial函数实现框选区域的总面积,以及与同一组元素交集的面积。利用esri.geometry.Polygon和esri.tasks.GeometryService计算交叉区域的面积,同时提供了不同类型的几何选择方式(点、矩形、圆形、多边形)。
function queryBySpatial(querySign, qrylyrname, outFields, queryTaskErrorHandler, isUseBuffer, distance) {
    var TotalArea = 0;//总面积
    var graphic_fw; //选择的区域
    var intersecthic = map.extent; //选择的区域与同一组元素交集的区域
    clearQueryInfos();
    queryTask = new esri.tasks.QueryTask(getQueryUrl(qrylyrname));
    queryTask.on("complete", function (queryResult) {
        var features = queryResult.featureSet.features;

        rExtent = null;
        dojo.forEach(features, function (feature) {
            intersecthic = graphic_fw.getExtent().intersects(feature.geometry.getExtent());//取交叉的extent
            var selectionPolygon = esri.geometry.Polygon.fromExtent(intersecthic);//将交叉的extent转换成polygon
                
            //拿到交叉区域-计算交叉的面积
            try {
                var areaParams = new esri.tasks.AreasAndLengthsParameters();
                areaParams.lengthUnit = esri.tasks.GeometryService.UNIT_METER;
                areaParams.areaUnit = esri.tasks.GeometryService.UNIT_SQ_METERS;
                geometrySvc.simplify([selecti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值