04_generateSpatialDataService.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta charset="UTF-8">
  8. <title data-i18n="resources.title_dynamicSegmentation"></title>
  9. <script type="text/javascript" src="../js/include-web.js"></script>
  10. <script type="text/javascript" src="../../dist/ol/include-ol.js"></script>
  11. </head>
  12. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%; position: absolute;top: 0;">
  13. <div id="map" style="width: 100%;height:100%"></div>
  14. <script type="text/javascript">
  15. var map, options,
  16. baseUrl = (window.isLocal ? window.server : "https://iserver.supermap.io")+"/iserver/services/map-changchun/rest/maps/长春市区图",
  17. serviceUrl = (window.isLocal ? window.server : "https://iserver.supermap.io")+"/iserver/services/spatialanalyst-changchun/restjsr/spatialanalyst";
  18. var extent = [48.4, -7668.25, 8958.85, -55.58];
  19. var projection = new ol.proj.Projection({
  20. code:'',
  21. extent: extent,
  22. units: 'm'
  23. });
  24. new ol.supermap.MapService(baseUrl).getMapInfo(function (serviceResult) {
  25. var mapJSONObj = serviceResult.result;
  26. map = new ol.Map({
  27. target: 'map',
  28. controls: ol.control.defaults({attributionOptions: {collapsed: false}})
  29. .extend([new ol.supermap.control.Logo()]),
  30. view: new ol.View({
  31. center: [4503.62, -3861.91],
  32. zoom: 1,
  33. projection: projection,
  34. multiWorld: true
  35. })
  36. });
  37. options = ol.source.TileSuperMapRest.optionsFromMapJSON(baseUrl, mapJSONObj);
  38. var layer = new ol.layer.Tile({
  39. source: new ol.source.TileSuperMapRest(options)
  40. });
  41. map.addLayer(layer);
  42. generateSpatialDataAnalystProcess();
  43. });
  44. function generateSpatialDataAnalystProcess() {
  45. //配置动态分段Parameters
  46. var generateSpatialDataParameters = new SuperMap.GenerateSpatialDataParameters({
  47. routeTable: "RouteDT_road@Changchun",
  48. routeIDField: "RouteID",
  49. eventTable: "LinearEventTabDT@Changchun",
  50. eventRouteIDField: "RouteID",
  51. measureField: "",
  52. measureStartField: "LineMeasureFrom",
  53. measureEndField: "LineMeasureTo",
  54. measureOffsetField: "",
  55. errorInfoField: "",
  56. dataReturnOption: new SuperMap.DataReturnOption({
  57. expectCount: 1000,
  58. dataset: "generateSpatialData@Changchun",
  59. deleteExistResultDataset: true,
  60. dataReturnMode: SuperMap.DataReturnMode.DATASET_ONLY
  61. })
  62. });
  63. new ol.supermap.SpatialAnalystService(serviceUrl).generateSpatialData(generateSpatialDataParameters, function (serviceResult) {
  64. var a = serviceResult.result;
  65. //用专题图展示分析结果
  66. showAnalysisResult_ThemeGridUnique();
  67. });
  68. //构造专题图
  69. function showAnalysisResult_ThemeGridUnique() {
  70. //配置专题样式
  71. var style1, style2, style3;
  72. style1 = new SuperMap.ServerStyle({
  73. fillForeColor: new SuperMap.ServerColor(242, 48, 48),
  74. lineColor: new SuperMap.ServerColor(242, 48, 48),
  75. lineWidth: 1
  76. });
  77. style2 = new SuperMap.ServerStyle({
  78. fillForeColor: new SuperMap.ServerColor(255, 159, 25),
  79. lineColor: new SuperMap.ServerColor(255, 159, 25),
  80. lineWidth: 1
  81. });
  82. style3 = new SuperMap.ServerStyle({
  83. fillForeColor: new SuperMap.ServerColor(91, 195, 69),
  84. lineColor: new SuperMap.ServerColor(91, 195, 69),
  85. lineWidth: 1
  86. });
  87. //配置专题项
  88. var themeUniqueIteme1, themeUniqueIteme2, themeUniqueIteme3;
  89. themeUniqueIteme1 = new SuperMap.ThemeUniqueItem({
  90. unique: "拥挤",
  91. style: style1
  92. });
  93. themeUniqueIteme2 = new SuperMap.ThemeUniqueItem({
  94. unique: "缓行",
  95. style: style2
  96. });
  97. themeUniqueIteme3 = new SuperMap.ThemeUniqueItem({
  98. unique: "畅通",
  99. style: style3
  100. });
  101. var themeUnique = new SuperMap.ThemeUnique({
  102. uniqueExpression: "TrafficStatus",
  103. defaultStyle: new SuperMap.ServerStyle({
  104. fillForeColor: new SuperMap.ServerColor(48, 89, 14),
  105. lineColor: new SuperMap.ServerColor(48, 89, 14)
  106. }),
  107. items: [themeUniqueIteme1, themeUniqueIteme2, themeUniqueIteme3]
  108. });
  109. var themeParameters = new SuperMap.ThemeParameters({
  110. themes: [themeUnique],
  111. datasetNames: ["generateSpatialData"],
  112. dataSourceNames: ["Changchun"]
  113. });
  114. new ol.supermap.ThemeService(baseUrl).getThemeInfo(themeParameters, function (serviceResult) {
  115. var result = serviceResult.result;
  116. if (result && result.newResourceID) {
  117. var themeLayer = new ol.layer.Tile({
  118. source: new ol.source.TileSuperMapRest({
  119. url: baseUrl,
  120. noWrap: true,
  121. cacheEnabled: false,
  122. transparent: true,
  123. layersID: result.newResourceID,
  124. tileGrid: new ol.tilegrid.TileGrid({
  125. extent: extent,
  126. resolutions: options.tileGrid.getResolutions()
  127. }),
  128. transparent: true
  129. })
  130. });
  131. map.addLayer(themeLayer);
  132. }
  133. })
  134. }
  135. }
  136. </script>
  137. </body>
  138. </html>