Skip to content

Commit 29ba7a6

Browse files
author
caoxinke
committed
添加对接iServer 分布式空间处理服务的例子。
1 parent 49fac9c commit 29ba7a6

24 files changed

+6284
-3253
lines changed

build/deps.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,10 @@ var deps = {
8282
"./src/common/iServer/RouteLocatorService.js",
8383
"./src/common/iServer/SurfaceAnalystService.js",
8484
"./src/common/iServer/TerrainCurvatureCalculationService.js",
85-
"./src/common/iServer/ThiessenAnalystService.js"
86-
85+
"./src/common/iServer/ThiessenAnalystService.js",
86+
//ProcessingJobs
87+
"./src/common/iServer/KernelDensityJobsService.js",
88+
"./src/common/iServer/BuildCacheJobsService.js",
8789
]
8890
},
8991

@@ -169,6 +171,12 @@ var deps = {
169171
"src": [
170172
"./src/leaflet/services/TrafficTransferAnalystService.js"
171173
]
174+
},
175+
"ProcessingJobs": {
176+
"name": "分布式空间处理作业服务",
177+
"src": [
178+
"./src/leaflet/services/ProcessingJobsService.js"
179+
]
172180
}
173181
},
174182

@@ -275,6 +283,12 @@ var deps = {
275283
"src": [
276284
"./src/openlayers/services/TrafficTransferAnalystService.js"
277285
]
286+
},
287+
"ProcessingJobs": {
288+
"name": "分布式空间处理作业服务",
289+
"src": [
290+
"./src/openlayers/services/ProcessingJobsService.js"
291+
]
278292
}
279293
},
280294
"overlay": {

dist/iclient9-leaflet.js

Lines changed: 3426 additions & 2657 deletions
Large diffs are not rendered by default.

dist/iclient9-openlayers.js

Lines changed: 1368 additions & 594 deletions
Large diffs are not rendered by default.
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>格网聚合分析作业</title>
6+
<link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
7+
<link rel="stylesheet" href="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.css">
8+
</head>
9+
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
10+
<button type="button" id="btn" class="btn btn-primary" autocomplete="off">创建格网聚合分析作业</button>
11+
<div id="model" class="modal fade" tabindex="-1" role="dialog">
12+
<div class="modal-dialog" role="document">
13+
<div class="modal-content">
14+
<div class="modal-header">
15+
<h4 class="modal-title">提示</h4>
16+
</div>
17+
<div class="modal-body">
18+
<p>正在创建格网聚合分析作业...</p>
19+
</div>
20+
</div>
21+
</div>
22+
</div>
23+
<div id="map" style="width: 100%;height:100%;border: 1px solid #dddddd"></div>
24+
25+
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
26+
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
27+
<script type="text/javascript" src="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js"></script>
28+
<script type="text/javascript" src="../../dist/iclient9-leaflet.js"></script>
29+
<script type="text/javascript">
30+
var layer, processingJobsUrl = "http://192.168.12.28:8090/iserver/services/processing/rest/v1/jobs",
31+
token = '5JtxoDBziy-6O00kK7UGKl3arPZXaO8OrIHc-3iTzfeS7JFQ_ay4yCvTwtwUuf53YSrosYOsWPiHj9J76KhPZQ..',
32+
map = L.map('map', {
33+
crs: L.supermap.NonEarthCRS({
34+
bounds: L.bounds([40.65, -74.05], [40.85, -73.85]),
35+
origin: L.point(40.65, -73.85)
36+
}),
37+
center: [40.75, -73.95],
38+
zoom: 0
39+
}),
40+
summaryMeshJobParameter = new SuperMap.SummaryMeshJobParameter({
41+
datasetName: 'taxi_newyork_taxi_2013-01_14k',
42+
resolution: 0.001,
43+
resultFieldNames: 'result',
44+
meshType: 0,
45+
fields: 10,
46+
query: L.latLngBounds(L.latLng(40.550, -74.150), L.latLng(40.950, -73.750)),
47+
statisticModes: 'max'
48+
}),
49+
processingJobsService = new L.supermap.processingJobsService(processingJobsUrl);
50+
51+
SuperMap.Credential.CREDENTIAL = new SuperMap.Credential(token, 'token');
52+
53+
$('#btn').on('click', function () {
54+
$('#btn').prop('disabled', true);
55+
$("#model").modal({show: true, backdrop: 'static', keyboard: false});
56+
if (map && layer) {
57+
map.removeLayer(layer);
58+
}
59+
processingJobsService.addSummaryMeshJob(summaryMeshJobParameter, function (serviceResult) {
60+
if (serviceResult.error) {
61+
$('#btn').prop('disabled', false);
62+
$("#model").modal('hide');
63+
alert(serviceResult.error.message);
64+
return;
65+
}
66+
serviceResult.result.setting.serviceInfo.targetServiceInfos.map(function (info) {
67+
if (info.serviceType === 'RESTMAP') {
68+
var mapUrl = info.serviceAddress + '/maps/summaryMesh_map';
69+
L.supermap.tiledMapLayer(mapUrl, {noWrap: true}).addTo(map);
70+
$("#model").modal('hide');
71+
$('#btn').prop('disabled', false);
72+
}
73+
});
74+
});
75+
});
76+
77+
</script>
78+
</body>
79+
</html>
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>生成地图缓存作业</title>
6+
<link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
7+
<link rel="stylesheet" href="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.css">
8+
</head>
9+
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
10+
<button type="button" id="btn" class="btn btn-primary" autocomplete="off">创建生成地图缓存作业</button>
11+
<div id="model" class="modal fade" tabindex="-1" role="dialog">
12+
<div class="modal-dialog" role="document">
13+
<div class="modal-content">
14+
<div class="modal-header">
15+
<h4 class="modal-title">提示</h4>
16+
</div>
17+
<div class="modal-body">
18+
<p>正在创建生成地图缓存作业...</p>
19+
</div>
20+
</div>
21+
</div>
22+
</div>
23+
<div id="map" style="width: 100%;height:100%;border: 1px solid #dddddd"></div>
24+
25+
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
26+
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
27+
<script type="text/javascript" src="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js"></script>
28+
<script type="text/javascript" src="../../dist/iclient9-leaflet.js"></script>
29+
<script type="text/javascript">
30+
var layer, processingJobsUrl = "http://192.168.12.28:8090/iserver/services/processing/rest/v1/jobs",
31+
token = '5JtxoDBziy-6O00kK7UGKl3arPZXaO8OrIHc-3iTzfeS7JFQ_ay4yCvTwtwUuf53YSrosYOsWPiHj9J76KhPZQ..',
32+
map = L.map('map', {
33+
crs: L.supermap.NonEarthCRS({
34+
bounds: L.bounds([40.65, -74.05], [40.85, -73.85]),
35+
origin: L.point(40.65, -73.85)
36+
}),
37+
center: [40.75, -73.95],
38+
maxZoom: 18,
39+
zoom: 0
40+
}),
41+
buildCacheJobParameter = new SuperMap.BuildCacheJobParameter({
42+
datasetName: 'taxi_newyork_taxi_2013-01_14k',
43+
cacheName: 'cache',
44+
cacheType: 'MongoDB',
45+
serverAdresses: ['192.168.12.28:27010'],
46+
database: 'smtiles',
47+
version: 'v1',
48+
bounds: L.latLngBounds(L.latLng(40.550, -74.150), L.latLng(40.950, -73.750)),
49+
imageType: 'Heatmap',
50+
level: 5
51+
}),
52+
processingJobsService = new L.supermap.processingJobsService(processingJobsUrl);
53+
54+
SuperMap.Credential.CREDENTIAL = new SuperMap.Credential(token, 'token');
55+
56+
$('#btn').on('click', function () {
57+
$('#btn').prop('disabled', true);
58+
$("#model").modal({show: true, backdrop: 'static', keyboard: false});
59+
if (map && layer) {
60+
map.removeLayer(layer);
61+
}
62+
processingJobsService.addBuildCacheJob(buildCacheJobParameter, function (serviceResult) {
63+
if (serviceResult.error) {
64+
$('#btn').prop('disabled', false);
65+
$("#model").modal('hide');
66+
alert(serviceResult.error.message);
67+
return;
68+
}
69+
serviceResult.result.setting.serviceInfo.targetServiceInfos.map(function (info) {
70+
if (info.serviceType === 'RESTMAP') {
71+
var mapUrl = info.serviceAddress + '/maps/cache';
72+
L.supermap.tiledMapLayer(mapUrl, {noWrap: true}).addTo(map);
73+
$("#model").modal('hide');
74+
$('#btn').prop('disabled', false);
75+
}
76+
});
77+
});
78+
});
79+
80+
</script>
81+
</body>
82+
</html>
15.1 KB
Loading
13.9 KB
Loading
14.2 KB
Loading
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>核密度分析作业</title>
6+
<link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
7+
<link rel="stylesheet" href="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.css">
8+
</head>
9+
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
10+
<button type="button" id="btn" class="btn btn-primary" autocomplete="off">创建核密度分析作业</button>
11+
<div id="model" class="modal fade" tabindex="-1" role="dialog">
12+
<div class="modal-dialog" role="document">
13+
<div class="modal-content">
14+
<div class="modal-header">
15+
<h4 class="modal-title">提示</h4>
16+
</div>
17+
<div class="modal-body">
18+
<p>正在创建核密度分析作业...</p>
19+
</div>
20+
</div>
21+
</div>
22+
</div>
23+
<div id="map" style="width: 100%;height:100%;border: 1px solid #dddddd"></div>
24+
25+
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
26+
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
27+
<script type="text/javascript" src="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js"></script>
28+
<script type="text/javascript" src="../../dist/iclient9-leaflet.js"></script>
29+
<script type="text/javascript">
30+
var layer, processingJobsUrl = "http://192.168.12.28:8090/iserver/services/processing/rest/v1/jobs",
31+
token = '5JtxoDBziy-6O00kK7UGKl3arPZXaO8OrIHc-3iTzfeS7JFQ_ay4yCvTwtwUuf53YSrosYOsWPiHj9J76KhPZQ..',
32+
map = L.map('map', {
33+
crs: L.supermap.NonEarthCRS({
34+
bounds: L.bounds([40.65, -74.05], [40.85, -73.85]),
35+
origin: L.point(40.65, -73.85)
36+
}),
37+
center: [40.75, -73.95],
38+
zoom: 0
39+
}),
40+
kernelDensityJobParameter = new SuperMap.KernelDensityJobParameter({
41+
datasetName: 'taxi_newyork_taxi_2013-01_14k',
42+
resolution: 0.001,
43+
method: 0,
44+
meshType: 0,
45+
fields: 10,
46+
query: L.latLngBounds(L.latLng(40.550, -74.150), L.latLng(40.950, -73.750)),
47+
radius: 0.01
48+
}),
49+
processingJobsService = new L.supermap.processingJobsService(processingJobsUrl);
50+
51+
SuperMap.Credential.CREDENTIAL = new SuperMap.Credential(token, 'token');
52+
53+
$('#btn').on('click', function () {
54+
$('#btn').prop('disabled', true);
55+
$("#model").modal({show: true, backdrop: 'static', keyboard: false});
56+
if (map && layer) {
57+
map.removeLayer(layer);
58+
}
59+
processingJobsService.addKernelDensityJob(kernelDensityJobParameter, function (serviceResult) {
60+
if (serviceResult.error) {
61+
$('#btn').prop('disabled', false);
62+
$("#model").modal('hide');
63+
alert(serviceResult.error.message);
64+
return;
65+
}
66+
serviceResult.result.setting.serviceInfo.targetServiceInfos.map(function (info) {
67+
if (info.serviceType === 'RESTMAP') {
68+
var mapUrl = info.serviceAddress + '/maps/kernelDensity_map';
69+
L.supermap.tiledMapLayer(mapUrl, {noWrap: true}).addTo(map);
70+
$("#model").modal('hide');
71+
$('#btn').prop('disabled', false);
72+
}
73+
});
74+
});
75+
});
76+
77+
</script>
78+
</body>
79+
</html>
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>格网聚合分析作业</title>
6+
<link href="http://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
7+
<link href="http://cdn.bootcss.com/openlayers/4.0.1/ol.css" rel="stylesheet">
8+
</head>
9+
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
10+
<button type="button" id="btn" class="btn btn-primary" autocomplete="off">创建格网聚合分析作业</button>
11+
<div id="model" class="modal fade" tabindex="-1" role="dialog">
12+
<div class="modal-dialog" role="document">
13+
<div class="modal-content">
14+
<div class="modal-header">
15+
<h4 class="modal-title">提示</h4>
16+
</div>
17+
<div class="modal-body">
18+
<p>正在创建格网聚合分析作业...</p>
19+
</div>
20+
</div>
21+
</div>
22+
</div>
23+
<div id="map" style="width: 100%;height:100%;border: 1px solid #dddddd"></div>
24+
25+
<script src="http://cdn.bootcss.com/openlayers/4.0.1/ol-debug.js"></script>
26+
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
27+
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
28+
<script type="text/javascript" src="../../dist/iclient9-openlayers.js"></script>
29+
<script type="text/javascript">
30+
var layer, processingJobsUrl = "http://192.168.12.28:8090/iserver/services/processing/rest/v1/jobs",
31+
token = '5JtxoDBziy-6O00kK7UGKl3arPZXaO8OrIHc-3iTzfeS7JFQ_ay4yCvTwtwUuf53YSrosYOsWPiHj9J76KhPZQ..',
32+
extent = [-74.05, 40.65, -73.85, 40.85],
33+
projection = new ol.proj.Projection({
34+
extent: extent,
35+
units: 'm'
36+
}),
37+
map = new ol.Map({
38+
target: 'map',
39+
view: new ol.View({
40+
center: [-73.95, 40.75],
41+
zoom: 0,
42+
projection: projection
43+
})
44+
}),
45+
summaryMeshJobParameter = new SuperMap.SummaryMeshJobParameter({
46+
datasetName: 'taxi_newyork_taxi_2013-01_14k',
47+
resolution: 0.001,
48+
resultFieldNames: 'result',
49+
meshType: 0,
50+
fields: 10,
51+
query: [-74.150, 40.550, -73.750, 40.950],
52+
statisticModes: 'max'
53+
}),
54+
processingJobsService = new ol.supermap.ProcessingJobsService(processingJobsUrl);
55+
56+
SuperMap.Credential.CREDENTIAL = new SuperMap.Credential(token, 'token');
57+
58+
$('#btn').on('click', function () {
59+
$('#btn').prop('disabled', true);
60+
$("#model").modal({show: true, backdrop: 'static', keyboard: false});
61+
if (map && layer) {
62+
map.removeLayer(layer);
63+
}
64+
processingJobsService.addSummaryMeshJob(summaryMeshJobParameter, function (serviceResult) {
65+
if (serviceResult.error) {
66+
$('#btn').prop('disabled', false);
67+
$("#model").modal('hide');
68+
alert(serviceResult.error.message);
69+
return;
70+
}
71+
serviceResult.result.setting.serviceInfo.targetServiceInfos.map(function (info) {
72+
if (info.serviceType === 'RESTMAP') {
73+
var mapUrl = info.serviceAddress + '/maps/summaryMesh_map';
74+
new ol.supermap.MapService(mapUrl).getMapInfo(function (mapInfo) {
75+
layer = new ol.layer.Tile({
76+
source: new ol.supermap.TileSuperMapRest(ol.supermap.TileSuperMapRest.optionsFromMapJSON(mapUrl, mapInfo.result))
77+
});
78+
map.addLayer(layer);
79+
$("#model").modal('hide');
80+
$('#btn').prop('disabled', false);
81+
});
82+
}
83+
});
84+
});
85+
});
86+
87+
</script>
88+
</body>
89+
</html>

0 commit comments

Comments
 (0)