多边形与数据集叠加分析用参数 DatasetOverlayAnalystParameters
多边形与多边形叠加分析用参数GeometryOverlayAnalystParameters
叠加数据同时使用了operateDataset和operateRegions时互斥,只有operateDataset生效。
前置条件
发布了对应的空间数据服务
示例代码
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title data-i18n="resources.title_overlayAnalyst"></title>
<script type="text/javascript" src="../js/include-web.js"></script>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
<div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
<script type="text/javascript" src="../../dist/leaflet/include-leaflet.js"></script>
<script type="text/javascript">
var host = window.isLocal ? window.server : "https://iserver.supermap.io";
var map, overlayAnalystService, datasetOverlayAnalystParameters, resultLayer,
baseUrl = "http://localhost:8090/iserver/services/map-kh_L2/rest/maps/China_Province_4326%40kh_L2",
serviceUrl = "http://localhost:8090/iserver/services/spatialAnalysis-kh_L2/restjsr/spatialanalyst";
map = L.map('map', {
crs: L.CRS.EPSG4326,
center: [40.05, 110.85],
maxZoom: 18,
zoom: 3
});
new L.supermap.TiledMapLayer(baseUrl, {transparent: true, cacheEnabled: false, noWrap: true}).addTo(map);
overlayAnalystProcess();
function overlayAnalystProcess() {
overlayAnalystService = new L.supermap.SpatialAnalystService(serviceUrl);
datasetOverlayAnalystParameters = new L.supermap.DatasetOverlayAnalystParameters({
sourceDataset: "hospital@kh_L2",
operateDataset: "school@kh_L2",
tolerance: 0,
operation: L.supermap.OverlayOperationType.CLIP
});
overlayAnalystService.overlayAnalysis(datasetOverlayAnalystParameters, function (serviceResult) {
var result = serviceResult.result;
// resultLayer = L.geoJSON(result.recordset.features).addTo(map);
var features1=serviceResult.result.recordset.features.features;
// console.log(serviceResult.result.recordset.features.features);
overlayAnalystProcess2(features1)//分析结果(该测试数据只有一个多边形)与第三个数据集叠加分析
});
}
function overlayAnalystProcess2(arr) {
overlayAnalystService = new L.supermap.SpatialAnalystService(serviceUrl);
datasetOverlayAnalystParameters = new L.supermap.DatasetOverlayAnalystParameters({
sourceDataset: "police@kh_L2",
operateRegions: arr,
tolerance: 0,
operation: L.supermap.OverlayOperationType.CLIP
});
overlayAnalystService.overlayAnalysis(datasetOverlayAnalystParameters, function (serviceResult) {
var result = serviceResult.result;
resultLayer = L.geoJSON(result.recordset.features).addTo(map);
console.log(serviceResult.result.recordset.features.features);
});
}
</script>
</body>
</html>