@antv/l7-layers 2.17.4 → 2.17.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.js +325 -483
  10. package/es/core/BaseModel.js +51 -80
  11. package/es/core/CommonStyleAttribute.js +2 -5
  12. package/es/core/LayerPickService.js +21 -32
  13. package/es/core/TextureService.js +0 -13
  14. package/es/core/interface.js +17 -24
  15. package/es/core/shape/Path.js +13 -20
  16. package/es/core/shape/extrude.js +27 -39
  17. package/es/core/triangulation.js +99 -136
  18. package/es/earth/index.js +9 -33
  19. package/es/earth/models/atmosphere.js +30 -54
  20. package/es/earth/models/base.js +47 -85
  21. package/es/earth/models/bloomsphere.js +30 -54
  22. package/es/earth/utils.js +9 -13
  23. package/es/heatmap/index.js +10 -40
  24. package/es/heatmap/models/grid.js +28 -52
  25. package/es/heatmap/models/grid3d.js +28 -52
  26. package/es/heatmap/models/heatmap.js +92 -149
  27. package/es/heatmap/models/hexagon.js +28 -52
  28. package/es/heatmap/triangulation.js +0 -4
  29. package/es/image/index.js +9 -28
  30. package/es/image/models/image.js +66 -100
  31. package/es/index.js +9 -17
  32. package/es/line/index.js +9 -35
  33. package/es/line/models/arc.js +63 -112
  34. package/es/line/models/arc_3d.js +58 -102
  35. package/es/line/models/earthArc_3d.js +60 -105
  36. package/es/line/models/flow.js +36 -60
  37. package/es/line/models/great_circle.js +53 -94
  38. package/es/line/models/line.js +92 -144
  39. package/es/line/models/linearline.js +42 -74
  40. package/es/line/models/simpleLine.js +38 -67
  41. package/es/line/models/wall.js +52 -92
  42. package/es/line/shaders/dash/line_dash_vert.glsl +1 -2
  43. package/es/line/shaders/line_frag.glsl +1 -3
  44. package/es/line/shaders/line_vert.glsl +2 -0
  45. package/es/line/shaders/linear/line_linear_frag.glsl +1 -1
  46. package/es/mask/index.js +9 -28
  47. package/es/mask/models/fill.js +29 -54
  48. package/es/plugins/DataMappingPlugin.js +78 -114
  49. package/es/plugins/DataSourcePlugin.js +45 -68
  50. package/es/plugins/FeatureScalePlugin.js +67 -122
  51. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  52. package/es/plugins/LayerMaskPlugin.js +3 -11
  53. package/es/plugins/LayerModelPlugin.js +69 -118
  54. package/es/plugins/LayerStylePlugin.js +4 -9
  55. package/es/plugins/LightingPlugin.js +12 -18
  56. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  57. package/es/plugins/PixelPickingPlugin.js +12 -21
  58. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  59. package/es/plugins/ShaderUniformPlugin.js +13 -27
  60. package/es/plugins/UpdateModelPlugin.js +0 -5
  61. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  62. package/es/point/index.js +26 -78
  63. package/es/point/models/earthExtrude.js +58 -95
  64. package/es/point/models/earthFill.js +52 -80
  65. package/es/point/models/extrude.js +57 -94
  66. package/es/point/models/fill.js +56 -81
  67. package/es/point/models/fillmage.js +60 -100
  68. package/es/point/models/image.js +47 -83
  69. package/es/point/models/index.js +2 -2
  70. package/es/point/models/normal.js +30 -54
  71. package/es/point/models/radar.js +38 -63
  72. package/es/point/models/simplePoint.js +38 -62
  73. package/es/point/models/text.js +199 -296
  74. package/es/point/shape/extrude.js +4 -13
  75. package/es/polygon/index.js +11 -41
  76. package/es/polygon/models/extrude.js +87 -135
  77. package/es/polygon/models/fill.js +50 -79
  78. package/es/polygon/models/index.js +3 -2
  79. package/es/polygon/models/ocean.js +42 -76
  80. package/es/polygon/models/water.js +37 -71
  81. package/es/raster/buffers/triangulation.js +2 -4
  82. package/es/raster/index.js +9 -32
  83. package/es/raster/models/raster.js +80 -116
  84. package/es/raster/models/rasterRgb.js +84 -127
  85. package/es/raster/models/rasterTerrainRgb.js +56 -84
  86. package/es/tile/interaction/getRasterData.js +14 -20
  87. package/es/tile/interaction/utils.js +7 -9
  88. package/es/tile/manager/base.js +63 -96
  89. package/es/tile/service/TileLayerService.js +33 -55
  90. package/es/tile/service/TilePickService.js +26 -40
  91. package/es/tile/service/TileSourceService.js +3 -7
  92. package/es/tile/tileFactory/DebugTile.js +29 -46
  93. package/es/tile/tileFactory/ImageTile.js +20 -38
  94. package/es/tile/tileFactory/MaskTile.js +22 -43
  95. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  96. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  97. package/es/tile/tileFactory/RasterTile.js +30 -53
  98. package/es/tile/tileFactory/Tile.js +63 -97
  99. package/es/tile/tileFactory/VectorTile.js +41 -68
  100. package/es/tile/tileFactory/index.js +0 -11
  101. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  102. package/es/tile/tileFactory/util.js +0 -3
  103. package/es/tile/tileLayer/BaseLayer.js +105 -146
  104. package/es/tile/utils.js +1 -1
  105. package/es/utils/blend.js +0 -2
  106. package/es/utils/collision-index.js +9 -16
  107. package/es/utils/extrude_polyline.js +101 -149
  108. package/es/utils/grid-index.js +2 -27
  109. package/es/utils/identityScale.js +0 -8
  110. package/es/utils/layerData.js +30 -44
  111. package/es/utils/multiPassRender.js +11 -13
  112. package/es/utils/polylineNormal.js +31 -37
  113. package/es/utils/simpleLine.js +2 -16
  114. package/es/utils/stencil.js +2 -3
  115. package/es/utils/symbol-layout.js +27 -53
  116. package/es/wind/index.js +9 -29
  117. package/es/wind/models/utils.js +26 -51
  118. package/es/wind/models/wind.js +101 -147
  119. package/es/wind/models/windRender.js +53 -66
  120. package/lib/Geometry/index.js +9 -38
  121. package/lib/Geometry/models/billboard.js +51 -97
  122. package/lib/Geometry/models/index.js +0 -5
  123. package/lib/Geometry/models/plane.js +79 -151
  124. package/lib/Geometry/models/sprite.js +60 -127
  125. package/lib/canvas/index.js +10 -40
  126. package/lib/canvas/models/canvas.js +41 -101
  127. package/lib/canvas/models/index.js +0 -3
  128. package/lib/citybuliding/building.js +8 -35
  129. package/lib/citybuliding/models/build.js +57 -92
  130. package/lib/core/BaseLayer.js +325 -474
  131. package/lib/core/BaseModel.js +51 -90
  132. package/lib/core/CommonStyleAttribute.js +2 -7
  133. package/lib/core/LayerPickService.js +21 -37
  134. package/lib/core/TextureService.js +0 -16
  135. package/lib/core/interface.js +21 -31
  136. package/lib/core/schema.js +0 -1
  137. package/lib/core/shape/Path.js +14 -31
  138. package/lib/core/shape/extrude.js +27 -62
  139. package/lib/core/triangulation.js +98 -177
  140. package/lib/earth/index.js +9 -43
  141. package/lib/earth/models/atmosphere.js +30 -63
  142. package/lib/earth/models/base.js +47 -90
  143. package/lib/earth/models/bloomsphere.js +30 -63
  144. package/lib/earth/utils.js +7 -31
  145. package/lib/heatmap/index.js +10 -48
  146. package/lib/heatmap/models/grid.js +28 -60
  147. package/lib/heatmap/models/grid3d.js +28 -60
  148. package/lib/heatmap/models/heatmap.js +92 -166
  149. package/lib/heatmap/models/hexagon.js +28 -60
  150. package/lib/heatmap/models/index.js +0 -6
  151. package/lib/heatmap/triangulation.js +0 -5
  152. package/lib/image/index.js +9 -36
  153. package/lib/image/models/image.js +66 -109
  154. package/lib/image/models/index.js +0 -3
  155. package/lib/index.js +7 -61
  156. package/lib/line/index.js +9 -40
  157. package/lib/line/models/arc.js +61 -122
  158. package/lib/line/models/arc_3d.js +56 -113
  159. package/lib/line/models/earthArc_3d.js +58 -115
  160. package/lib/line/models/flow.js +36 -70
  161. package/lib/line/models/great_circle.js +53 -104
  162. package/lib/line/models/index.js +0 -11
  163. package/lib/line/models/line.js +90 -152
  164. package/lib/line/models/linearline.js +42 -86
  165. package/lib/line/models/simpleLine.js +38 -77
  166. package/lib/line/models/wall.js +52 -103
  167. package/lib/line/shaders/dash/line_dash_vert.glsl +1 -2
  168. package/lib/line/shaders/line_frag.glsl +1 -3
  169. package/lib/line/shaders/line_vert.glsl +2 -0
  170. package/lib/line/shaders/linear/line_linear_frag.glsl +1 -1
  171. package/lib/mask/index.js +9 -36
  172. package/lib/mask/models/fill.js +29 -63
  173. package/lib/mask/models/index.js +0 -3
  174. package/lib/plugins/DataMappingPlugin.js +78 -125
  175. package/lib/plugins/DataSourcePlugin.js +45 -76
  176. package/lib/plugins/FeatureScalePlugin.js +67 -138
  177. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  178. package/lib/plugins/LayerMaskPlugin.js +4 -17
  179. package/lib/plugins/LayerModelPlugin.js +70 -127
  180. package/lib/plugins/LayerStylePlugin.js +5 -14
  181. package/lib/plugins/LightingPlugin.js +12 -25
  182. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  183. package/lib/plugins/PixelPickingPlugin.js +12 -27
  184. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  185. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  186. package/lib/plugins/UpdateModelPlugin.js +1 -10
  187. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  188. package/lib/point/index.js +26 -83
  189. package/lib/point/models/earthExtrude.js +58 -106
  190. package/lib/point/models/earthFill.js +52 -110
  191. package/lib/point/models/extrude.js +57 -103
  192. package/lib/point/models/fill.js +54 -90
  193. package/lib/point/models/fillmage.js +58 -107
  194. package/lib/point/models/image.js +47 -92
  195. package/lib/point/models/index.js +1 -12
  196. package/lib/point/models/normal.js +30 -64
  197. package/lib/point/models/radar.js +38 -72
  198. package/lib/point/models/simplePoint.js +38 -72
  199. package/lib/point/models/text.js +199 -305
  200. package/lib/point/shape/extrude.js +4 -20
  201. package/lib/polygon/index.js +11 -48
  202. package/lib/polygon/models/extrude.js +87 -146
  203. package/lib/polygon/models/fill.js +50 -89
  204. package/lib/polygon/models/index.js +2 -14
  205. package/lib/polygon/models/ocean.js +42 -88
  206. package/lib/polygon/models/water.js +37 -82
  207. package/lib/raster/buffers/triangulation.js +3 -7
  208. package/lib/raster/index.js +9 -40
  209. package/lib/raster/models/index.js +0 -5
  210. package/lib/raster/models/raster.js +80 -125
  211. package/lib/raster/models/rasterRgb.js +84 -139
  212. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  213. package/lib/tile/interaction/getRasterData.js +14 -25
  214. package/lib/tile/interaction/utils.js +7 -19
  215. package/lib/tile/manager/base.js +63 -104
  216. package/lib/tile/service/TileLayerService.js +33 -60
  217. package/lib/tile/service/TilePickService.js +26 -48
  218. package/lib/tile/service/TileSourceService.js +2 -16
  219. package/lib/tile/style/utils.js +0 -3
  220. package/lib/tile/tileFactory/DebugTile.js +29 -54
  221. package/lib/tile/tileFactory/ImageTile.js +20 -46
  222. package/lib/tile/tileFactory/MaskTile.js +22 -51
  223. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  224. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  225. package/lib/tile/tileFactory/RasterTile.js +30 -63
  226. package/lib/tile/tileFactory/Tile.js +63 -102
  227. package/lib/tile/tileFactory/VectorTile.js +41 -76
  228. package/lib/tile/tileFactory/index.js +0 -25
  229. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  230. package/lib/tile/tileFactory/util.js +0 -9
  231. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  232. package/lib/tile/utils.js +1 -5
  233. package/lib/utils/blend.js +0 -5
  234. package/lib/utils/collision-index.js +9 -25
  235. package/lib/utils/extrude_polyline.js +101 -181
  236. package/lib/utils/grid-index.js +2 -28
  237. package/lib/utils/identityScale.js +0 -9
  238. package/lib/utils/layerData.js +30 -49
  239. package/lib/utils/multiPassRender.js +11 -16
  240. package/lib/utils/polylineNormal.js +31 -66
  241. package/lib/utils/simpleLine.js +2 -21
  242. package/lib/utils/stencil.js +0 -4
  243. package/lib/utils/symbol-layout.js +27 -55
  244. package/lib/wind/index.js +9 -37
  245. package/lib/wind/models/index.js +0 -3
  246. package/lib/wind/models/utils.js +26 -62
  247. package/lib/wind/models/wind.js +101 -157
  248. package/lib/wind/models/windRender.js +53 -71
  249. package/lib/wind/models/windShader.js +0 -1
  250. package/package.json +7 -7
@@ -1,142 +1,102 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
-
12
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
14
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
-
16
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _l7Core = require("@antv/l7-core");
25
-
26
16
  var _d3Array = require("d3-array");
27
-
28
17
  var d3interpolate = _interopRequireWildcard(require("d3-interpolate"));
29
-
30
18
  var d3 = _interopRequireWildcard(require("d3-scale"));
31
-
32
19
  var _inversify = require("inversify");
33
-
34
20
  var _lodash = require("lodash");
35
-
36
21
  require("reflect-metadata");
37
-
38
22
  var _identityScale = _interopRequireDefault(require("../utils/identityScale"));
39
-
40
23
  var _scaleMap, _dec, _class;
41
-
42
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
-
44
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
-
46
26
  var dateRegex = /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2\2(?:29))(\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;
47
27
  var scaleMap = (_scaleMap = {}, (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.LINEAR, d3.scaleLinear), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.POWER, d3.scalePow), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.LOG, d3.scaleLog), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.IDENTITY, _identityScale.default), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.SEQUENTIAL, d3.scaleSequential), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.TIME, d3.scaleTime), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.QUANTILE, d3.scaleQuantile), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.QUANTIZE, d3.scaleQuantize), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.THRESHOLD, d3.scaleThreshold), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.CAT, d3.scaleOrdinal), (0, _defineProperty2.default)(_scaleMap, _l7Core.ScaleTypes.DIVERGING, d3.scaleDiverging), _scaleMap);
48
28
  /**
49
29
  * 根据 Source 原始数据为指定字段创建 Scale,保存在 StyleAttribute 上,供下游插件使用
50
30
  */
51
-
52
31
  var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
53
32
  function FeatureScalePlugin() {
54
33
  (0, _classCallCheck2.default)(this, FeatureScalePlugin);
55
34
  (0, _defineProperty2.default)(this, "scaleOptions", {});
56
35
  }
57
-
58
36
  (0, _createClass2.default)(FeatureScalePlugin, [{
59
37
  key: "apply",
60
38
  value: function apply(layer, _ref) {
61
39
  var _this = this;
62
-
63
40
  var styleAttributeService = _ref.styleAttributeService;
64
41
  layer.hooks.init.tapPromise('FeatureScalePlugin', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
65
42
  var _layer$getSource;
66
-
67
43
  var attributes, dataArray;
68
44
  return _regenerator.default.wrap(function _callee$(_context) {
69
- while (1) {
70
- switch (_context.prev = _context.next) {
45
+ while (1) switch (_context.prev = _context.next) {
46
+ case 0:
47
+ layer.log(_l7Core.IDebugLog.ScaleInitStart, _l7Core.ILayerStage.INIT);
48
+ _this.scaleOptions = layer.getScaleOptions();
49
+ attributes = styleAttributeService.getLayerStyleAttributes();
50
+ dataArray = (_layer$getSource = layer.getSource()) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.data.dataArray;
51
+ if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
52
+ _context.next = 8;
53
+ break;
54
+ }
55
+ return _context.abrupt("return");
56
+ case 8:
57
+ _this.caculateScalesForAttributes(attributes || [], dataArray);
58
+ case 9:
59
+ layer.log(_l7Core.IDebugLog.ScaleInitEnd, _l7Core.ILayerStage.INIT);
60
+ case 10:
61
+ case "end":
62
+ return _context.stop();
63
+ }
64
+ }, _callee);
65
+ })));
66
+
67
+ // 检测数据是否需要更新
68
+ layer.hooks.beforeRenderData.tapPromise('FeatureScalePlugin', /*#__PURE__*/function () {
69
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(flag) {
70
+ var attributes, dataArray;
71
+ return _regenerator.default.wrap(function _callee2$(_context2) {
72
+ while (1) switch (_context2.prev = _context2.next) {
71
73
  case 0:
72
- layer.log(_l7Core.IDebugLog.ScaleInitStart, _l7Core.ILayerStage.INIT);
74
+ if (flag) {
75
+ _context2.next = 2;
76
+ break;
77
+ }
78
+ return _context2.abrupt("return", flag);
79
+ case 2:
80
+ layer.log(_l7Core.IDebugLog.ScaleInitStart, _l7Core.ILayerStage.UPDATE);
73
81
  _this.scaleOptions = layer.getScaleOptions();
74
82
  attributes = styleAttributeService.getLayerStyleAttributes();
75
- dataArray = (_layer$getSource = layer.getSource()) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.data.dataArray;
76
-
83
+ dataArray = layer.getSource().data.dataArray;
77
84
  if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
78
- _context.next = 8;
85
+ _context2.next = 8;
79
86
  break;
80
87
  }
81
-
82
- return _context.abrupt("return");
83
-
88
+ return _context2.abrupt("return", true);
84
89
  case 8:
85
90
  _this.caculateScalesForAttributes(attributes || [], dataArray);
86
-
87
- case 9:
88
- layer.log(_l7Core.IDebugLog.ScaleInitEnd, _l7Core.ILayerStage.INIT);
89
-
90
- case 10:
91
+ layer.log(_l7Core.IDebugLog.ScaleInitEnd, _l7Core.ILayerStage.UPDATE);
92
+ layer.layerModelNeedUpdate = true;
93
+ return _context2.abrupt("return", true);
94
+ case 12:
91
95
  case "end":
92
- return _context.stop();
93
- }
94
- }
95
- }, _callee);
96
- }))); // 检测数据是否需要更新
97
-
98
- layer.hooks.beforeRenderData.tapPromise('FeatureScalePlugin', /*#__PURE__*/function () {
99
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(flag) {
100
- var attributes, dataArray;
101
- return _regenerator.default.wrap(function _callee2$(_context2) {
102
- while (1) {
103
- switch (_context2.prev = _context2.next) {
104
- case 0:
105
- if (flag) {
106
- _context2.next = 2;
107
- break;
108
- }
109
-
110
- return _context2.abrupt("return", flag);
111
-
112
- case 2:
113
- layer.log(_l7Core.IDebugLog.ScaleInitStart, _l7Core.ILayerStage.UPDATE);
114
- _this.scaleOptions = layer.getScaleOptions();
115
- attributes = styleAttributeService.getLayerStyleAttributes();
116
- dataArray = layer.getSource().data.dataArray;
117
-
118
- if (!(Array.isArray(dataArray) && dataArray.length === 0)) {
119
- _context2.next = 8;
120
- break;
121
- }
122
-
123
- return _context2.abrupt("return", true);
124
-
125
- case 8:
126
- _this.caculateScalesForAttributes(attributes || [], dataArray);
127
-
128
- layer.log(_l7Core.IDebugLog.ScaleInitEnd, _l7Core.ILayerStage.UPDATE);
129
- layer.layerModelNeedUpdate = true;
130
- return _context2.abrupt("return", true);
131
-
132
- case 12:
133
- case "end":
134
- return _context2.stop();
135
- }
96
+ return _context2.stop();
136
97
  }
137
98
  }, _callee2);
138
99
  }));
139
-
140
100
  return function (_x) {
141
101
  return _ref3.apply(this, arguments);
142
102
  };
@@ -145,20 +105,16 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
145
105
  if (layer.layerModelNeedUpdate) {
146
106
  return;
147
107
  }
148
-
149
108
  _this.scaleOptions = layer.getScaleOptions();
150
109
  var attributes = styleAttributeService.getLayerStyleAttributes();
151
110
  var dataArray = layer.getSource().data.dataArray;
152
-
153
111
  if (Array.isArray(dataArray) && dataArray.length === 0) {
154
112
  return;
155
113
  }
156
-
157
114
  if (attributes) {
158
115
  var attributesToRescale = attributes.filter(function (attribute) {
159
116
  return attribute.needRescale;
160
117
  });
161
-
162
118
  if (attributesToRescale.length) {
163
119
  _this.caculateScalesForAttributes(attributesToRescale, dataArray);
164
120
  }
@@ -174,30 +130,28 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
174
130
  key: "caculateScalesForAttributes",
175
131
  value: function caculateScalesForAttributes(attributes, dataArray) {
176
132
  var _this2 = this;
177
-
178
133
  attributes.forEach(function (attribute) {
179
134
  if (attribute.scale) {
180
135
  // 创建Scale
181
- var attributeScale = attribute.scale; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
182
-
136
+ var attributeScale = attribute.scale;
137
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
183
138
  attributeScale.names = _this2.parseFields(attribute.scale.field || []);
184
- var scales = []; // 为每个字段创建 Scale
185
-
139
+ var scales = [];
140
+ // 为每个字段创建 Scale
186
141
  attributeScale.names.forEach(function (field) {
187
142
  var _attribute$scale;
188
-
189
143
  scales.push(_this2.createScale(field, attribute.name, (_attribute$scale = attribute.scale) === null || _attribute$scale === void 0 ? void 0 : _attribute$scale.values, dataArray));
190
- }); // 为scales 设置值区间 Range
144
+ });
191
145
 
146
+ // 为scales 设置值区间 Range
192
147
  if (scales.some(function (scale) {
193
148
  return scale.type === _l7Core.StyleScaleType.VARIABLE;
194
149
  })) {
195
150
  attributeScale.type = _l7Core.StyleScaleType.VARIABLE;
196
151
  scales.forEach(function (scale) {
197
- var _scale$option;
198
-
199
152
  // 如果设置了回调, 这不需要设置range
200
153
  if (!attributeScale.callback && attributeScale.values !== 'text') {
154
+ var _scale$option;
201
155
  switch ((_scale$option = scale.option) === null || _scale$option === void 0 ? void 0 : _scale$option.type) {
202
156
  case _l7Core.ScaleTypes.LOG:
203
157
  case _l7Core.ScaleTypes.LINEAR:
@@ -206,36 +160,29 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
206
160
  var tick = scale.scale.ticks(attributeScale.values.length);
207
161
  scale.scale.domain(tick);
208
162
  }
209
-
210
163
  attributeScale.values ? scale.scale.range(attributeScale.values) : scale.scale.range(scale.option.domain);
211
164
  break;
212
-
213
165
  case _l7Core.ScaleTypes.QUANTILE:
214
166
  case _l7Core.ScaleTypes.QUANTIZE:
215
167
  case _l7Core.ScaleTypes.THRESHOLD:
216
168
  scale.scale.range(attributeScale.values); //
217
-
218
169
  break;
219
-
220
170
  case _l7Core.ScaleTypes.IDENTITY:
221
171
  // 不做处理xe
222
172
  break;
223
-
224
173
  case _l7Core.ScaleTypes.CAT:
225
174
  attributeScale.values ? scale.scale.range(attributeScale.values) : scale.scale.range(scale.option.domain);
226
175
  break;
227
-
228
176
  case _l7Core.ScaleTypes.DIVERGING:
229
177
  case _l7Core.ScaleTypes.SEQUENTIAL:
230
- scale.scale.interpolator( // @ts-ignore
178
+ scale.scale.interpolator(
179
+ // @ts-ignore
231
180
  d3interpolate.interpolateRgbBasis(attributeScale.values));
232
181
  break;
233
182
  }
234
183
  }
235
-
236
184
  if (attributeScale.values === 'text') {
237
185
  var _scale$option2;
238
-
239
186
  scale.scale.range((_scale$option2 = scale.option) === null || _scale$option2 === void 0 ? void 0 : _scale$option2.domain);
240
187
  }
241
188
  });
@@ -246,7 +193,6 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
246
193
  return scale.scale(attributeScale.names[index]);
247
194
  });
248
195
  }
249
-
250
196
  attributeScale.scalers = scales.map(function (scale) {
251
197
  return {
252
198
  field: scale.field,
@@ -258,30 +204,27 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
258
204
  }
259
205
  });
260
206
  }
207
+
261
208
  /**
262
209
  * @example
263
210
  * 'w*h' => ['w', 'h']
264
211
  * 'w' => ['w']
265
212
  */
266
-
267
213
  }, {
268
214
  key: "parseFields",
269
215
  value: function parseFields(field) {
270
216
  if (Array.isArray(field)) {
271
217
  return field;
272
218
  }
273
-
274
219
  if ((0, _lodash.isString)(field)) {
275
220
  return field.split('*');
276
221
  }
277
-
278
222
  return [field];
279
223
  }
280
224
  }, {
281
225
  key: "createScale",
282
226
  value: function createScale(field, name, values, data) {
283
227
  var _this$scaleOptions$na, _find;
284
-
285
228
  // scale 支持根据视觉通道和字段
286
229
  var scaleOption = this.scaleOptions[name] && ((_this$scaleOptions$na = this.scaleOptions[name]) === null || _this$scaleOptions$na === void 0 ? void 0 : _this$scaleOptions$na.field) === field ? this.scaleOptions[name] // TODO zi
287
230
  : this.scaleOptions[field];
@@ -291,7 +234,6 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
291
234
  type: _l7Core.StyleScaleType.VARIABLE,
292
235
  option: scaleOption
293
236
  };
294
-
295
237
  if (!data || !data.length) {
296
238
  if (scaleOption && scaleOption.type) {
297
239
  styleScale.scale = this.createDefaultScale(scaleOption);
@@ -299,46 +241,39 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
299
241
  styleScale.scale = d3.scaleOrdinal([field]);
300
242
  styleScale.type = _l7Core.StyleScaleType.CONSTANT;
301
243
  }
302
-
303
244
  return styleScale;
304
- } // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
305
-
306
-
245
+ }
246
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
307
247
  var firstValue = (_find = data.find(function (d) {
308
248
  return !(0, _lodash.isNil)(d[field]);
309
- })) === null || _find === void 0 ? void 0 : _find[field]; // 常量 Scale
310
-
249
+ })) === null || _find === void 0 ? void 0 : _find[field];
250
+ // 常量 Scale
311
251
  if (this.isNumber(field) || (0, _lodash.isNil)(firstValue) && !scaleOption) {
312
252
  styleScale.scale = d3.scaleOrdinal([field]);
313
253
  styleScale.type = _l7Core.StyleScaleType.CONSTANT;
314
254
  } else {
315
255
  // 根据数据类型判断 默认等分位,时间,和枚举类型
316
256
  var type = scaleOption && scaleOption.type || this.getDefaultType(firstValue);
317
-
318
257
  if (values === 'text') {
319
258
  // text 为内置变 如果是文本则为cat
320
259
  type = _l7Core.ScaleTypes.CAT;
321
260
  }
322
-
323
261
  var cfg = this.createScaleConfig(type, field, scaleOption, data);
324
262
  styleScale.scale = this.createDefaultScale(cfg);
325
263
  styleScale.option = cfg;
326
264
  }
327
-
328
265
  return styleScale;
329
266
  }
330
267
  }, {
331
268
  key: "getDefaultType",
332
269
  value: function getDefaultType(firstValue) {
333
270
  var type = _l7Core.ScaleTypes.LINEAR;
334
-
335
271
  if (typeof firstValue === 'string') {
336
272
  type = dateRegex.test(firstValue) ? _l7Core.ScaleTypes.TIME : _l7Core.ScaleTypes.CAT;
337
273
  }
338
-
339
274
  return type;
340
- } // 生成Scale 默认配置
341
-
275
+ }
276
+ // 生成Scale 默认配置
342
277
  }, {
343
278
  key: "createScaleConfig",
344
279
  value: function createScaleConfig(type, field, scaleOption, data) {
@@ -348,7 +283,6 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
348
283
  var values = (data === null || data === void 0 ? void 0 : data.map(function (item) {
349
284
  return item[field];
350
285
  })) || [];
351
-
352
286
  if (scaleOption !== null && scaleOption !== void 0 && scaleOption.domain) {
353
287
  cfg.domain = scaleOption === null || scaleOption === void 0 ? void 0 : scaleOption.domain;
354
288
  } else if (type === _l7Core.ScaleTypes.CAT || type === _l7Core.ScaleTypes.IDENTITY) {
@@ -363,38 +297,33 @@ var FeatureScalePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#
363
297
  // linear/Power/log
364
298
  cfg.domain = (0, _d3Array.extent)(values);
365
299
  }
366
-
367
300
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, cfg), scaleOption);
368
- } // 创建Scale 实例
301
+ }
369
302
 
303
+ // 创建Scale 实例
370
304
  }, {
371
305
  key: "createDefaultScale",
372
306
  value: function createDefaultScale(_ref4) {
373
307
  var type = _ref4.type,
374
- domain = _ref4.domain,
375
- unknown = _ref4.unknown,
376
- clamp = _ref4.clamp,
377
- nice = _ref4.nice;
308
+ domain = _ref4.domain,
309
+ unknown = _ref4.unknown,
310
+ clamp = _ref4.clamp,
311
+ nice = _ref4.nice;
378
312
  // @ts-ignore
379
313
  var scale = scaleMap[type]();
380
-
381
314
  if (domain && scale.domain) {
382
315
  scale.domain(domain);
383
316
  }
384
-
385
317
  if (unknown) {
386
318
  scale.unknown(unknown);
387
319
  }
388
-
389
320
  if (clamp !== undefined && scale.clamp) {
390
321
  scale.clamp(clamp);
391
322
  }
392
-
393
323
  if (nice !== undefined && scale.nice) {
394
324
  scale.nice(nice);
395
- } // TODO 其他属性支持
396
-
397
-
325
+ }
326
+ // TODO 其他属性支持
398
327
  return scale;
399
328
  }
400
329
  }]);
@@ -1,36 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _inversify = require("inversify");
17
-
18
12
  require("reflect-metadata");
19
-
20
13
  var _dec, _class;
21
-
22
14
  var LayerAnimateStylePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
23
15
  function LayerAnimateStylePlugin() {
24
16
  (0, _classCallCheck2.default)(this, LayerAnimateStylePlugin);
25
17
  }
26
-
27
18
  (0, _createClass2.default)(LayerAnimateStylePlugin, [{
28
19
  key: "apply",
29
20
  value: function apply(layer) {
30
21
  layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', function () {
31
22
  // @ts-ignore
32
23
  var animateStatus = layer.animateStatus;
33
-
34
24
  if (animateStatus) {
35
25
  layer.models.forEach(function (model) {
36
26
  model.addUniforms((0, _objectSpread2.default)({}, layer.layerModel.getAnimateUniforms()));
@@ -1,47 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _inversify = require("inversify");
17
-
18
12
  require("reflect-metadata");
19
-
20
13
  var _dec, _class;
21
-
22
- var LayerStylePlugin = (
23
14
  /**
24
15
  * 更新图层样式,初始图层相关配置
25
16
  */
26
- _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
17
+ var LayerStylePlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
27
18
  function LayerStylePlugin() {
28
19
  (0, _classCallCheck2.default)(this, LayerStylePlugin);
29
20
  }
30
-
31
21
  (0, _createClass2.default)(LayerStylePlugin, [{
32
22
  key: "apply",
33
23
  value: function apply(layer) {
34
24
  layer.hooks.afterInit.tap('LayerMaskPlugin', function () {
35
25
  var _layer$getLayerConfig = layer.getLayerConfig(),
36
- maskLayers = _layer$getLayerConfig.maskLayers,
37
- enableMask = _layer$getLayerConfig.enableMask; // mask 初始化
38
-
39
-
26
+ maskLayers = _layer$getLayerConfig.maskLayers,
27
+ enableMask = _layer$getLayerConfig.enableMask;
28
+ // mask 初始化
40
29
  if (!layer.tileLayer && maskLayers && maskLayers.length > 0) {
41
30
  var _layer$masks;
42
-
43
31
  (_layer$masks = layer.masks).push.apply(_layer$masks, (0, _toConsumableArray2.default)(maskLayers));
44
-
45
32
  layer.updateLayerConfig({
46
33
  mask: true && enableMask
47
34
  });