iClient对接大数据叠加分析

在SuperMap iServer分布式分析服务中,提供了针对海量数据的叠加分析功能。具体包括了相交、擦除、合并等七种模式。本文将介绍如何通过iClient对接分布式分析服务中的叠加分析。

开发准备

1、iServer产品,需要开启分布式分析服务,依赖分布式计算集群
2、iClient SDK,可以通过iClient 产品官网进行下载

iServer上的分布式分析叠加分析作业

在分布式分析服务中找到空间分析下的叠加分析overlay
iClient对接大数据叠加分析_第1张图片
填写相关参数
iClient对接大数据叠加分析_第2张图片
创建分析作业,执行完成之后就可以在iServer上预览分析结果
iClient对接大数据叠加分析_第3张图片

iClient 对接分布式空间分析

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

1、引入文件

需要引入leaflet的css和js文件,以及iclient9-leaflet的css,js文件




    
    
    
    
    


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); //将分析结果添加到底图上
                        });
                    }
                });
            });
        }

执行以上代码,如果分析成功我们可以看到一下结果
iClient对接大数据叠加分析_第4张图片
完整的代码可以参考SuperMap iClient官网示例http://iclient.supermap.io/examples/leaflet/editor.html#overlayGeoJobService

你可能感兴趣的:(云GIS,大数据)