@antv/l7-layers 2.17.2 → 2.17.4
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.
- package/es/Geometry/index.js +31 -9
- package/es/Geometry/models/billboard.js +89 -51
- package/es/Geometry/models/plane.js +143 -81
- package/es/Geometry/models/sprite.js +118 -60
- package/es/canvas/index.js +33 -10
- package/es/canvas/models/canvas.js +97 -41
- package/es/citybuliding/building.js +27 -8
- package/es/citybuliding/models/build.js +82 -57
- package/es/core/BaseLayer.js +478 -313
- package/es/core/BaseModel.js +80 -51
- package/es/core/CommonStyleAttribute.js +5 -2
- package/es/core/LayerPickService.js +32 -21
- package/es/core/TextureService.js +13 -0
- package/es/core/interface.js +24 -17
- package/es/core/shape/Path.js +20 -13
- package/es/core/shape/extrude.js +39 -27
- package/es/core/triangulation.js +136 -99
- package/es/earth/index.js +33 -9
- package/es/earth/models/atmosphere.js +54 -30
- package/es/earth/models/base.js +85 -47
- package/es/earth/models/bloomsphere.js +54 -30
- package/es/earth/utils.js +13 -9
- package/es/heatmap/index.js +40 -10
- package/es/heatmap/models/grid.js +52 -28
- package/es/heatmap/models/grid3d.js +52 -28
- package/es/heatmap/models/heatmap.js +149 -92
- package/es/heatmap/models/hexagon.js +52 -28
- package/es/heatmap/triangulation.js +4 -0
- package/es/image/index.js +28 -9
- package/es/image/models/image.js +100 -66
- package/es/index.js +17 -9
- package/es/line/index.js +35 -9
- package/es/line/models/arc.js +114 -64
- package/es/line/models/arc_3d.js +102 -58
- package/es/line/models/earthArc_3d.js +105 -60
- package/es/line/models/flow.js +60 -36
- package/es/line/models/great_circle.js +94 -53
- package/es/line/models/line.js +138 -86
- package/es/line/models/linearline.js +76 -43
- package/es/line/models/simpleLine.js +69 -39
- package/es/line/models/wall.js +92 -52
- package/es/mask/index.js +28 -9
- package/es/mask/models/fill.js +54 -29
- package/es/plugins/DataMappingPlugin.js +114 -78
- package/es/plugins/DataSourcePlugin.js +68 -45
- package/es/plugins/FeatureScalePlugin.js +122 -67
- package/es/plugins/LayerAnimateStylePlugin.js +5 -0
- package/es/plugins/LayerMaskPlugin.js +11 -3
- package/es/plugins/LayerModelPlugin.js +108 -69
- package/es/plugins/LayerStylePlugin.js +9 -3
- package/es/plugins/LightingPlugin.js +18 -12
- package/es/plugins/MultiPassRendererPlugin.js +16 -11
- package/es/plugins/PixelPickingPlugin.js +21 -12
- package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
- package/es/plugins/ShaderUniformPlugin.js +27 -13
- package/es/plugins/UpdateModelPlugin.js +5 -0
- package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
- package/es/point/index.js +78 -26
- package/es/point/models/earthExtrude.js +95 -58
- package/es/point/models/earthFill.js +80 -52
- package/es/point/models/extrude.js +94 -57
- package/es/point/models/fill.js +81 -56
- package/es/point/models/fillmage.js +100 -60
- package/es/point/models/image.js +83 -47
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +54 -30
- package/es/point/models/radar.js +63 -38
- package/es/point/models/simplePoint.js +62 -38
- package/es/point/models/text.js +296 -199
- package/es/point/shape/extrude.js +13 -4
- package/es/polygon/index.js +41 -11
- package/es/polygon/models/extrude.js +135 -87
- package/es/polygon/models/fill.js +79 -50
- package/es/polygon/models/index.js +2 -3
- package/es/polygon/models/ocean.js +76 -42
- package/es/polygon/models/water.js +71 -37
- package/es/raster/buffers/triangulation.js +4 -2
- package/es/raster/index.js +32 -9
- package/es/raster/models/raster.js +116 -80
- package/es/raster/models/rasterRgb.js +127 -84
- package/es/raster/models/rasterTerrainRgb.js +84 -56
- package/es/tile/interaction/getRasterData.js +20 -14
- package/es/tile/interaction/utils.js +9 -7
- package/es/tile/manager/base.js +96 -63
- package/es/tile/service/TileLayerService.js +55 -33
- package/es/tile/service/TilePickService.js +40 -26
- package/es/tile/service/TileSourceService.js +7 -3
- package/es/tile/tileFactory/DebugTile.js +46 -29
- package/es/tile/tileFactory/ImageTile.js +38 -20
- package/es/tile/tileFactory/MaskTile.js +43 -22
- package/es/tile/tileFactory/RasterRGBTile.js +42 -22
- package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
- package/es/tile/tileFactory/RasterTile.js +53 -30
- package/es/tile/tileFactory/Tile.js +97 -63
- package/es/tile/tileFactory/VectorTile.js +68 -41
- package/es/tile/tileFactory/index.js +11 -0
- package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
- package/es/tile/tileFactory/util.js +3 -0
- package/es/tile/tileLayer/BaseLayer.js +146 -105
- package/es/tile/utils.js +1 -1
- package/es/utils/blend.js +2 -0
- package/es/utils/collision-index.js +16 -9
- package/es/utils/extrude_polyline.js +149 -101
- package/es/utils/grid-index.js +27 -2
- package/es/utils/identityScale.js +8 -0
- package/es/utils/layerData.js +44 -30
- package/es/utils/multiPassRender.js +13 -11
- package/es/utils/polylineNormal.js +37 -31
- package/es/utils/simpleLine.js +16 -2
- package/es/utils/stencil.js +3 -2
- package/es/utils/symbol-layout.js +53 -27
- package/es/wind/index.js +29 -9
- package/es/wind/models/utils.js +51 -26
- package/es/wind/models/wind.js +147 -101
- package/es/wind/models/windRender.js +66 -53
- package/lib/Geometry/index.js +38 -9
- package/lib/Geometry/models/billboard.js +97 -51
- package/lib/Geometry/models/index.js +5 -0
- package/lib/Geometry/models/plane.js +151 -79
- package/lib/Geometry/models/sprite.js +127 -60
- package/lib/canvas/index.js +40 -10
- package/lib/canvas/models/canvas.js +101 -41
- package/lib/canvas/models/index.js +3 -0
- package/lib/citybuliding/building.js +35 -8
- package/lib/citybuliding/models/build.js +92 -57
- package/lib/core/BaseLayer.js +469 -313
- package/lib/core/BaseModel.js +90 -51
- package/lib/core/CommonStyleAttribute.js +7 -2
- package/lib/core/LayerPickService.js +37 -21
- package/lib/core/TextureService.js +16 -0
- package/lib/core/interface.js +31 -21
- package/lib/core/schema.js +1 -0
- package/lib/core/shape/Path.js +31 -14
- package/lib/core/shape/extrude.js +62 -27
- package/lib/core/triangulation.js +177 -98
- package/lib/earth/index.js +43 -9
- package/lib/earth/models/atmosphere.js +63 -30
- package/lib/earth/models/base.js +90 -47
- package/lib/earth/models/bloomsphere.js +63 -30
- package/lib/earth/utils.js +31 -7
- package/lib/heatmap/index.js +48 -10
- package/lib/heatmap/models/grid.js +60 -28
- package/lib/heatmap/models/grid3d.js +60 -28
- package/lib/heatmap/models/heatmap.js +166 -92
- package/lib/heatmap/models/hexagon.js +60 -28
- package/lib/heatmap/models/index.js +6 -0
- package/lib/heatmap/triangulation.js +5 -0
- package/lib/image/index.js +36 -9
- package/lib/image/models/image.js +109 -66
- package/lib/image/models/index.js +3 -0
- package/lib/index.js +61 -7
- package/lib/line/index.js +40 -9
- package/lib/line/models/arc.js +124 -62
- package/lib/line/models/arc_3d.js +113 -56
- package/lib/line/models/earthArc_3d.js +115 -58
- package/lib/line/models/flow.js +70 -36
- package/lib/line/models/great_circle.js +104 -53
- package/lib/line/models/index.js +11 -0
- package/lib/line/models/line.js +146 -84
- package/lib/line/models/linearline.js +88 -43
- package/lib/line/models/simpleLine.js +79 -39
- package/lib/line/models/wall.js +103 -52
- package/lib/mask/index.js +36 -9
- package/lib/mask/models/fill.js +63 -29
- package/lib/mask/models/index.js +3 -0
- package/lib/plugins/DataMappingPlugin.js +125 -78
- package/lib/plugins/DataSourcePlugin.js +76 -45
- package/lib/plugins/FeatureScalePlugin.js +138 -67
- package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
- package/lib/plugins/LayerMaskPlugin.js +17 -4
- package/lib/plugins/LayerModelPlugin.js +117 -70
- package/lib/plugins/LayerStylePlugin.js +14 -4
- package/lib/plugins/LightingPlugin.js +25 -12
- package/lib/plugins/MultiPassRendererPlugin.js +22 -11
- package/lib/plugins/PixelPickingPlugin.js +27 -12
- package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
- package/lib/plugins/ShaderUniformPlugin.js +34 -13
- package/lib/plugins/UpdateModelPlugin.js +10 -1
- package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
- package/lib/point/index.js +83 -26
- package/lib/point/models/earthExtrude.js +106 -58
- package/lib/point/models/earthFill.js +110 -52
- package/lib/point/models/extrude.js +103 -57
- package/lib/point/models/fill.js +90 -54
- package/lib/point/models/fillmage.js +107 -58
- package/lib/point/models/image.js +92 -47
- package/lib/point/models/index.js +12 -1
- package/lib/point/models/normal.js +64 -30
- package/lib/point/models/radar.js +72 -38
- package/lib/point/models/simplePoint.js +72 -38
- package/lib/point/models/text.js +305 -199
- package/lib/point/shape/extrude.js +20 -4
- package/lib/polygon/index.js +48 -11
- package/lib/polygon/models/extrude.js +146 -87
- package/lib/polygon/models/fill.js +89 -50
- package/lib/polygon/models/index.js +14 -2
- package/lib/polygon/models/ocean.js +88 -42
- package/lib/polygon/models/water.js +82 -37
- package/lib/raster/buffers/triangulation.js +7 -3
- package/lib/raster/index.js +40 -9
- package/lib/raster/models/index.js +5 -0
- package/lib/raster/models/raster.js +125 -80
- package/lib/raster/models/rasterRgb.js +139 -84
- package/lib/raster/models/rasterTerrainRgb.js +93 -56
- package/lib/tile/interaction/getRasterData.js +25 -14
- package/lib/tile/interaction/utils.js +19 -7
- package/lib/tile/manager/base.js +104 -63
- package/lib/tile/service/TileLayerService.js +60 -33
- package/lib/tile/service/TilePickService.js +48 -26
- package/lib/tile/service/TileSourceService.js +16 -2
- package/lib/tile/style/utils.js +3 -0
- package/lib/tile/tileFactory/DebugTile.js +54 -29
- package/lib/tile/tileFactory/ImageTile.js +46 -20
- package/lib/tile/tileFactory/MaskTile.js +51 -22
- package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
- package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
- package/lib/tile/tileFactory/RasterTile.js +63 -30
- package/lib/tile/tileFactory/Tile.js +102 -63
- package/lib/tile/tileFactory/VectorTile.js +76 -41
- package/lib/tile/tileFactory/index.js +25 -0
- package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
- package/lib/tile/tileFactory/util.js +9 -0
- package/lib/tile/tileLayer/BaseLayer.js +153 -105
- package/lib/tile/utils.js +5 -1
- package/lib/utils/blend.js +5 -0
- package/lib/utils/collision-index.js +25 -9
- package/lib/utils/extrude_polyline.js +181 -101
- package/lib/utils/grid-index.js +28 -2
- package/lib/utils/identityScale.js +9 -0
- package/lib/utils/layerData.js +49 -30
- package/lib/utils/multiPassRender.js +16 -11
- package/lib/utils/polylineNormal.js +66 -31
- package/lib/utils/simpleLine.js +21 -2
- package/lib/utils/stencil.js +4 -0
- package/lib/utils/symbol-layout.js +55 -27
- package/lib/wind/index.js +37 -9
- package/lib/wind/models/index.js +3 -0
- package/lib/wind/models/utils.js +62 -26
- package/lib/wind/models/wind.js +157 -101
- package/lib/wind/models/windRender.js +71 -53
- package/lib/wind/models/windShader.js +1 -0
- 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)
|
|
46
|
-
|
|
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
|
-
|
|
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
|
-
|
|
78
|
+
_context.next = 8;
|
|
86
79
|
break;
|
|
87
80
|
}
|
|
88
|
-
|
|
81
|
+
|
|
82
|
+
return _context.abrupt("return");
|
|
83
|
+
|
|
89
84
|
case 8:
|
|
90
85
|
_this.caculateScalesForAttributes(attributes || [], dataArray);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
|
|
87
|
+
case 9:
|
|
88
|
+
layer.log(_l7Core.IDebugLog.ScaleInitEnd, _l7Core.ILayerStage.INIT);
|
|
89
|
+
|
|
90
|
+
case 10:
|
|
95
91
|
case "end":
|
|
96
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
});
|