Skip to content

Commit 132fbe6

Browse files
author
caoxinke
committed
添加大数据分析 范围分析范例
1 parent 7baa820 commit 132fbe6

22 files changed

+9493
-7284
lines changed

build/deps.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ deps = {
9090
"./src/common/iServer/KernelDensityJobsService.js",
9191
"./src/common/iServer/BuildCacheJobsService.js",
9292
"./src/common/iServer/SingleObjectQueryJobsService.js",
93+
"./src/common/iServer/SummaryMeshJobsService.js",
94+
"./src/common/iServer/SummaryRegionJobsService.js",
9395
//AddressService
9496
"./src/common/iServer/AddressMatchService.js",
9597
],
@@ -323,7 +325,7 @@ deps = {
323325
"modules": [{
324326
"name": "L.supermap.dataFlowService",
325327
"des": "实时大数据服务"
326-
},{
328+
}, {
327329
"name": "L.supermap.dataFlowLayer",
328330
"des": "实时大数据图层"
329331
}]
@@ -609,7 +611,7 @@ deps = {
609611
"modules": [{
610612
"name": "ol.supermap.DataFlowService",
611613
"des": "实时大数据服务"
612-
},{
614+
}, {
613615
"name": "ol.source.DataFlow",
614616
"des": "实时大数据"
615617
}]

dist/iclient9-leaflet.js

Lines changed: 613 additions & 299 deletions
Large diffs are not rendered by default.

dist/iclient9-leaflet.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/iclient9-legacy.js

Lines changed: 422 additions & 59 deletions
Large diffs are not rendered by default.

dist/iclient9-legacy.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/iclient9-openlayers.js

Lines changed: 6923 additions & 6611 deletions
Large diffs are not rendered by default.

dist/iclient9-openlayers.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
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+
<div id="model" class="modal fade" tabindex="-1" role="dialog">
11+
<div class="modal-dialog" role="document">
12+
<div class="modal-content">
13+
<div class="modal-header">
14+
<h4 class="modal-title">提示</h4>
15+
</div>
16+
<div class="modal-body">
17+
<p>正在创建范围分析作业...</p>
18+
</div>
19+
</div>
20+
</div>
21+
</div>
22+
<div id="map" style="width: 100%;height:100%"></div>
23+
24+
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
25+
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
26+
<script type="text/javascript" src="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.js"></script>
27+
<script type="text/javascript" src="../../dist/iclient9-leaflet.min.js"></script>
28+
<script type="text/javascript">
29+
var layer, processingJobsUrl = "http://117.122.248.69:8090/iserver/services/spatialprocessing/rest/v1/jobs",
30+
token = 'oZdJwpVhYnPNEAt8-ykB-Cy39gEZkdvPZ9knTbCdui1SoBeXWVCwx-j5tOVSScotsUX1qwZF44X9m6wNME1kBg..',
31+
map = L.map('map', {
32+
crs: L.CRS.TianDiTu_WGS84,
33+
center: [40.75, -73.95],
34+
maxZoom: 18,
35+
zoom: 12
36+
}),
37+
info = L.control({position: 'topright'}),
38+
query = [];
39+
L.supermap.tiandituTileLayer("http://t{s}.tianditu.com/vec_c/wmts", {
40+
layer: "vec",
41+
tilematrixSet: "c"
42+
}).addTo(map);
43+
44+
info.onAdd = function () {
45+
var popup = L.DomUtil.create('div');
46+
popup.style = 'width:420px';
47+
popup.innerHTML = "<div class='panel panel-default'>" +
48+
"<div class='panel-heading'>" +
49+
"<h3 class='panel-title'>范围分析作业</h3>" +
50+
"</div><div class='panel-body'>" +
51+
"<div class='input-group'>" +
52+
"<span class='input-group-addon'>输入数据     </span>" +
53+
"<input id='datasetName' type='text' class='form-control'placeholder='ProcessingData_processing_newyorkZone_R'/>" +
54+
"</div><p><div class='input-group'>" +
55+
"<span class='input-group-addon'>汇总类型     </span> <div>" +
56+
"<select class='form-control' id='type' name='clientType'>" +
57+
"<option value='SUMMARYMESH' selected='selected'>网格面汇总</option>" +
58+
"<option value='SUMMARYREGION'>多边形汇总</option>" +
59+
"</select></div></div><p>" +
60+
"<div class='input-group'>" +
61+
"<span class='input-group-addon'>网格面汇总类型  </span>" +
62+
"<select class='form-control' id='meshType' name='clientType'>" +
63+
"<option value='0' selected='selected'>四边形网格</option>" +
64+
"<option value='1'>六边形网格</option>" +
65+
"</select></div><p><div class='input-group'>" +
66+
"<span class='input-group-addon'>分析范围     </span>" +
67+
"<input id='query' type='text' class='form-control' placeholder='-74.050,40.650,-73.850,40.850'/>" +
68+
"</div><p><p><div class='input-group'>" +
69+
"<span class='input-group-addon'>以标准属性字段统计</span>" +
70+
"<span class='form-control'>" +
71+
"<input id='standardSummaryFields' type='checkbox'>" +
72+
"</span><span class='input-group-addon'>以权重字段统计 </span>" +
73+
"<span class='form-control'><input id='weightedSummaryFields' type='checkbox'>" +
74+
"</span></div><p><div id='standardS' style='display: none'>" +
75+
"<div class='input-group'><span class='input-group-addon'>属性字段统计模式 </span>" +
76+
"<input id='standardStatisticModes' type='text' class='form-control' placeholder='max'/>" +
77+
"</div><p><div class='input-group'>" +
78+
"<span class='input-group-addon'>属性字段名    </span>" +
79+
"<input id='standardFields' type='text' class='form-control' placeholder='LocationID'/>" +
80+
"</div><p></div><div id='weightS' style='display: none'>" +
81+
"<div class='input-group'><span class='input-group-addon'>权重字段统计模式 </span>" +
82+
"<input id='weightedStatisticModes' type='text' class='form-control' placeholder='max'/>" +
83+
"</div><p><div class='input-group'><span class='input-group-addon'>权重字段名    </span>" +
84+
"<input id='weightedFields' type='text' class='form-control' placeholder='LocationID'/>" +
85+
"</div><p></div><div class='input-group'>" +
86+
"<span class='input-group-addon'>网格大小     </span>" +
87+
"<input id='resolution' type='text' class='form-control' placeholder='100'/>" +
88+
"</div><p><div class='input-group'><span class='input-group-addon'>网格大小单位   </span>" +
89+
"<select class='form-control' id='meshSizeUnit' name='clientType'>" +
90+
"<option value='Meter' selected='selected'>Meter</option>" +
91+
"<option value='Kilometer'>Kilometer</option>" +
92+
"<option value='Yard'>Yard</option>" +
93+
"<option value='Foot'>Foot</option>" +
94+
"<option value='Mile'>Mile</option>" +
95+
"</select></div><p><div class='input-group'>" +
96+
"<span class='input-group-addon'>是否统计长度或面积</span>" +
97+
"<span class='form-control'><input id='sumShape' type='checkbox' checked>" +
98+
"</span></div><p><div align='right'>" +
99+
"<input type='button' id='btn' class='btn btn-primary' value='创建'/></div></div>"
100+
handleMapEvent(popup, this._map);
101+
return popup;
102+
};
103+
info.addTo(map);
104+
105+
$("#standardSummaryFields").change(function (e) {
106+
if (e.target.checked) {
107+
$("#standardS").show();
108+
return;
109+
}
110+
$("#standardS").hide();
111+
});
112+
$("#weightedSummaryFields").change(function (e) {
113+
if (e.target.checked) {
114+
$("#weightS").show();
115+
return;
116+
}
117+
$("#weightS").hide();
118+
});
119+
($('#query').val() || $('#query').attr('placeholder')).split(',').map(function (el) {
120+
return query.push(parseFloat(el));
121+
});
122+
var processingJobsService = new L.supermap.processingJobsService(processingJobsUrl);
123+
SuperMap.SecurityManager.registerToken("http://117.122.248.69:8090", token);
124+
125+
$('#btn').on('click', function () {
126+
$('#btn').prop('disabled', true);
127+
$("#model").modal({show: true, backdrop: 'static', keyboard: false});
128+
if (map && layer) {
129+
map.removeLayer(layer);
130+
}
131+
var summaryRegionJobParameter = new SuperMap.SummaryRegionJobParameter({
132+
datasetName: $('#datasetName').val() || $('#datasetName').attr('placeholder'),
133+
regionDataset: $('#type option:selected').attr('value') === 'SUMMARYREGION' ? $('#datasetName').val() || $('#datasetName').attr('placeholder') : undefined,
134+
type: $('#type option:selected').attr('value'),
135+
meshType: $('#meshType option:selected').attr('value'),
136+
query: L.latLngBounds(L.latLng(query[1], query[0]), L.latLng(query[3], query[2])),
137+
standardSummaryFields: $('#standardSummaryFields').get(0).checked,
138+
weightedSummaryFields: $('#weightedSummaryFields').get(0).checked,
139+
standardStatisticModes: $('#standardStatisticModes').val() || $('#standardStatisticModes').attr('placeholder'),
140+
standardFields: $('#standardFields').val() || $('#standardFields').attr('placeholder'),
141+
weightedStatisticModes: $('#weightedStatisticModes').val() || $('#weightedStatisticModes').attr('placeholder'),
142+
weightedFields: $('#weightedFields').val() || $('#weightedFields').attr('placeholder'),
143+
resolution: $('#resolution').val() || $('#resolution').attr('placeholder'),
144+
meshSizeUnit: $('#meshSizeUnit option:selected').attr('value'),
145+
sumShape: $('#sumShape').get(0).checked
146+
});
147+
processingJobsService.addSummaryRegionJob(summaryRegionJobParameter, function (serviceResult) {
148+
if (serviceResult.error) {
149+
$('#btn').prop('disabled', false);
150+
$("#model").modal('hide');
151+
showAlert("创建失败!<br>" + serviceResult.error.errorMsg, false);
152+
return;
153+
}
154+
serviceResult.result.setting.serviceInfo.targetServiceInfos.map(function (info) {
155+
if (info.serviceType === 'RESTMAP') {
156+
SuperMap.FetchRequest.get(info.serviceAddress + '/maps').then(function (response) {
157+
return response.json();
158+
}).then(function (result) {
159+
var mapUrl = result[0].path;
160+
layer = L.supermap.imageMapLayer(mapUrl, {noWrap: true, transparent: true});
161+
layer.addTo(map);
162+
$("#model").modal('hide');
163+
$('#btn').prop('disabled', false);
164+
});
165+
}
166+
});
167+
});
168+
});
169+
170+
function handleMapEvent(div, map) {
171+
if (!div || !map) {
172+
return;
173+
}
174+
div.addEventListener('mouseover', function () {
175+
map.dragging.disable();
176+
map.scrollWheelZoom.disable();
177+
map.doubleClickZoom.disable();
178+
});
179+
div.addEventListener('mouseout', function () {
180+
map.dragging.enable();
181+
map.scrollWheelZoom.enable();
182+
map.doubleClickZoom.enable();
183+
});
184+
}
185+
186+
function showAlert(msg, state) {
187+
var className = "alert-";
188+
className += state ? "success" : "danger";
189+
if (!$('#msg_container')[0]) {
190+
var alertDiv = $("<div class='alert alert-dismissible' id='msg_container' role='alert' " +
191+
"style='z-index:800;position: absolute;top: 20px;margin:auto;left: 40%;width:400px;display: none'>" +
192+
"<button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>&times;</span></button>" +
193+
"<strong><p id='msg'></p></strong></div>");
194+
$('body').append(alertDiv)
195+
}
196+
$('#msg_container').addClass(className);
197+
$('#msg_container').slideDown(300);
198+
$('#msg').html(msg);
199+
}
200+
</script>
201+
</body>
202+
</html>

examples/leaflet/config.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ var exampleConfig = {
212212
}]
213213
},
214214
"processingJobs": {
215-
name: "大数据空间分析",
215+
name: "大数据分析",
216216
content: [{
217217
name: "密度分析作业",
218218
thumbnail: "kernelDensityJobService.png",
@@ -229,7 +229,10 @@ var exampleConfig = {
229229
name: "单对象查询分析作业",
230230
thumbnail: "l_singleObjectQueryJob.png",
231231
fileName: "singleObjectQueryJobService"
232-
232+
}, {
233+
name: "范围分析作业",
234+
thumbnail: "SummaryRegionJobService.png",
235+
fileName: "SummaryRegionJobService"
233236
}]
234237
},
235238
"addressMatch": {
39.2 KB
Loading

0 commit comments

Comments
 (0)