首页 / 浏览问题 / WebGIS / 问题详情
iserver11i叠加分析结果异常
8EXP 2023年08月03日

使用产品:iserver 11i 操作系统:win11 x64

数据类型: oracle 12c x64

问题详细描述:叠加分析拿到的分析结果异常,一种是明显压占却拿不到分析结果,另一种是拿到的分析结果很奇怪

问题重现步骤: 在地图上绘制范围,然后通过调用iserver叠加分析接口获取叠加分析结果,再使用leaflet的L.geojson方法将叠加结果绘制在地图上,如图所示: 

调用iserver叠加分析的js代码:

function getStackedLayer(serviceUrl, sourceGeometries, operateGeometries, operationStr) {
      return new Promise((resolve, reject) => {
        if (serviceUrl) {
          let operation = operationStr ? operationStr : "INTERSECT"
          // 开始叠加分析
          const geometryParameters = new SuperMap.GeometryOverlayAnalystParameters({
            operateGeometries: operateGeometries,
            sourceGeometries: sourceGeometries,
            operation
          });
          L.supermap
            .spatialAnalystService(serviceUrl)
            .overlayAnalysis(geometryParameters, serviceResult => {
              if(serviceResult.type === "processFailed"){
                reject(serviceResult ? serviceResult.error.errorMsg : '地图服务出错!')
              }else {
                resolve(serviceResult.result)
              }
            });
        }else { reject("叠加分析服务地址不可为空!")}
      })
    }

问题关闭原因: 问题已解决

1个回答

你好,根据图示接口返回为空,如果没有报错的话,可以在在iserver服务datasets中对应数据集做叠加分析看看是否有数据。

参考:https://blog.csdn.net/supermapsupport/article/details/97902008

https://iclient.supermap.io/examples/leaflet/editor.html#04_overlayAnalystService

1,865EXP 2023年08月03日
好的,我先试试看,同一数据集做几何查询拿到的返回值是正常的,我想应该不是数据集的问题

你好,十分感谢你给出的解决办法,但是在iserver服务中直接进行的叠加分析结果是能拿到结果的,仍无法找出分析异常的原因,目前已通过降低iserver的版本到10i-10.2.1暂时解决了分析异常的问题laugh

如果在iserver中同样的参数数据集都能得到结果,在前端不行的话,对比看一下两个接口请求参数是否一致。
...