@antv/l7-layers 2.5.36 → 2.5.37-mini
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/lib/core/BaseModel.js +1 -1
- package/lib/core/BaseModel.js.map +1 -1
- package/lib/heatmap/models/heatmap.js +12 -17
- package/lib/heatmap/models/heatmap.js.map +1 -1
- package/lib/plugins/LayerStylePlugin.js.map +1 -1
- package/lib/plugins/ShaderUniformPlugin.js +3 -1
- package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
- package/lib/point/models/image.js.map +1 -1
- package/package.json +5 -5
- package/CHANGELOG.md +0 -492
- package/LICENSE.md +0 -21
- package/es/citybuliding/building.d.ts +0 -17
- package/es/citybuliding/building.js +0 -79
- package/es/citybuliding/building.js.map +0 -1
- package/es/citybuliding/models/build.d.ts +0 -13
- package/es/citybuliding/models/build.js +0 -124
- package/es/citybuliding/models/build.js.map +0 -1
- package/es/core/BaseLayer.d.ts +0 -174
- package/es/core/BaseLayer.js +0 -974
- package/es/core/BaseLayer.js.map +0 -1
- package/es/core/BaseModel.d.ts +0 -135
- package/es/core/BaseModel.js +0 -412
- package/es/core/BaseModel.js.map +0 -1
- package/es/core/interface.d.ts +0 -19
- package/es/core/interface.js +0 -7
- package/es/core/interface.js.map +0 -1
- package/es/core/schema.d.ts +0 -27
- package/es/core/schema.js +0 -23
- package/es/core/schema.js.map +0 -1
- package/es/core/shape/Path.d.ts +0 -39
- package/es/core/shape/Path.js +0 -57
- package/es/core/shape/Path.js.map +0 -1
- package/es/core/shape/extrude.d.ts +0 -17
- package/es/core/shape/extrude.js +0 -143
- package/es/core/shape/extrude.js.map +0 -1
- package/es/core/triangulation.d.ts +0 -109
- package/es/core/triangulation.js +0 -328
- package/es/core/triangulation.js.map +0 -1
- package/es/earth/index.d.ts +0 -17
- package/es/earth/index.js +0 -81
- package/es/earth/index.js.map +0 -1
- package/es/earth/models/atmosphere.d.ts +0 -9
- package/es/earth/models/atmosphere.js +0 -125
- package/es/earth/models/atmosphere.js.map +0 -1
- package/es/earth/models/base.d.ts +0 -16
- package/es/earth/models/base.js +0 -193
- package/es/earth/models/base.js.map +0 -1
- package/es/earth/models/bloomsphere.d.ts +0 -9
- package/es/earth/models/bloomsphere.js +0 -125
- package/es/earth/models/bloomsphere.js.map +0 -1
- package/es/earth/utils.d.ts +0 -26
- package/es/earth/utils.js +0 -81
- package/es/earth/utils.js.map +0 -1
- package/es/glsl.d.js +0 -2
- package/es/glsl.d.js.map +0 -1
- package/es/heatmap/index.d.ts +0 -22
- package/es/heatmap/index.js +0 -123
- package/es/heatmap/index.js.map +0 -1
- package/es/heatmap/models/grid.d.ts +0 -8
- package/es/heatmap/models/grid.js +0 -90
- package/es/heatmap/models/grid.js.map +0 -1
- package/es/heatmap/models/grid3d.d.ts +0 -8
- package/es/heatmap/models/grid3d.js +0 -122
- package/es/heatmap/models/grid3d.js.map +0 -1
- package/es/heatmap/models/heatmap.d.ts +0 -24
- package/es/heatmap/models/heatmap.js +0 -399
- package/es/heatmap/models/heatmap.js.map +0 -1
- package/es/heatmap/models/hexagon.d.ts +0 -8
- package/es/heatmap/models/hexagon.js +0 -90
- package/es/heatmap/models/hexagon.js.map +0 -1
- package/es/heatmap/models/index.d.ts +0 -5
- package/es/heatmap/models/index.js +0 -13
- package/es/heatmap/models/index.js.map +0 -1
- package/es/heatmap/triangulation.d.ts +0 -5
- package/es/heatmap/triangulation.js +0 -38
- package/es/heatmap/triangulation.js.map +0 -1
- package/es/image/index.d.ts +0 -22
- package/es/image/index.js +0 -82
- package/es/image/index.js.map +0 -1
- package/es/image/models/image.d.ts +0 -18
- package/es/image/models/image.js +0 -127
- package/es/image/models/image.js.map +0 -1
- package/es/image/models/index.d.ts +0 -5
- package/es/image/models/index.js +0 -6
- package/es/image/models/index.js.map +0 -1
- package/es/index.d.ts +0 -11
- package/es/index.js +0 -39
- package/es/index.js.map +0 -1
- package/es/line/index.d.ts +0 -25
- package/es/line/index.js +0 -95
- package/es/line/index.js.map +0 -1
- package/es/line/models/arc.d.ts +0 -12
- package/es/line/models/arc.js +0 -281
- package/es/line/models/arc.js.map +0 -1
- package/es/line/models/arc_3d.d.ts +0 -12
- package/es/line/models/arc_3d.js +0 -277
- package/es/line/models/arc_3d.js.map +0 -1
- package/es/line/models/great_circle.d.ts +0 -12
- package/es/line/models/great_circle.js +0 -269
- package/es/line/models/great_circle.js.map +0 -1
- package/es/line/models/index.d.ts +0 -5
- package/es/line/models/index.js +0 -12
- package/es/line/models/index.js.map +0 -1
- package/es/line/models/line.d.ts +0 -13
- package/es/line/models/line.js +0 -342
- package/es/line/models/line.js.map +0 -1
- package/es/plugins/DataMappingPlugin.d.ts +0 -13
- package/es/plugins/DataMappingPlugin.js +0 -199
- package/es/plugins/DataMappingPlugin.js.map +0 -1
- package/es/plugins/DataSourcePlugin.d.ts +0 -7
- package/es/plugins/DataSourcePlugin.js +0 -73
- package/es/plugins/DataSourcePlugin.js.map +0 -1
- package/es/plugins/FeatureScalePlugin.d.ts +0 -26
- package/es/plugins/FeatureScalePlugin.js +0 -270
- package/es/plugins/FeatureScalePlugin.js.map +0 -1
- package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -7
- package/es/plugins/LayerAnimateStylePlugin.js +0 -50
- package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
- package/es/plugins/LayerModelPlugin.d.ts +0 -8
- package/es/plugins/LayerModelPlugin.js +0 -34
- package/es/plugins/LayerModelPlugin.js.map +0 -1
- package/es/plugins/LayerStylePlugin.d.ts +0 -8
- package/es/plugins/LayerStylePlugin.js +0 -35
- package/es/plugins/LayerStylePlugin.js.map +0 -1
- package/es/plugins/LightingPlugin.d.ts +0 -36
- package/es/plugins/LightingPlugin.js +0 -100
- package/es/plugins/LightingPlugin.js.map +0 -1
- package/es/plugins/MultiPassRendererPlugin.d.ts +0 -37
- package/es/plugins/MultiPassRendererPlugin.js +0 -79
- package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
- package/es/plugins/PixelPickingPlugin.d.ts +0 -8
- package/es/plugins/PixelPickingPlugin.js +0 -112
- package/es/plugins/PixelPickingPlugin.js.map +0 -1
- package/es/plugins/RegisterStyleAttributePlugin.d.ts +0 -11
- package/es/plugins/RegisterStyleAttributePlugin.js +0 -98
- package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
- package/es/plugins/ShaderUniformPlugin.d.ts +0 -16
- package/es/plugins/ShaderUniformPlugin.js +0 -78
- package/es/plugins/ShaderUniformPlugin.js.map +0 -1
- package/es/plugins/UpdateModelPlugin.d.ts +0 -8
- package/es/plugins/UpdateModelPlugin.js +0 -27
- package/es/plugins/UpdateModelPlugin.js.map +0 -1
- package/es/plugins/UpdateStyleAttributePlugin.d.ts +0 -12
- package/es/plugins/UpdateStyleAttributePlugin.js +0 -74
- package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
- package/es/point/index.d.ts +0 -30
- package/es/point/index.js +0 -130
- package/es/point/index.js.map +0 -1
- package/es/point/models/extrude.d.ts +0 -14
- package/es/point/models/extrude.js +0 -180
- package/es/point/models/extrude.js.map +0 -1
- package/es/point/models/fill.d.ts +0 -17
- package/es/point/models/fill.js +0 -247
- package/es/point/models/fill.js.map +0 -1
- package/es/point/models/icon-font.d.ts +0 -11
- package/es/point/models/icon-font.js +0 -181
- package/es/point/models/icon-font.js.map +0 -1
- package/es/point/models/image.d.ts +0 -11
- package/es/point/models/image.js +0 -207
- package/es/point/models/image.js.map +0 -1
- package/es/point/models/index.d.ts +0 -5
- package/es/point/models/index.js +0 -16
- package/es/point/models/index.js.map +0 -1
- package/es/point/models/normal.d.ts +0 -21
- package/es/point/models/normal.js +0 -155
- package/es/point/models/normal.js.map +0 -1
- package/es/point/models/text.d.ts +0 -56
- package/es/point/models/text.js +0 -522
- package/es/point/models/text.js.map +0 -1
- package/es/point/shape/Path.d.ts +0 -40
- package/es/point/shape/Path.js +0 -57
- package/es/point/shape/Path.js.map +0 -1
- package/es/point/shape/extrude.d.ts +0 -15
- package/es/point/shape/extrude.js +0 -58
- package/es/point/shape/extrude.js.map +0 -1
- package/es/polygon/index.d.ts +0 -22
- package/es/polygon/index.js +0 -124
- package/es/polygon/index.js.map +0 -1
- package/es/polygon/models/extrude.d.ts +0 -13
- package/es/polygon/models/extrude.js +0 -139
- package/es/polygon/models/extrude.js.map +0 -1
- package/es/polygon/models/fill.d.ts +0 -13
- package/es/polygon/models/fill.js +0 -108
- package/es/polygon/models/fill.js.map +0 -1
- package/es/polygon/models/index.d.ts +0 -5
- package/es/polygon/models/index.js +0 -20
- package/es/polygon/models/index.js.map +0 -1
- package/es/raster/buffers/triangulation.d.ts +0 -6
- package/es/raster/buffers/triangulation.js +0 -28
- package/es/raster/buffers/triangulation.js.map +0 -1
- package/es/raster/image.d.ts +0 -0
- package/es/raster/image.js +0 -2
- package/es/raster/image.js.map +0 -1
- package/es/raster/index.d.ts +0 -28
- package/es/raster/index.js +0 -83
- package/es/raster/index.js.map +0 -1
- package/es/raster/models/index.d.ts +0 -5
- package/es/raster/models/index.js +0 -7
- package/es/raster/models/index.js.map +0 -1
- package/es/raster/models/raster.d.ts +0 -19
- package/es/raster/models/raster.js +0 -152
- package/es/raster/models/raster.js.map +0 -1
- package/es/raster/raster.d.ts +0 -30
- package/es/raster/raster.js +0 -178
- package/es/raster/raster.js.map +0 -1
- package/es/raster/raster2d.d.ts +0 -27
- package/es/raster/raster2d.js +0 -158
- package/es/raster/raster2d.js.map +0 -1
- package/es/utils/blend.d.ts +0 -2
- package/es/utils/blend.js +0 -55
- package/es/utils/blend.js.map +0 -1
- package/es/utils/collision-index.d.ts +0 -47
- package/es/utils/collision-index.js +0 -87
- package/es/utils/collision-index.js.map +0 -1
- package/es/utils/dataMappingStyle.d.ts +0 -30
- package/es/utils/dataMappingStyle.js +0 -88
- package/es/utils/dataMappingStyle.js.map +0 -1
- package/es/utils/extrude_polyline.d.ts +0 -48
- package/es/utils/extrude_polyline.js +0 -405
- package/es/utils/extrude_polyline.js.map +0 -1
- package/es/utils/geo.d.ts +0 -3
- package/es/utils/geo.js +0 -24
- package/es/utils/geo.js.map +0 -1
- package/es/utils/grid-index.d.ts +0 -28
- package/es/utils/grid-index.js +0 -193
- package/es/utils/grid-index.js.map +0 -1
- package/es/utils/polylineNormal.d.ts +0 -9
- package/es/utils/polylineNormal.js +0 -171
- package/es/utils/polylineNormal.js.map +0 -1
- package/es/utils/symbol-layout.d.ts +0 -43
- package/es/utils/symbol-layout.js +0 -260
- package/es/utils/symbol-layout.js.map +0 -1
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
|
|
5
|
-
var _dec, _class;
|
|
6
|
-
|
|
7
|
-
import { TYPES } from '@antv/l7-core';
|
|
8
|
-
import Source, { DEFAULT_DATA, DEFAULT_PARSER } from '@antv/l7-source';
|
|
9
|
-
import { injectable } from 'inversify';
|
|
10
|
-
import 'reflect-metadata';
|
|
11
|
-
var DataSourcePlugin = (_dec = injectable(), _dec(_class = function () {
|
|
12
|
-
function DataSourcePlugin() {
|
|
13
|
-
_classCallCheck(this, DataSourcePlugin);
|
|
14
|
-
|
|
15
|
-
_defineProperty(this, "mapService", void 0);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
_createClass(DataSourcePlugin, [{
|
|
19
|
-
key: "apply",
|
|
20
|
-
value: function apply(layer) {
|
|
21
|
-
var _this = this;
|
|
22
|
-
|
|
23
|
-
this.mapService = layer.getContainer().get(TYPES.IMapService);
|
|
24
|
-
layer.hooks.init.tap('DataSourcePlugin', function () {
|
|
25
|
-
var source = layer.getSource();
|
|
26
|
-
|
|
27
|
-
if (!source) {
|
|
28
|
-
var _ref = layer.sourceOption || {
|
|
29
|
-
data: DEFAULT_DATA,
|
|
30
|
-
options: DEFAULT_PARSER
|
|
31
|
-
},
|
|
32
|
-
data = _ref.data,
|
|
33
|
-
options = _ref.options;
|
|
34
|
-
|
|
35
|
-
layer.setSource(new Source(data, options));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
_this.updateClusterData(layer);
|
|
39
|
-
});
|
|
40
|
-
layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
|
|
41
|
-
var neeUpdateCluster = _this.updateClusterData(layer);
|
|
42
|
-
|
|
43
|
-
var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
|
|
44
|
-
layer.dataState.dataSourceNeedUpdate = false;
|
|
45
|
-
return neeUpdateCluster || dataSourceNeedUpdate;
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}, {
|
|
49
|
-
key: "updateClusterData",
|
|
50
|
-
value: function updateClusterData(layer) {
|
|
51
|
-
var source = layer.getSource();
|
|
52
|
-
var cluster = source.cluster;
|
|
53
|
-
var _source$clusterOption = source.clusterOptions,
|
|
54
|
-
_source$clusterOption2 = _source$clusterOption.zoom,
|
|
55
|
-
zoom = _source$clusterOption2 === void 0 ? 0 : _source$clusterOption2,
|
|
56
|
-
_source$clusterOption3 = _source$clusterOption.maxZoom,
|
|
57
|
-
maxZoom = _source$clusterOption3 === void 0 ? 16 : _source$clusterOption3;
|
|
58
|
-
var newZoom = this.mapService.getZoom() - 1;
|
|
59
|
-
var dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;
|
|
60
|
-
|
|
61
|
-
if (cluster && (dataSourceNeedUpdate || Math.abs(zoom - newZoom) > 1) && maxZoom > zoom) {
|
|
62
|
-
source.updateClusterData(Math.floor(newZoom));
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
}]);
|
|
69
|
-
|
|
70
|
-
return DataSourcePlugin;
|
|
71
|
-
}()) || _class);
|
|
72
|
-
export { DataSourcePlugin as default };
|
|
73
|
-
//# sourceMappingURL=DataSourcePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/plugins/DataSourcePlugin.ts"],"names":["TYPES","Source","DEFAULT_DATA","DEFAULT_PARSER","injectable","DataSourcePlugin","layer","mapService","getContainer","get","IMapService","hooks","init","tap","source","getSource","sourceOption","data","options","setSource","updateClusterData","beforeRenderData","neeUpdateCluster","dataSourceNeedUpdate","dataState","cluster","clusterOptions","zoom","maxZoom","newZoom","getZoom","Math","abs","floor"],"mappings":";;;;;;AAAA,SAKEA,KALF,QAMO,eANP;AAOA,OAAOC,MAAP,IAAiBC,YAAjB,EAA+BC,cAA/B,QAAqD,iBAArD;AACA,SAASC,UAAT,QAA2B,WAA3B;AACA,OAAO,kBAAP;IAGqBC,gB,WADpBD,UAAU,E;;;;;;;;;WAGT,eAAaE,KAAb,EAA4B;AAAA;;AAC1B,WAAKC,UAAL,GAAkBD,KAAK,CAACE,YAAN,GAAqBC,GAArB,CAAsCT,KAAK,CAACU,WAA5C,CAAlB;AACAJ,MAAAA,KAAK,CAACK,KAAN,CAAYC,IAAZ,CAAiBC,GAAjB,CAAqB,kBAArB,EAAyC,YAAM;AAC7C,YAAMC,MAAM,GAAGR,KAAK,CAACS,SAAN,EAAf;;AACA,YAAI,CAACD,MAAL,EAAa;AAEX,qBAA0BR,KAAK,CAACU,YAAN,IAAsB;AAC9CC,YAAAA,IAAI,EAAEf,YADwC;AAE9CgB,YAAAA,OAAO,EAAEf;AAFqC,WAAhD;AAAA,cAAQc,IAAR,QAAQA,IAAR;AAAA,cAAcC,OAAd,QAAcA,OAAd;;AAIAZ,UAAAA,KAAK,CAACa,SAAN,CAAgB,IAAIlB,MAAJ,CAAWgB,IAAX,EAAiBC,OAAjB,CAAhB;AACD;;AAED,QAAA,KAAI,CAACE,iBAAL,CAAuBd,KAAvB;AACD,OAZD;AAeAA,MAAAA,KAAK,CAACK,KAAN,CAAYU,gBAAZ,CAA6BR,GAA7B,CAAiC,kBAAjC,EAAqD,YAAM;AACzD,YAAMS,gBAAgB,GAAG,KAAI,CAACF,iBAAL,CAAuBd,KAAvB,CAAzB;;AACA,YAAMiB,oBAAoB,GAAGjB,KAAK,CAACkB,SAAN,CAAgBD,oBAA7C;AACAjB,QAAAA,KAAK,CAACkB,SAAN,CAAgBD,oBAAhB,GAAuC,KAAvC;AACA,eAAOD,gBAAgB,IAAIC,oBAA3B;AACD,OALD;AAMD;;;WAED,2BAA0BjB,KAA1B,EAAkD;AAChD,UAAMQ,MAAM,GAAGR,KAAK,CAACS,SAAN,EAAf;AACA,UAAMU,OAAO,GAAGX,MAAM,CAACW,OAAvB;AACA,kCAAmCX,MAAM,CAACY,cAA1C;AAAA,yDAAQC,IAAR;AAAA,UAAQA,IAAR,uCAAe,CAAf;AAAA,yDAAkBC,OAAlB;AAAA,UAAkBA,OAAlB,uCAA4B,EAA5B;AACA,UAAMC,OAAO,GAAG,KAAKtB,UAAL,CAAgBuB,OAAhB,KAA4B,CAA5C;AACA,UAAMP,oBAAoB,GAAGjB,KAAK,CAACkB,SAAN,CAAgBD,oBAA7C;;AAEA,UACEE,OAAO,KACNF,oBAAoB,IAAIQ,IAAI,CAACC,GAAL,CAASL,IAAI,GAAGE,OAAhB,IAA2B,CAD7C,CAAP,IAEAD,OAAO,GAAGD,IAHZ,EAIE;AACAb,QAAAA,MAAM,CAACM,iBAAP,CAAyBW,IAAI,CAACE,KAAL,CAAWJ,OAAX,CAAzB;AACA,eAAO,IAAP;AACD;;AACD,aAAO,KAAP;AACD;;;;;SA3CkBxB,gB","sourcesContent":["import {\n ILayer,\n ILayerPlugin,\n ILngLat,\n IMapService,\n TYPES,\n} from '@antv/l7-core';\nimport Source, { DEFAULT_DATA, DEFAULT_PARSER } from '@antv/l7-source';\nimport { injectable } from 'inversify';\nimport 'reflect-metadata';\n\n@injectable()\nexport default class DataSourcePlugin implements ILayerPlugin {\n protected mapService: IMapService;\n public apply(layer: ILayer) {\n this.mapService = layer.getContainer().get<IMapService>(TYPES.IMapService);\n layer.hooks.init.tap('DataSourcePlugin', () => {\n const source = layer.getSource();\n if (!source) {\n // TODO: 允许用户不使用 layer 的 source 方法,在这里传入一个默认的替换的默认数据\n const { data, options } = layer.sourceOption || {\n data: DEFAULT_DATA,\n options: DEFAULT_PARSER,\n };\n layer.setSource(new Source(data, options));\n }\n\n this.updateClusterData(layer);\n });\n\n // 检测数据是否需要更新\n layer.hooks.beforeRenderData.tap('DataSourcePlugin', () => {\n const neeUpdateCluster = this.updateClusterData(layer);\n const dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;\n layer.dataState.dataSourceNeedUpdate = false;\n return neeUpdateCluster || dataSourceNeedUpdate;\n });\n }\n\n private updateClusterData(layer: ILayer): boolean {\n const source = layer.getSource();\n const cluster = source.cluster;\n const { zoom = 0, maxZoom = 16 } = source.clusterOptions;\n const newZoom = this.mapService.getZoom() - 1;\n const dataSourceNeedUpdate = layer.dataState.dataSourceNeedUpdate;\n // 如果 dataSource 有更新,跳过 zoom 的判断,直接更新一次\n if (\n cluster &&\n (dataSourceNeedUpdate || Math.abs(zoom - newZoom) > 1) &&\n maxZoom > zoom\n ) {\n source.updateClusterData(Math.floor(newZoom));\n return true;\n }\n return false;\n }\n}\n"],"file":"DataSourcePlugin.js"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ILayer, ILayerPlugin, IStyleAttributeService } from '@antv/l7-core';
|
|
2
|
-
import 'reflect-metadata';
|
|
3
|
-
/**
|
|
4
|
-
* 根据 Source 原始数据为指定字段创建 Scale,保存在 StyleAttribute 上,供下游插件使用
|
|
5
|
-
*/
|
|
6
|
-
export default class FeatureScalePlugin implements ILayerPlugin {
|
|
7
|
-
private readonly configService;
|
|
8
|
-
private scaleCache;
|
|
9
|
-
private scaleOptions;
|
|
10
|
-
apply(layer: ILayer, { styleAttributeService, }: {
|
|
11
|
-
styleAttributeService: IStyleAttributeService;
|
|
12
|
-
}): void;
|
|
13
|
-
private isNumber;
|
|
14
|
-
private caculateScalesForAttributes;
|
|
15
|
-
private getOrCreateScale;
|
|
16
|
-
/**
|
|
17
|
-
* @example
|
|
18
|
-
* 'w*h' => ['w', 'h']
|
|
19
|
-
* 'w' => ['w']
|
|
20
|
-
*/
|
|
21
|
-
private parseFields;
|
|
22
|
-
private createScale;
|
|
23
|
-
private getDefaultType;
|
|
24
|
-
private createDefaultScaleConfig;
|
|
25
|
-
private createDefaultScale;
|
|
26
|
-
}
|
|
@@ -1,270 +0,0 @@
|
|
|
1
|
-
import _initializerDefineProperty from "@babel/runtime/helpers/initializerDefineProperty";
|
|
2
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
-
import _applyDecoratedDescriptor from "@babel/runtime/helpers/applyDecoratedDescriptor";
|
|
5
|
-
import _initializerWarningHelper from "@babel/runtime/helpers/initializerWarningHelper";
|
|
6
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
|
-
import _uniq from "lodash/uniq";
|
|
8
|
-
import _isString from "lodash/isString";
|
|
9
|
-
import _isNil from "lodash/isNil";
|
|
10
|
-
|
|
11
|
-
var _scaleMap, _dec, _dec2, _class, _class2, _descriptor;
|
|
12
|
-
|
|
13
|
-
import { ScaleTypes, StyleScaleType, TYPES } from '@antv/l7-core';
|
|
14
|
-
import { extent } from 'd3-array';
|
|
15
|
-
import * as d3 from 'd3-scale';
|
|
16
|
-
import { inject, injectable } from 'inversify';
|
|
17
|
-
import 'reflect-metadata';
|
|
18
|
-
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]))?$/;
|
|
19
|
-
var scaleMap = (_scaleMap = {}, _defineProperty(_scaleMap, ScaleTypes.LINEAR, d3.scaleLinear), _defineProperty(_scaleMap, ScaleTypes.POWER, d3.scalePow), _defineProperty(_scaleMap, ScaleTypes.LOG, d3.scaleLog), _defineProperty(_scaleMap, ScaleTypes.IDENTITY, d3.scaleIdentity), _defineProperty(_scaleMap, ScaleTypes.TIME, d3.scaleTime), _defineProperty(_scaleMap, ScaleTypes.QUANTILE, d3.scaleQuantile), _defineProperty(_scaleMap, ScaleTypes.QUANTIZE, d3.scaleQuantize), _defineProperty(_scaleMap, ScaleTypes.THRESHOLD, d3.scaleThreshold), _defineProperty(_scaleMap, ScaleTypes.CAT, d3.scaleOrdinal), _scaleMap);
|
|
20
|
-
var FeatureScalePlugin = (_dec = injectable(), _dec2 = inject(TYPES.IGlobalConfigService), _dec(_class = (_class2 = function () {
|
|
21
|
-
function FeatureScalePlugin() {
|
|
22
|
-
_classCallCheck(this, FeatureScalePlugin);
|
|
23
|
-
|
|
24
|
-
_initializerDefineProperty(this, "configService", _descriptor, this);
|
|
25
|
-
|
|
26
|
-
_defineProperty(this, "scaleCache", {});
|
|
27
|
-
|
|
28
|
-
_defineProperty(this, "scaleOptions", {});
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
_createClass(FeatureScalePlugin, [{
|
|
32
|
-
key: "apply",
|
|
33
|
-
value: function apply(layer, _ref) {
|
|
34
|
-
var _this = this;
|
|
35
|
-
|
|
36
|
-
var styleAttributeService = _ref.styleAttributeService;
|
|
37
|
-
layer.hooks.init.tap('FeatureScalePlugin', function () {
|
|
38
|
-
_this.scaleOptions = layer.getScaleOptions();
|
|
39
|
-
var attributes = styleAttributeService.getLayerStyleAttributes();
|
|
40
|
-
var dataArray = layer.getSource().data.dataArray;
|
|
41
|
-
|
|
42
|
-
if (dataArray.length === 0) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
_this.caculateScalesForAttributes(attributes || [], dataArray);
|
|
47
|
-
});
|
|
48
|
-
layer.hooks.beforeRenderData.tap('FeatureScalePlugin', function () {
|
|
49
|
-
_this.scaleOptions = layer.getScaleOptions();
|
|
50
|
-
var attributes = styleAttributeService.getLayerStyleAttributes();
|
|
51
|
-
var dataArray = layer.getSource().data.dataArray;
|
|
52
|
-
|
|
53
|
-
_this.caculateScalesForAttributes(attributes || [], dataArray);
|
|
54
|
-
|
|
55
|
-
layer.layerModelNeedUpdate = true;
|
|
56
|
-
return true;
|
|
57
|
-
});
|
|
58
|
-
layer.hooks.beforeRender.tap('FeatureScalePlugin', function () {
|
|
59
|
-
if (layer.layerModelNeedUpdate) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
_this.scaleOptions = layer.getScaleOptions();
|
|
64
|
-
var attributes = styleAttributeService.getLayerStyleAttributes();
|
|
65
|
-
|
|
66
|
-
if (attributes) {
|
|
67
|
-
var dataArray = layer.getSource().data.dataArray;
|
|
68
|
-
|
|
69
|
-
if (dataArray.length === 0) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
var attributesToRescale = attributes.filter(function (attribute) {
|
|
74
|
-
return attribute.needRescale;
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
if (attributesToRescale.length) {
|
|
78
|
-
_this.caculateScalesForAttributes(attributesToRescale, dataArray);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}, {
|
|
84
|
-
key: "isNumber",
|
|
85
|
-
value: function isNumber(n) {
|
|
86
|
-
return !isNaN(parseFloat(n)) && isFinite(n);
|
|
87
|
-
}
|
|
88
|
-
}, {
|
|
89
|
-
key: "caculateScalesForAttributes",
|
|
90
|
-
value: function caculateScalesForAttributes(attributes, dataArray) {
|
|
91
|
-
var _this2 = this;
|
|
92
|
-
|
|
93
|
-
this.scaleCache = {};
|
|
94
|
-
attributes.forEach(function (attribute) {
|
|
95
|
-
if (attribute.scale) {
|
|
96
|
-
var attributeScale = attribute.scale;
|
|
97
|
-
var type = attribute.name;
|
|
98
|
-
attributeScale.names = _this2.parseFields(attribute.scale.field || []);
|
|
99
|
-
var scales = [];
|
|
100
|
-
attributeScale.names.forEach(function (field) {
|
|
101
|
-
scales.push(_this2.getOrCreateScale(field, attribute, dataArray));
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
if (scales.some(function (scale) {
|
|
105
|
-
return scale.type === StyleScaleType.VARIABLE;
|
|
106
|
-
})) {
|
|
107
|
-
attributeScale.type = StyleScaleType.VARIABLE;
|
|
108
|
-
scales.forEach(function (scale) {
|
|
109
|
-
if (!attributeScale.callback) {
|
|
110
|
-
var _scale$option2;
|
|
111
|
-
|
|
112
|
-
if (attributeScale.values && attributeScale.values !== 'text') {
|
|
113
|
-
var _scale$option;
|
|
114
|
-
|
|
115
|
-
if (((_scale$option = scale.option) === null || _scale$option === void 0 ? void 0 : _scale$option.type) === 'linear' && attributeScale.values.length > 2) {
|
|
116
|
-
var tick = scale.scale.ticks(attributeScale.values.length);
|
|
117
|
-
|
|
118
|
-
if (type === 'color') {
|
|
119
|
-
scale.scale.domain(tick);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
scale.scale.range(attributeScale.values);
|
|
124
|
-
} else if (((_scale$option2 = scale.option) === null || _scale$option2 === void 0 ? void 0 : _scale$option2.type) === 'cat') {
|
|
125
|
-
scale.scale.range(scale.option.domain);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
} else {
|
|
130
|
-
attributeScale.type = StyleScaleType.CONSTANT;
|
|
131
|
-
attributeScale.defaultValues = scales.map(function (scale, index) {
|
|
132
|
-
return scale.scale(attributeScale.names[index]);
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
attributeScale.scalers = scales.map(function (scale) {
|
|
137
|
-
return {
|
|
138
|
-
field: scale.field,
|
|
139
|
-
func: scale.scale,
|
|
140
|
-
option: scale.option
|
|
141
|
-
};
|
|
142
|
-
});
|
|
143
|
-
attribute.needRescale = false;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}, {
|
|
148
|
-
key: "getOrCreateScale",
|
|
149
|
-
value: function getOrCreateScale(field, attribute, dataArray) {
|
|
150
|
-
var _attribute$scale;
|
|
151
|
-
|
|
152
|
-
var scalekey = [field, attribute.name].join('_');
|
|
153
|
-
var values = (_attribute$scale = attribute.scale) === null || _attribute$scale === void 0 ? void 0 : _attribute$scale.values;
|
|
154
|
-
var styleScale = this.createScale(field, attribute.name, values, dataArray);
|
|
155
|
-
return styleScale;
|
|
156
|
-
}
|
|
157
|
-
}, {
|
|
158
|
-
key: "parseFields",
|
|
159
|
-
value: function parseFields(field) {
|
|
160
|
-
if (Array.isArray(field)) {
|
|
161
|
-
return field;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
if (_isString(field)) {
|
|
165
|
-
return field.split('*');
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
return [field];
|
|
169
|
-
}
|
|
170
|
-
}, {
|
|
171
|
-
key: "createScale",
|
|
172
|
-
value: function createScale(field, name, values, data) {
|
|
173
|
-
var _this$scaleOptions$na, _find;
|
|
174
|
-
|
|
175
|
-
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] : this.scaleOptions[field];
|
|
176
|
-
var styleScale = {
|
|
177
|
-
field: field,
|
|
178
|
-
scale: undefined,
|
|
179
|
-
type: StyleScaleType.VARIABLE,
|
|
180
|
-
option: scaleOption
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
if (!data || !data.length) {
|
|
184
|
-
if (scaleOption && scaleOption.type) {
|
|
185
|
-
styleScale.scale = this.createDefaultScale(scaleOption);
|
|
186
|
-
} else {
|
|
187
|
-
styleScale.scale = d3.scaleOrdinal([field]);
|
|
188
|
-
styleScale.type = StyleScaleType.CONSTANT;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
return styleScale;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
var firstValue = (_find = data.find(function (d) {
|
|
195
|
-
return !_isNil(d[field]);
|
|
196
|
-
})) === null || _find === void 0 ? void 0 : _find[field];
|
|
197
|
-
|
|
198
|
-
if (this.isNumber(field) || _isNil(firstValue) && !scaleOption) {
|
|
199
|
-
styleScale.scale = d3.scaleOrdinal([field]);
|
|
200
|
-
styleScale.type = StyleScaleType.CONSTANT;
|
|
201
|
-
} else {
|
|
202
|
-
var type = scaleOption && scaleOption.type || this.getDefaultType(firstValue);
|
|
203
|
-
|
|
204
|
-
if (values === 'text') {
|
|
205
|
-
type = ScaleTypes.CAT;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
var cfg = this.createDefaultScaleConfig(type, field, data);
|
|
209
|
-
Object.assign(cfg, scaleOption);
|
|
210
|
-
styleScale.scale = this.createDefaultScale(cfg);
|
|
211
|
-
styleScale.option = cfg;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
return styleScale;
|
|
215
|
-
}
|
|
216
|
-
}, {
|
|
217
|
-
key: "getDefaultType",
|
|
218
|
-
value: function getDefaultType(firstValue) {
|
|
219
|
-
var type = ScaleTypes.LINEAR;
|
|
220
|
-
|
|
221
|
-
if (typeof firstValue === 'string') {
|
|
222
|
-
type = dateRegex.test(firstValue) ? ScaleTypes.TIME : ScaleTypes.CAT;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
return type;
|
|
226
|
-
}
|
|
227
|
-
}, {
|
|
228
|
-
key: "createDefaultScaleConfig",
|
|
229
|
-
value: function createDefaultScaleConfig(type, field, data) {
|
|
230
|
-
var cfg = {
|
|
231
|
-
type: type
|
|
232
|
-
};
|
|
233
|
-
var values = (data === null || data === void 0 ? void 0 : data.map(function (item) {
|
|
234
|
-
return item[field];
|
|
235
|
-
})) || [];
|
|
236
|
-
|
|
237
|
-
if (type !== ScaleTypes.CAT && type !== ScaleTypes.QUANTILE) {
|
|
238
|
-
cfg.domain = extent(values);
|
|
239
|
-
} else if (type === ScaleTypes.CAT) {
|
|
240
|
-
cfg.domain = _uniq(values);
|
|
241
|
-
} else if (type === ScaleTypes.QUANTILE) {
|
|
242
|
-
cfg.domain = values;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
return cfg;
|
|
246
|
-
}
|
|
247
|
-
}, {
|
|
248
|
-
key: "createDefaultScale",
|
|
249
|
-
value: function createDefaultScale(_ref2) {
|
|
250
|
-
var type = _ref2.type,
|
|
251
|
-
domain = _ref2.domain;
|
|
252
|
-
var scale = scaleMap[type]();
|
|
253
|
-
|
|
254
|
-
if (domain) {
|
|
255
|
-
scale.domain(domain);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return scale;
|
|
259
|
-
}
|
|
260
|
-
}]);
|
|
261
|
-
|
|
262
|
-
return FeatureScalePlugin;
|
|
263
|
-
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "configService", [_dec2], {
|
|
264
|
-
configurable: true,
|
|
265
|
-
enumerable: true,
|
|
266
|
-
writable: true,
|
|
267
|
-
initializer: null
|
|
268
|
-
})), _class2)) || _class);
|
|
269
|
-
export { FeatureScalePlugin as default };
|
|
270
|
-
//# sourceMappingURL=FeatureScalePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/plugins/FeatureScalePlugin.ts"],"names":["ScaleTypes","StyleScaleType","TYPES","extent","d3","inject","injectable","dateRegex","scaleMap","LINEAR","scaleLinear","POWER","scalePow","LOG","scaleLog","IDENTITY","scaleIdentity","TIME","scaleTime","QUANTILE","scaleQuantile","QUANTIZE","scaleQuantize","THRESHOLD","scaleThreshold","CAT","scaleOrdinal","FeatureScalePlugin","IGlobalConfigService","layer","styleAttributeService","hooks","init","tap","scaleOptions","getScaleOptions","attributes","getLayerStyleAttributes","dataArray","getSource","data","length","caculateScalesForAttributes","beforeRenderData","layerModelNeedUpdate","beforeRender","attributesToRescale","filter","attribute","needRescale","n","isNaN","parseFloat","isFinite","scaleCache","forEach","scale","attributeScale","type","name","names","parseFields","field","scales","push","getOrCreateScale","some","VARIABLE","callback","values","option","tick","ticks","domain","range","CONSTANT","defaultValues","map","index","scalers","func","scalekey","join","styleScale","createScale","Array","isArray","split","scaleOption","undefined","createDefaultScale","firstValue","find","d","isNumber","getDefaultType","cfg","createDefaultScaleConfig","Object","assign","test","item"],"mappings":"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","sourcesContent":["import {\n IGlobalConfigService,\n ILayer,\n ILayerPlugin,\n IScale,\n IScaleOptions,\n IStyleAttribute,\n IStyleAttributeService,\n IStyleScale,\n ScaleTypeName,\n ScaleTypes,\n StyleScaleType,\n TYPES,\n} from '@antv/l7-core';\nimport { IParseDataItem } from '@antv/l7-source';\nimport { extent, ticks } from 'd3-array';\nimport * as d3 from 'd3-scale';\nimport { inject, injectable } from 'inversify';\nimport { isNil, isString, uniq } from 'lodash';\nimport 'reflect-metadata';\n\nconst 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]))?$/;\n\nconst scaleMap = {\n [ScaleTypes.LINEAR]: d3.scaleLinear,\n [ScaleTypes.POWER]: d3.scalePow,\n [ScaleTypes.LOG]: d3.scaleLog,\n [ScaleTypes.IDENTITY]: d3.scaleIdentity,\n [ScaleTypes.TIME]: d3.scaleTime,\n [ScaleTypes.QUANTILE]: d3.scaleQuantile,\n [ScaleTypes.QUANTIZE]: d3.scaleQuantize,\n [ScaleTypes.THRESHOLD]: d3.scaleThreshold,\n [ScaleTypes.CAT]: d3.scaleOrdinal,\n};\n\n/**\n * 根据 Source 原始数据为指定字段创建 Scale,保存在 StyleAttribute 上,供下游插件使用\n */\n@injectable()\nexport default class FeatureScalePlugin implements ILayerPlugin {\n @inject(TYPES.IGlobalConfigService)\n private readonly configService: IGlobalConfigService;\n // key = field_attribute name\n private scaleCache: {\n [field: string]: IStyleScale;\n } = {};\n\n private scaleOptions: IScaleOptions = {};\n\n public apply(\n layer: ILayer,\n {\n styleAttributeService,\n }: { styleAttributeService: IStyleAttributeService },\n ) {\n layer.hooks.init.tap('FeatureScalePlugin', () => {\n this.scaleOptions = layer.getScaleOptions();\n const attributes = styleAttributeService.getLayerStyleAttributes();\n const { dataArray } = layer.getSource().data;\n if (dataArray.length === 0) {\n return;\n }\n this.caculateScalesForAttributes(attributes || [], dataArray);\n });\n\n // 检测数据是否需要更新\n layer.hooks.beforeRenderData.tap('FeatureScalePlugin', () => {\n this.scaleOptions = layer.getScaleOptions();\n const attributes = styleAttributeService.getLayerStyleAttributes();\n const { dataArray } = layer.getSource().data;\n // if (dataArray.length === 0) {\n // return;\n // }\n this.caculateScalesForAttributes(attributes || [], dataArray);\n layer.layerModelNeedUpdate = true;\n return true;\n });\n\n layer.hooks.beforeRender.tap('FeatureScalePlugin', () => {\n if (layer.layerModelNeedUpdate) {\n return;\n }\n this.scaleOptions = layer.getScaleOptions();\n const attributes = styleAttributeService.getLayerStyleAttributes();\n if (attributes) {\n const { dataArray } = layer.getSource().data;\n if (dataArray.length === 0) {\n return;\n }\n const attributesToRescale = attributes.filter(\n (attribute) => attribute.needRescale,\n );\n if (attributesToRescale.length) {\n this.caculateScalesForAttributes(attributesToRescale, dataArray);\n }\n }\n });\n }\n private isNumber(n: any) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n private caculateScalesForAttributes(\n attributes: IStyleAttribute[],\n dataArray: IParseDataItem[],\n ) {\n this.scaleCache = {};\n attributes.forEach((attribute) => {\n if (attribute.scale) {\n // 创建Scale\n const attributeScale = attribute.scale;\n const type = attribute.name;\n attributeScale.names = this.parseFields(attribute!.scale!.field || []);\n const scales: IStyleScale[] = [];\n attributeScale.names.forEach((field: string | number) => {\n scales.push(this.getOrCreateScale(field, attribute, dataArray));\n });\n\n // 为scales 设置值区间\n if (scales.some((scale) => scale.type === StyleScaleType.VARIABLE)) {\n attributeScale.type = StyleScaleType.VARIABLE;\n scales.forEach((scale) => {\n // 如果设置了回调, 这不需要设置让range\n if (!attributeScale.callback) {\n if (attributeScale.values && attributeScale.values !== 'text') {\n if (\n scale.option?.type === 'linear' &&\n attributeScale.values.length > 2\n ) {\n const tick = scale.scale.ticks(attributeScale.values.length);\n if (type === 'color') {\n scale.scale.domain(tick);\n }\n }\n scale.scale.range(attributeScale.values); // 判断常量, 默认值\n } else if (scale.option?.type === 'cat') {\n // 如果没有设置初值且 类型为cat,range ==domain;\n\n scale.scale.range(scale.option.domain);\n }\n }\n });\n } else {\n // 设置attribute 常量值 常量直接在value取值\n attributeScale.type = StyleScaleType.CONSTANT;\n attributeScale.defaultValues = scales.map((scale, index) => {\n return scale.scale(attributeScale.names[index]);\n });\n }\n attributeScale.scalers = scales.map((scale: IStyleScale) => {\n return {\n field: scale.field,\n func: scale.scale,\n option: scale.option,\n };\n });\n\n attribute.needRescale = false;\n }\n });\n }\n private getOrCreateScale(\n field: string | number,\n attribute: IStyleAttribute,\n dataArray: IParseDataItem[],\n ) {\n const scalekey = [field, attribute.name].join('_');\n const values = attribute.scale?.values;\n // if (this.scaleCache[scalekey]) {\n // return this.scaleCache[scalekey];\n // }\n const styleScale = this.createScale(\n field,\n attribute.name,\n values,\n dataArray,\n );\n // this.scaleCache[scalekey] = styleScale;\n return styleScale;\n }\n\n /**\n * @example\n * 'w*h' => ['w', 'h']\n * 'w' => ['w']\n */\n private parseFields(\n field: string[] | string | number[],\n ): string[] | number[] {\n if (Array.isArray(field)) {\n return field;\n }\n if (isString(field)) {\n return field.split('*');\n }\n return [field];\n }\n\n private createScale(\n field: string | number,\n name: string,\n values: unknown[] | string | undefined,\n data?: IParseDataItem[],\n ): IStyleScale {\n // scale 支持根据视觉通道和字段\n const scaleOption: IScale | undefined =\n this.scaleOptions[name] && this.scaleOptions[name]?.field === field\n ? this.scaleOptions[name]\n : this.scaleOptions[field];\n const styleScale: IStyleScale = {\n field,\n scale: undefined,\n type: StyleScaleType.VARIABLE,\n option: scaleOption,\n };\n\n if (!data || !data.length) {\n if (scaleOption && scaleOption.type) {\n styleScale.scale = this.createDefaultScale(scaleOption);\n } else {\n styleScale.scale = d3.scaleOrdinal([field]);\n styleScale.type = StyleScaleType.CONSTANT;\n }\n return styleScale;\n }\n const firstValue = data!.find((d) => !isNil(d[field]))?.[field];\n // 常量 Scale\n if (this.isNumber(field) || (isNil(firstValue) && !scaleOption)) {\n styleScale.scale = d3.scaleOrdinal([field]);\n styleScale.type = StyleScaleType.CONSTANT;\n } else {\n // 根据数据类型判断 默认等分位,时间,和枚举类型\n let type =\n (scaleOption && scaleOption.type) || this.getDefaultType(firstValue);\n if (values === 'text') {\n // text 为内置变 如果是文本则为cat\n type = ScaleTypes.CAT;\n }\n const cfg = this.createDefaultScaleConfig(type, field, data);\n Object.assign(cfg, scaleOption);\n styleScale.scale = this.createDefaultScale(cfg);\n styleScale.option = cfg;\n }\n return styleScale;\n }\n\n private getDefaultType(firstValue: unknown) {\n let type = ScaleTypes.LINEAR;\n if (typeof firstValue === 'string') {\n type = dateRegex.test(firstValue) ? ScaleTypes.TIME : ScaleTypes.CAT;\n }\n return type;\n }\n\n private createDefaultScaleConfig(\n type: ScaleTypeName,\n field: string | number,\n data?: IParseDataItem[],\n ) {\n const cfg: IScale = {\n type,\n };\n const values = data?.map((item) => item[field]) || [];\n // 默认类型为 Quantile Scales https://github.com/d3/d3-scale#quantile-scales\n if (type !== ScaleTypes.CAT && type !== ScaleTypes.QUANTILE) {\n cfg.domain = extent(values);\n } else if (type === ScaleTypes.CAT) {\n cfg.domain = uniq(values);\n } else if (type === ScaleTypes.QUANTILE) {\n cfg.domain = values;\n }\n return cfg;\n }\n\n private createDefaultScale({ type, domain }: IScale) {\n // @ts-ignore\n const scale = scaleMap[type]();\n if (domain) {\n scale.domain(domain);\n }\n // TODO 其他属性支持\n return scale;\n }\n}\n"],"file":"FeatureScalePlugin.js"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import _initializerDefineProperty from "@babel/runtime/helpers/initializerDefineProperty";
|
|
2
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
|
-
import _applyDecoratedDescriptor from "@babel/runtime/helpers/applyDecoratedDescriptor";
|
|
6
|
-
import _initializerWarningHelper from "@babel/runtime/helpers/initializerWarningHelper";
|
|
7
|
-
|
|
8
|
-
var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
|
|
9
|
-
|
|
10
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
-
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
13
|
-
|
|
14
|
-
import { TYPES } from '@antv/l7-core';
|
|
15
|
-
import { inject, injectable } from 'inversify';
|
|
16
|
-
import 'reflect-metadata';
|
|
17
|
-
var LayerAnimateStylePlugin = (_dec = injectable(), _dec2 = inject(TYPES.ICameraService), _dec3 = inject(TYPES.IRendererService), _dec(_class = (_class2 = function () {
|
|
18
|
-
function LayerAnimateStylePlugin() {
|
|
19
|
-
_classCallCheck(this, LayerAnimateStylePlugin);
|
|
20
|
-
|
|
21
|
-
_initializerDefineProperty(this, "cameraService", _descriptor, this);
|
|
22
|
-
|
|
23
|
-
_initializerDefineProperty(this, "rendererService", _descriptor2, this);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
_createClass(LayerAnimateStylePlugin, [{
|
|
27
|
-
key: "apply",
|
|
28
|
-
value: function apply(layer) {
|
|
29
|
-
layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', function () {
|
|
30
|
-
layer.models.forEach(function (model) {
|
|
31
|
-
model.addUniforms(_objectSpread({}, layer.layerModel.getAnimateUniforms()));
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}]);
|
|
36
|
-
|
|
37
|
-
return LayerAnimateStylePlugin;
|
|
38
|
-
}(), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "cameraService", [_dec2], {
|
|
39
|
-
configurable: true,
|
|
40
|
-
enumerable: true,
|
|
41
|
-
writable: true,
|
|
42
|
-
initializer: null
|
|
43
|
-
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "rendererService", [_dec3], {
|
|
44
|
-
configurable: true,
|
|
45
|
-
enumerable: true,
|
|
46
|
-
writable: true,
|
|
47
|
-
initializer: null
|
|
48
|
-
})), _class2)) || _class);
|
|
49
|
-
export { LayerAnimateStylePlugin as default };
|
|
50
|
-
//# sourceMappingURL=LayerAnimateStylePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/plugins/LayerAnimateStylePlugin.ts"],"names":["TYPES","inject","injectable","LayerAnimateStylePlugin","ICameraService","IRendererService","layer","hooks","beforeRender","tap","models","forEach","model","addUniforms","layerModel","getAnimateUniforms"],"mappings":";;;;;;;;;;;;;AAAA,SASEA,KATF,QAUO,eAVP;AAWA,SAASC,MAAT,EAAiBC,UAAjB,QAAmC,WAAnC;AACA,OAAO,kBAAP;IAGqBC,uB,WADpBD,UAAU,E,UAERD,MAAM,CAACD,KAAK,CAACI,cAAP,C,UAGNH,MAAM,CAACD,KAAK,CAACK,gBAAP,C;;;;;;;;;;;WAGP,eAAaC,KAAb,EAA4B;AAI1BA,MAAAA,KAAK,CAACC,KAAN,CAAYC,YAAZ,CAAyBC,GAAzB,CAA6B,yBAA7B,EAAwD,YAAM;AAE5DH,QAAAA,KAAK,CAACI,MAAN,CAAaC,OAAb,CAAqB,UAACC,KAAD,EAAmB;AACtCA,UAAAA,KAAK,CAACC,WAAN,mBACKP,KAAK,CAACQ,UAAN,CAAiBC,kBAAjB,EADL;AAGD,SAJD;AAKD,OAPD;AAQD;;;;;;;;;;;;;;;SAnBkBZ,uB","sourcesContent":["import {\n CameraUniform,\n CoordinateUniform,\n ICameraService,\n ICoordinateSystemService,\n ILayer,\n ILayerPlugin,\n IModel,\n IRendererService,\n TYPES,\n} from '@antv/l7-core';\nimport { inject, injectable } from 'inversify';\nimport 'reflect-metadata';\n\n@injectable()\nexport default class LayerAnimateStylePlugin implements ILayerPlugin {\n @inject(TYPES.ICameraService)\n private readonly cameraService: ICameraService;\n\n @inject(TYPES.IRendererService)\n private readonly rendererService: IRendererService;\n\n public apply(layer: ILayer) {\n // layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', () => {\n\n // })\n layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', () => {\n // 重新计算坐标系参数\n layer.models.forEach((model: IModel) => {\n model.addUniforms({\n ...layer.layerModel.getAnimateUniforms(),\n });\n });\n });\n }\n}\n"],"file":"LayerAnimateStylePlugin.js"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
|
|
4
|
-
var _dec, _class;
|
|
5
|
-
|
|
6
|
-
import { injectable } from 'inversify';
|
|
7
|
-
import 'reflect-metadata';
|
|
8
|
-
var LayerModelPlugin = (_dec = injectable(), _dec(_class = function () {
|
|
9
|
-
function LayerModelPlugin() {
|
|
10
|
-
_classCallCheck(this, LayerModelPlugin);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
_createClass(LayerModelPlugin, [{
|
|
14
|
-
key: "apply",
|
|
15
|
-
value: function apply(layer) {
|
|
16
|
-
layer.hooks.init.tap('LayerModelPlugin', function () {
|
|
17
|
-
layer.prepareBuildModel();
|
|
18
|
-
layer.buildModels();
|
|
19
|
-
layer.styleNeedUpdate = false;
|
|
20
|
-
});
|
|
21
|
-
layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
|
|
22
|
-
layer.prepareBuildModel();
|
|
23
|
-
layer.clearModels();
|
|
24
|
-
layer.buildModels();
|
|
25
|
-
layer.layerModelNeedUpdate = false;
|
|
26
|
-
return false;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}]);
|
|
30
|
-
|
|
31
|
-
return LayerModelPlugin;
|
|
32
|
-
}()) || _class);
|
|
33
|
-
export { LayerModelPlugin as default };
|
|
34
|
-
//# sourceMappingURL=LayerModelPlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/plugins/LayerModelPlugin.ts"],"names":["injectable","LayerModelPlugin","layer","hooks","init","tap","prepareBuildModel","buildModels","styleNeedUpdate","beforeRenderData","clearModels","layerModelNeedUpdate"],"mappings":";;;;;AACA,SAASA,UAAT,QAA2B,WAA3B;AACA,OAAO,kBAAP;IAKqBC,gB,WADpBD,UAAU,E;;;;;;;WAET,eAAaE,KAAb,EAA4B;AAC1BA,MAAAA,KAAK,CAACC,KAAN,CAAYC,IAAZ,CAAiBC,GAAjB,CAAqB,kBAArB,EAAyC,YAAM;AAE7CH,QAAAA,KAAK,CAACI,iBAAN;AAEAJ,QAAAA,KAAK,CAACK,WAAN;AACAL,QAAAA,KAAK,CAACM,eAAN,GAAwB,KAAxB;AACD,OAND;AAQAN,MAAAA,KAAK,CAACC,KAAN,CAAYM,gBAAZ,CAA6BJ,GAA7B,CAAiC,kBAAjC,EAAqD,YAAM;AAEzDH,QAAAA,KAAK,CAACI,iBAAN;AAEAJ,QAAAA,KAAK,CAACQ,WAAN;AAEAR,QAAAA,KAAK,CAACK,WAAN;AACAL,QAAAA,KAAK,CAACS,oBAAN,GAA6B,KAA7B;AACA,eAAO,KAAP;AACD,OATD;AAUD;;;;;SApBkBV,gB","sourcesContent":["import { ILayer, ILayerPlugin, IMapService, TYPES } from '@antv/l7-core';\nimport { injectable } from 'inversify';\nimport 'reflect-metadata';\n/**\n * Layer Model 初始化,更新,销毁\n */\n@injectable()\nexport default class LayerModelPlugin implements ILayerPlugin {\n public apply(layer: ILayer) {\n layer.hooks.init.tap('LayerModelPlugin', () => {\n // 更新Model 配置项\n layer.prepareBuildModel();\n // 初始化 Model\n layer.buildModels();\n layer.styleNeedUpdate = false;\n });\n\n layer.hooks.beforeRenderData.tap('DataSourcePlugin', () => {\n // 更新Model 配置项\n layer.prepareBuildModel();\n\n layer.clearModels();\n // 初始化 Model\n layer.buildModels();\n layer.layerModelNeedUpdate = false;\n return false;\n });\n }\n}\n"],"file":"LayerModelPlugin.js"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
|
|
4
|
-
var _dec, _class;
|
|
5
|
-
|
|
6
|
-
import { injectable } from 'inversify';
|
|
7
|
-
import 'reflect-metadata';
|
|
8
|
-
var LayerStylePlugin = (_dec = injectable(), _dec(_class = function () {
|
|
9
|
-
function LayerStylePlugin() {
|
|
10
|
-
_classCallCheck(this, LayerStylePlugin);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
_createClass(LayerStylePlugin, [{
|
|
14
|
-
key: "apply",
|
|
15
|
-
value: function apply(layer) {
|
|
16
|
-
layer.hooks.afterInit.tap('LayerStylePlugin', function () {
|
|
17
|
-
layer.updateLayerConfig({});
|
|
18
|
-
|
|
19
|
-
var _layer$getLayerConfig = layer.getLayerConfig(),
|
|
20
|
-
autoFit = _layer$getLayerConfig.autoFit,
|
|
21
|
-
fitBoundsOptions = _layer$getLayerConfig.fitBoundsOptions;
|
|
22
|
-
|
|
23
|
-
if (autoFit) {
|
|
24
|
-
setTimeout(function () {
|
|
25
|
-
layer.fitBounds(fitBoundsOptions);
|
|
26
|
-
}, 100);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}]);
|
|
31
|
-
|
|
32
|
-
return LayerStylePlugin;
|
|
33
|
-
}()) || _class);
|
|
34
|
-
export { LayerStylePlugin as default };
|
|
35
|
-
//# sourceMappingURL=LayerStylePlugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/plugins/LayerStylePlugin.ts"],"names":["injectable","LayerStylePlugin","layer","hooks","afterInit","tap","updateLayerConfig","getLayerConfig","autoFit","fitBoundsOptions","setTimeout","fitBounds"],"mappings":";;;;;AAGA,SAASA,UAAT,QAA2B,WAA3B;AACA,OAAO,kBAAP;IAKqBC,gB,WADpBD,UAAU,E;;;;;;;WAET,eAAaE,KAAb,EAA4B;AAC1BA,MAAAA,KAAK,CAACC,KAAN,CAAYC,SAAZ,CAAsBC,GAAtB,CAA0B,kBAA1B,EAA8C,YAAM;AAElDH,QAAAA,KAAK,CAACI,iBAAN,CAAwB,EAAxB;;AACA,oCAAsCJ,KAAK,CAACK,cAAN,EAAtC;AAAA,YAAQC,OAAR,yBAAQA,OAAR;AAAA,YAAiBC,gBAAjB,yBAAiBA,gBAAjB;;AACA,YAAID,OAAJ,EAAa;AACXE,UAAAA,UAAU,CAAC,YAAM;AACfR,YAAAA,KAAK,CAACS,SAAN,CAAgBF,gBAAhB;AACD,WAFS,EAEP,GAFO,CAAV;AAGD;AACF,OATD;AAUD;;;;;SAZkBR,gB","sourcesContent":["import { ILayer, ILayerPlugin, IMapService, TYPES } from '@antv/l7-core';\nimport Source from '@antv/l7-source';\nimport { encodePickingColor, rgb2arr } from '@antv/l7-utils';\nimport { injectable } from 'inversify';\nimport 'reflect-metadata';\n/**\n * 更新图层样式,初始图层相关配置\n */\n@injectable()\nexport default class LayerStylePlugin implements ILayerPlugin {\n public apply(layer: ILayer) {\n layer.hooks.afterInit.tap('LayerStylePlugin', () => {\n // 更新图层默认状态\n layer.updateLayerConfig({});\n const { autoFit, fitBoundsOptions } = layer.getLayerConfig();\n if (autoFit) {\n setTimeout(() => {\n layer.fitBounds(fitBoundsOptions);\n }, 100);\n }\n });\n }\n}\n"],"file":"LayerStylePlugin.js"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ILayer, ILayerPlugin } from '@antv/l7-core';
|
|
2
|
-
import 'reflect-metadata';
|
|
3
|
-
interface IDirectionalLight {
|
|
4
|
-
type: 'directional';
|
|
5
|
-
direction: [number, number, number];
|
|
6
|
-
ambient: [number, number, number];
|
|
7
|
-
diffuse: [number, number, number];
|
|
8
|
-
specular: [number, number, number];
|
|
9
|
-
}
|
|
10
|
-
interface ISpotLight {
|
|
11
|
-
type: 'spot';
|
|
12
|
-
position: [number, number, number];
|
|
13
|
-
direction: [number, number, number];
|
|
14
|
-
ambient: [number, number, number];
|
|
15
|
-
diffuse: [number, number, number];
|
|
16
|
-
specular: [number, number, number];
|
|
17
|
-
constant: number;
|
|
18
|
-
linear: number;
|
|
19
|
-
quadratic: number;
|
|
20
|
-
angle: number;
|
|
21
|
-
exponent: number;
|
|
22
|
-
blur: number;
|
|
23
|
-
}
|
|
24
|
-
export declare function generateLightingUniforms(lights?: Array<Partial<IDirectionalLight | ISpotLight>>): {
|
|
25
|
-
u_DirectionalLights: Array<Omit<IDirectionalLight, 'type'>>;
|
|
26
|
-
u_NumOfDirectionalLights: number;
|
|
27
|
-
u_SpotLights: Array<Omit<ISpotLight, 'type'>>;
|
|
28
|
-
u_NumOfSpotLights: number;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* 光照 & Shadow
|
|
32
|
-
*/
|
|
33
|
-
export default class LightingPlugin implements ILayerPlugin {
|
|
34
|
-
apply(layer: ILayer): void;
|
|
35
|
-
}
|
|
36
|
-
export {};
|