iClient对接拓扑检查分析

作者:lly

在SuperMap iServer分布式分析服务中,提供了针对海量数据的拓扑检查分析功能。本文将介绍如何通过iClient对接分布式分析服务中的拓扑检查分析。

一、开发准备

1、iServe开启分布式分析服务,参考博客 https://blog.csdn.net/supermapsupport/article/details/90903095
2、iClient开发包,可以通过iClient 产品官网进行下载

二、iServer上的分布式分析拓扑检查分析作业

在iServer上可通过图形化界面进行分析,并预览结果,来测试分析的结果是否为想要的结果。
1.首先在分布式分析服务中找到空间分析下的拓扑检查分析topologyValidator
在这里插入图片描述
2.创建分析作业,并填写相应参数
在这里插入图片描述
3.执行完毕后可在iServer预览分析结果
在这里插入图片描述
在这里插入图片描述

三、iClient 对接拓扑检查分析

我们提供了多个GIS前端开发框架,在这以iClient for Classic为例来对接。

1.引入文件与服务并创建容器

<script type="text/javascript" src="../../dist/classic/include-classic.js"></script>
<script type="text/javascript">
        var resultLayer,
            processingsUrl = "http://localhost:8090/iserver/services/distributedanalyst/rest/v1/jobs",
            mapURL ="http://localhost:8090/iserver/services/map-world/rest/maps/World",
            map = new SuperMap.Map("map", {
                controls: [
                    new SuperMap.Control.Navigation(),
                    new SuperMap.Control.Zoom(),
                    new SuperMap.Control.LayerSwitcher()

                ],
                allOverlays: true
            });           

2.注册秘钥

 SuperMap.SecurityManager.registerToken(processingsUrl, "XEYE-4vTLNnss6Ryd0xGzZL1La8iTw7jpaKRAE5GYEsGDM8fJD3_OsZW4yu2ZtiL9tMkQEAL3tyApDHAlz1GYw..");

3.设置分析参数

 var topologyValidatorJobsParameter = new SuperMap.TopologyValidatorJobsParameter({
                datasetName: $('#datasetName').val(),//源数据集
                datasetTopology: $('#datasetTopology').val(),//拓扑检查数据集
                rule: $('#rule option:selected').attr('value'),//拓扑检查规则
                tolerance: $('#tolerance').val()//容限
            });
            

4.执行任务并展示地图

        processingService.addTopologyValidatorJob(topologyValidatorJobsParameter, function (serviceResult) {
              if (serviceResult.error) {
                  widgets.loader.removeLoader();
                  var errorMsg = serviceResult.error.errorMsg || "code: " + serviceResult.error.code;
                  widgets.alert.showAlert(resources.msg_createFailed + "<br>" + errorMsg, false);
                  return;
              }
              serviceResult.result.setting.serviceInfo.targetServiceInfos.map(function (info) {
                  if (info.serviceType === 'RESTMAP') {
                      SuperMap.FetchRequest.get(info.serviceAddress + '/maps').then(function (
                          response) {
                          return response.json();
                      }).then(function (result) {
                          var mapUrl = result[0].path;
                          resultLayer = new SuperMap.Layer.TiledDynamicRESTLayer(
                              "resultLayer", mapUrl, {
                                  transparent: true
                              });
                          resultLayer.events.on({
                              "layerInitialized": addLayer
                          });

                          function addLayer() {
                              map.addLayer(resultLayer);
                              widgets.loader.removeLoader();
                          }
                      });
                  }
              });
          });

5.显示结果
在这里插入图片描述
完整代码如下:
iClient for Classic:
http://iclient.supermap.io/examples/classic/editor.html#topologyValidatorJobService
iClient for Leaflet:
http://iclient.supermap.io/examples/leaflet/editor.html#topologyValidatorJobService
iClient for Openlayers:
http://iclient.supermap.io/examples/openlayers/editor.html#topologyValidatorJobService

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值