Skip to content

Commit ab721e8

Browse files
author
raoqingyun
committed
分布式分析示范程序中单对象查询、矢量裁剪增加绘制任意多边形分析 commit by zhangzhw review by caoxinke
1 parent 26fdee8 commit ab721e8

25 files changed

+65025
-64244
lines changed

dist/iclient-classic.js

Lines changed: 2925 additions & 2875 deletions
Large diffs are not rendered by default.

dist/iclient-classic.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-leaflet.js

Lines changed: 20962 additions & 21015 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-mapboxgl.js

Lines changed: 19755 additions & 19707 deletions
Large diffs are not rendered by default.

dist/iclient9-mapboxgl.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: 20655 additions & 20606 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.

examples/classic/singleObjectQueryJobService.html

Lines changed: 75 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@
1010
top: 10px;
1111
right: 10px;
1212
}
13-
13+
.control-draw {
14+
position: absolute;
15+
top: 80px;
16+
left: 5px;
17+
display: none;
18+
}
1419
#map {
1520
position: absolute;
1621
}
@@ -30,6 +35,14 @@ <h3 class='panel-title'>单对象查询分析</h3>
3035
value='samples_processing_newyorkZone_R'/></div>
3136
<p></p>
3237
<div class='input-group'>
38+
<span class='input-group-addon'>查询对象模式<span title="必填字段" style="color: red;"> * </span></span>
39+
<select class='form-control' id='queryMode' name='queryMode'>
40+
<option value='DATASET' selected>数据集</option>
41+
<option value='GEOJSON'>Geojson</option>
42+
</select>
43+
</div>
44+
<p></p>
45+
<div class='input-group' id='datasetDiv'>
3346
<span class='input-group-addon'>查询对象数据集<span title="必填字段" style="color: red;"> * </span></span>
3447
<input id='datasetQuery' type='text' class='form-control'
3548
value='samples_processing_singleRegion_R'/>
@@ -55,26 +68,55 @@ <h3 class='panel-title'>单对象查询分析</h3>
5568
</div>
5669
</div>
5770
</div>
71+
<div id="draw" class="control-draw">
72+
<div class="btn-group" role="group" aria-label="...">
73+
<button id="drawPolygon" value='Polygon' type="button" class="btn btn-default">绘面</button><br>
74+
<button id="clear" value='Clear' type="button" class="btn btn-default">清除</button>
75+
</div>
76+
</div>
5877
<script type="text/javascript" src="../../dist/include-classic.js"></script>
5978
<script type="text/javascript">
6079
var host = window.isLocal ? document.location.protocol + "//" + document.location.host : "http://117.122.248.69:8090";
61-
var resultLayer,
80+
var style = {
81+
strokeColor: "#304DBE",
82+
strokeWidth: 2,
83+
pointerEvents: "visiblePainted",
84+
fillColor: "#304DBE",
85+
fillOpacity: 0.8
86+
};
87+
var resultLayer,drawPolygon, polygonLayer,points = [],
6288
processingsUrl = host + "/iserver/services/distributedanalyst/rest/v1/jobs",
6389
mapURL = host + "/iserver/services/map-world/rest/maps/World",
6490
token = 'ObpcGH_Q3L4d6Ow1FLJlbvn-3joeHSL4puxenZr-hBbG3bqnziyGSf705LFwcMWR48cgIBRb5UH1AghE9HVPSQ..',
91+
polygonLayer = new SuperMap.Layer.Vector("polygonLayer");
92+
polygonLayer.style = style;
93+
drawPolygon = new SuperMap.Control.DrawFeature(polygonLayer, SuperMap.Handler.Polygon);
94+
drawPolygon.events.on({"featureadded": drawCompleted});
6595
map = new SuperMap.Map("map", {
6696
controls: [
6797
new SuperMap.Control.Navigation(),
6898
new SuperMap.Control.Zoom(),
69-
new SuperMap.Control.LayerSwitcher()
70-
99+
new SuperMap.Control.LayerSwitcher(),
100+
drawPolygon
71101
], allOverlays: true
72102
});
73103
var layer = new SuperMap.Layer.TiledDynamicRESTLayer("World", mapURL, null, {maxResolution: "auto"});
74104
layer.events.on({"layerInitialized": addLayer});
75105

106+
$("#queryMode").change(function () {
107+
var queryMode = $(this).val();
108+
if (queryMode === "DATASET"){
109+
$('#draw').hide();
110+
$('#datasetDiv').show();
111+
}
112+
if (queryMode === "GEOJSON"){
113+
$('#draw').show();
114+
$('#datasetDiv').hide();
115+
}
116+
});
117+
76118
function addLayer() {
77-
map.addLayers([layer]);
119+
map.addLayers([layer,polygonLayer]);
78120
map.setCenter(new SuperMap.LonLat(-73.95, 40.75), 12);
79121
}
80122

@@ -96,12 +138,39 @@ <h3 class='panel-title'>单对象查询分析</h3>
96138
}
97139
queryJobs();
98140
});
141+
$('#drawPolygon').on('click', function () {
142+
drawPolygon.activate();
143+
polygonLayer.removeAllFeatures();
144+
});
145+
$('#clear').on('click', function () {
146+
polygonLayer.removeAllFeatures();
147+
points = [];
148+
});
149+
}
150+
151+
function drawCompleted(drawGeometryArgs) {
152+
drawPolygon.deactivate();
153+
points = drawGeometryArgs.feature.geometry.components[0].components;
99154
}
100155

101156
function queryJobs() {
157+
var queryParam;
158+
if ($("#queryMode").val() === "DATASET") {
159+
queryParam = $('#datasetQuery').val();
160+
}
161+
if ($("#queryMode").val() === "GEOJSON") {
162+
if (points.length < 1){
163+
removeLoader();
164+
showAlert("创建失败!<br>" + "请绘制查询范围!", false);
165+
return;
166+
} else {
167+
queryParam = "";
168+
}
169+
}
102170
var singleObjectQueryJobsParameter = new SuperMap.SingleObjectQueryJobsParameter({
103171
datasetName: $('#datasetName').val(),
104-
datasetQuery: $('#datasetQuery').val(),
172+
datasetQuery: queryParam,
173+
geometryQuery: points,
105174
mode: $('#mode option:selected').attr('value')
106175
});
107176
processingService.addQueryJob(singleObjectQueryJobsParameter, function (serviceResult) {

examples/classic/vectorClipJobService.html

Lines changed: 76 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@
1010
top: 10px;
1111
right: 10px;
1212
}
13-
13+
.control-draw {
14+
position: absolute;
15+
top: 80px;
16+
left: 5px;
17+
display: none;
18+
}
1419
#map {
1520
position: absolute;
1621
}
@@ -30,8 +35,16 @@ <h3 class='panel-title'>矢量裁剪分析</h3>
3035
value='samples_processing_newyorkZone_R'/></div>
3136
<p></p>
3237
<div class='input-group'>
38+
<span class='input-group-addon'>查询对象模式<span title="必填字段" style="color: red;"> * </span></span>
39+
<select class='form-control' id='clipMode' name='clipMode'>
40+
<option value='DATASET' selected>数据集</option>
41+
<option value='GEOJSON'>Geojson</option>
42+
</select>
43+
</div>
44+
<p></p>
45+
<div class='input-group' id='datasetDiv'>
3346
<span class='input-group-addon'>裁剪对象数据集<span title="必填字段" style="color: red;"> * </span></span>
34-
<input id='datasetOverlay' type='text' class='form-control'
47+
<input id='datasetVectorClip' type='text' class='form-control'
3548
value='samples_processing_singleRegion_R'/>
3649
</div>
3750
<p></p>
@@ -49,27 +62,56 @@ <h3 class='panel-title'>矢量裁剪分析</h3>
4962
</div>
5063
</div>
5164
</div>
65+
<div id="draw" class="control-draw">
66+
<div class="btn-group" role="group" aria-label="...">
67+
<button id="drawPolygon" value='Polygon' type="button" class="btn btn-default">绘面</button><br>
68+
<button id="clear" value='Clear' type="button" class="btn btn-default">清除</button>
69+
</div>
70+
</div>
5271
<script type="text/javascript" src="../../dist/include-classic.js"></script>
5372
<script type="text/javascript">
5473
var host = window.isLocal ? document.location.protocol + "//" + document.location.host : "http://117.122.248.69:8090";
55-
var layer, resultLayer,
74+
var style = {
75+
strokeColor: "#304DBE",
76+
strokeWidth: 2,
77+
pointerEvents: "visiblePainted",
78+
fillColor: "#304DBE",
79+
fillOpacity: 0.8
80+
};
81+
var layer, resultLayer,drawPolygon, polygonLayer,points = [],
5682
processingsUrl = host + "/iserver/services/distributedanalyst/rest/v1/jobs",
5783
mapURL = host + "/iserver/services/map-world/rest/maps/World",
5884
token = 'ObpcGH_Q3L4d6Ow1FLJlbvn-3joeHSL4puxenZr-hBbG3bqnziyGSf705LFwcMWR48cgIBRb5UH1AghE9HVPSQ..',
85+
polygonLayer = new SuperMap.Layer.Vector("polygonLayer");
86+
polygonLayer.style = style;
87+
drawPolygon = new SuperMap.Control.DrawFeature(polygonLayer, SuperMap.Handler.Polygon);
88+
drawPolygon.events.on({"featureadded": drawCompleted});
5989
map = new SuperMap.Map("map", {
6090
controls: [
6191
new SuperMap.Control.Navigation(),
6292
new SuperMap.Control.Zoom(),
63-
new SuperMap.Control.LayerSwitcher()
64-
93+
new SuperMap.Control.LayerSwitcher(),
94+
drawPolygon
6595
], allOverlays: true
6696
});
6797
map.addControl(new SuperMap.Control.MousePosition());
6898
var layer = new SuperMap.Layer.TiledDynamicRESTLayer("World", mapURL, null, {maxResolution: "auto"});
6999
layer.events.on({"layerInitialized": addLayer});
70100

101+
$("#clipMode").change(function () {
102+
var clipMode = $(this).val();
103+
if (clipMode === "DATASET"){
104+
$('#draw').hide();
105+
$('#datasetDiv').show();
106+
}
107+
if (clipMode === "GEOJSON"){
108+
$('#draw').show();
109+
$('#datasetDiv').hide();
110+
}
111+
});
112+
71113
function addLayer() {
72-
map.addLayers([layer]);
114+
map.addLayers([layer,polygonLayer]);
73115
map.setCenter(new SuperMap.LonLat(-73.95, 40.75), 12);
74116
}
75117

@@ -91,12 +133,39 @@ <h3 class='panel-title'>矢量裁剪分析</h3>
91133
}
92134
addVectorClipJobs();
93135
});
136+
$('#drawPolygon').on('click', function () {
137+
drawPolygon.activate();
138+
polygonLayer.removeAllFeatures();
139+
});
140+
$('#clear').on('click', function () {
141+
polygonLayer.removeAllFeatures();
142+
points = [];
143+
});
144+
}
145+
146+
function drawCompleted(drawGeometryArgs) {
147+
drawPolygon.deactivate();
148+
points = drawGeometryArgs.feature.geometry.components[0].components;
94149
}
95150

96151
function addVectorClipJobs() {
152+
var clipParam;
153+
if ($('#clipMode').val() === "DATASET") {
154+
clipParam = $('#datasetVectorClip').val();
155+
}
156+
if ($('#clipMode').val() === "GEOJSON") {
157+
if (points.length < 1){
158+
removeLoader();
159+
showAlert("创建失败!<br>" + "请绘制裁剪范围!", false);
160+
return;
161+
} else {
162+
clipParam = "";
163+
}
164+
}
97165
var vectorClipJobsParameter = new SuperMap.VectorClipJobsParameter({
98166
datasetName: $('#datasetName').val(),
99-
datasetOverlay: $('#datasetOverlay').val(),
167+
datasetVectorClip: clipParam,
168+
geometryClip: points,
100169
mode: $('#mode option:selected').attr('value')
101170
});
102171
processingService.addVectorClipJob(vectorClipJobsParameter, function (serviceResult) {

0 commit comments

Comments
 (0)