首页 / 浏览问题 / WebGIS / 问题详情
使用GeometryOverlayAnalystParameters报错
2EXP 2023年06月26日

报这样的错,但是使用datasetOverlayAnalystParameters不会有问题

我的代码是这样的,报错在overlayAnalystService.overlayAnalysis(datasetOverlayAnalystParameters, function (serviceResult) {一句

//根据所选数据源和缓冲内容进行叠加分析
        function overlayAnalystProcess() {
            var selectElement = document.getElementById("datasourcesSelect");
            var overlayOperationTypeItem = document.getElementById("overlayOperationType");
            var selectedValue = selectElement.value;
            var overlayOperationTypeValue = overlayOperationTypeItem.value;

            let overlayAnalystService = new L.supermap.SpatialAnalystService(serviceUrl);
            let datasetOverlayAnalystParameters = new L.supermap.DatasetOverlayAnalystParameters({
                operateDataset: selectedValue,
                sourceDataset: "buffer@private",
                tolerance: 0,
                operation: overlayOperationType[overlayOperationTypeValue]
            });
            overlayAnalystService.overlayAnalysis(datasetOverlayAnalystParameters, function (serviceResult) {
                var result = serviceResult.result;
                var myStyle = {
                    color: 'red',
                    weight: 2,
                    opacity: 0.8
                };
                resultLayer = L.geoJSON(result.recordset.features, {
                    style: myStyle
                }).addTo(map);
            });
        }

1个回答

您好,1、传入的数据集数据集是否有值并且满足叠加分析的操作类型OverlayOperationType的几何关系;

2、检查一下引入的js是否正确。
1,865EXP 2023年06月27日

对不起 我才发现代码给错了,是这一段有问题,报错在

new L.supermap.SpatialAnalystService(serviceUrl)

                .overlayAnalysis(geometryOverlayAnalystParameters, function (serviceResult)一句

 function overlayAnalysis(sourceGeometry) {
            let geometryOverlayAnalystParameters = new L.supermap.GeometryOverlayAnalystParameters({
                operateGeometry: operateGeometry,
                sourceGeometry: sourceGeometry,
                operation: L.supermap.OverlayOperationType.IDENTITY
            });
            console.log(geometryOverlayAnalystParameters)
            new L.supermap.SpatialAnalystService(serviceUrl)
                .overlayAnalysis(geometryOverlayAnalystParameters, function (serviceResult) {
                    console.log(serviceResult.result)
                    var myStyle = {
                        color: 'red',
                        weight: 2,
                        opacity: 0.8
                    };
                    resultLayer = L.geoJSON(serviceResult.result.recordset.features, {
                        style: myStyle
                    }).addTo(map);
                });
        }

1、在iserver服务下的featureResults 中查询是否报错?

iserver中 featureResults 查询参考:http://ask.supermap.com/118397?show=118397#q118397

2、传入的数据集数据集是否有值并且满足叠加分析的IDENTITY的几何关系。

...