@antv/l7-layers 2.16.0 → 2.16.1

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