本文主要是介绍iClient对接大数据叠加分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在SuperMap iServer分布式分析服务中,提供了针对海量数据的叠加分析功能。具体包括了相交、擦除、合并等七种模式。本文将介绍如何通过iClient对接分布式分析服务中的叠加分析。
开发准备
1、iServer产品,需要开启分布式分析服务,依赖分布式计算集群
2、iClient SDK,可以通过iClient 产品官网进行下载
iServer上的分布式分析叠加分析作业
在分布式分析服务中找到空间分析下的叠加分析overlay
填写相关参数
创建分析作业,执行完成之后就可以在iServer上预览分析结果
iClient 对接分布式空间分析
SuperMap提供了多个GIS前端开发框架,我们在这以iClient for Leaflet为例来对接
1、引入文件
需要引入leaflet的css和js文件,以及iclient9-leaflet的css,js文件
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.3.1/leaflet.css" /><link rel="stylesheet" href="http://iclient.supermap.io/dist/leaflet/iclient9-leaflet.min.css" /><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.3.1/leaflet.js"></script><script type="text/javascript" src="http://iclient.supermap.io/dist/leaflet/iclient9-leaflet.js"></script>
</head>
</html>
2、创建底图
将底图添加到map中
var map = L.map('map', {crs: L.CRS.EPSG4326,center: [40.75, -73.95],maxZoom: 18,zoom: 12});
L.supermap.tiledMapLayer(mapURL).addTo(map);
3、创建分布式空间分析服务
分析模式有7种模式,包括裁剪,相交,擦除,合并,更新,同一,对称差分析。我们这里以裁剪为例。
//叠加分析参数类
var overlayGeoJobParameter = new SuperMap.OverlayGeoJobParameter({datasetName: 'smtiles_processing_newyorkZone_R', //源数据集datasetOverlay: 'smtiles_processing_singleRegion_R', //叠加数据集mode: 'clip', //叠加分析模式srcFields: 'LocationID', //源数据保留字段overlayFields: 'type' //叠加数据保留字段});processingService.addOverlayGeoJob(overlayGeoJobParameter, function (serviceResult) {//分析失败处理if (serviceResult.error) {var errorMsg = serviceResult.error.errorMsg || "code: " + serviceResult.error.code;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;layer = L.supermap.tiledMapLayer(mapUrl, {noWrap: true,transparent: true});layer.addTo(map); //将分析结果添加到底图上});}});});}
执行以上代码,如果分析成功我们可以看到一下结果
完整的代码可以参考SuperMap iClient官网示例http://iclient.supermap.io/examples/leaflet/editor.html#overlayGeoJobService
这篇关于iClient对接大数据叠加分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!