首页 / 浏览问题 / WebGIS / 问题详情
插值分析,复制了官网的例子,出现错误
43EXP 2021年08月27日
请求url /iserver/services/data-China/rest/data/datasets/China_ProCenCity_pt@ChinaClimate/interpolation/idw.json 与资源data 的 url 模板不匹配

怎么解决呢,谢谢!

1个回答

你好,官网的例子里面的url是我们自带的示例数据服务,为了给你展示效果的,如果你要用的话,你需要修改为你自己发布的服务地址。
3,755EXP 2021年08月27日
您好,我改了地址了,地图的url和数据url都改成我的了,但是还是出现问题
你的插值分析的请求参数那些改成你自己的吗?
var map,serviceUrl = "http://localhost:8090/iserver/services/data-China/rest/data";
                //创建点密度插值分析参数实例
                var InterpolationAnalystParameters = new SuperMap.InterpolationIDWAnalystParameters({
                    //用于做插值分析的数据源中数据集的名称
                    dataset: "China_ProCenCity_pt@ChinaClimate",
                    //插值分析结果数据集的名称
                    outputDatasetName: "ChazhiResult0430",
                    //插值分析结果数据源的名称
                    outputDatasourceName: "Interpolation",
                    //结果栅格数据集存储的像素格式
                    pixelFormat: SuperMap.PixelFormat.DOUBLE,
                    //存储用于进行插值分析的字段名称
                    zValueFieldName: "Temp0430",
                    resolution: 7923.84989108,
                    //采取固定点数查找参与运算点的方式
                    searchMode: "KDTREE_FIXED_COUNT",
                    //固定点数查找方式下,参与差值运算的点数默认为12。
                    expectedCount: 12,
                    bounds: L.bounds([-100, 180], [50, 100])
                    
                });
                //创建点密度插值分析服务实例
                interpolationAnalystService = L.supermap.spatialAnalystService(serviceUrl);
                interpolationAnalystService.interpolationAnalysis(InterpolationAnalystParameters, function (serviceResult) {
                    interpolationAnalystResult = serviceResult.result;
                    if (interpolationAnalystResult && interpolationAnalystResult.dataset) {
                        //用栅格专题图展示分析结果
                        showAnalysisResult_ThemeGridRange();
                    } else {
                        alert(serviceResult.error.errorMsg);
                    }

改了,您看看对吗,谢谢

这样看不出是哪里不正确,你可以自己调试代码(用console.log()把请求打印出来查看排查),看看传进去的参数是否都请求成功了。
显示我的InterpolationAnalystParameters没有定义,怎么解决呢?
检查这个参数是否定义,你看查看一下官网示例如何写的逻辑顺序,再去排查自己的代码。

http://localhost:8090/iserver/services/data-China-2/rest/data

请问我想用点数据集的数据做插值分析,填这个Url对吗?

官网的示例你看了吗?里面两个url,一个是地图服务用来加载地图的,一个空间分析服务用来进行插值分析的,插值分析调用的是空间分析服务。
我前面的工作都做好了,地图服务都加载好了,就是做插值分析这,代码看不太懂了.  然后之前没用过数据服务,不知道哪个是正确的,是进入到具体的点数据集吗?/iserver/services/data-China/rest/data/datasources/ChinaClimate/datasets/China_ProCenCity_pt

还是在数据源就行?iserver/services/data-China/rest/data/datasources/ChinaClimate

这两种我都试了,还是出现模板不匹配的问题.  谢谢您了

插值分析需要两个服务,一个是地图服务,一个是空间分析服务,这两个都需要你在iserver里发布对应的两个服务的去调用才能正常的做插值分析;如果不了解的话,你可以把官网示例里面把对应的服务地址打开查看里面是什么内容。

好的,我去学习下,十分感谢
...