@antv/l7-layers 2.9.15 → 2.9.16
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/LICENSE.md +1 -1
- package/es/core/BaseLayer.d.ts +4 -2
- package/es/core/BaseLayer.js +47 -21
- package/es/core/BaseLayer.js.map +1 -1
- package/es/core/BaseModel.d.ts +2 -1
- package/es/core/BaseModel.js +3 -0
- package/es/core/BaseModel.js.map +1 -1
- package/es/core/interface.d.ts +14 -1
- package/es/core/interface.js.map +1 -1
- package/es/image/models/image.js.map +1 -1
- package/es/line/index.d.ts +1 -1
- package/es/line/index.js +13 -1
- package/es/line/index.js.map +1 -1
- package/es/line/models/earthArc_3d.d.ts +17 -0
- package/es/line/models/earthArc_3d.js +311 -0
- package/es/line/models/earthArc_3d.js.map +1 -0
- package/es/line/models/half.d.ts +18 -0
- package/es/line/models/half.js +244 -0
- package/es/line/models/half.js.map +1 -0
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +9 -1
- package/es/line/models/index.js.map +1 -1
- package/es/line/models/tile.d.ts +20 -0
- package/es/line/models/tile.js +327 -0
- package/es/line/models/tile.js.map +1 -0
- package/es/plugins/DataMappingPlugin.js +1 -1
- package/es/plugins/DataMappingPlugin.js.map +1 -1
- package/es/plugins/DataSourcePlugin.js +7 -6
- package/es/plugins/DataSourcePlugin.js.map +1 -1
- package/es/plugins/FeatureScalePlugin.js +35 -9
- package/es/plugins/FeatureScalePlugin.js.map +1 -1
- package/es/plugins/ShaderUniformPlugin.js +3 -1
- package/es/plugins/ShaderUniformPlugin.js.map +1 -1
- package/es/point/index.d.ts +1 -1
- package/es/point/index.js +10 -2
- package/es/point/index.js.map +1 -1
- package/es/point/models/earthExtrude.d.ts +24 -0
- package/es/point/models/earthExtrude.js +259 -0
- package/es/point/models/earthExtrude.js.map +1 -0
- package/es/point/models/earthFill.d.ts +20 -0
- package/es/point/models/earthFill.js +255 -0
- package/es/point/models/earthFill.js.map +1 -0
- package/es/point/models/extrude.d.ts +0 -1
- package/es/point/models/extrude.js +2 -10
- package/es/point/models/extrude.js.map +1 -1
- package/es/point/models/fill.d.ts +8 -1
- package/es/point/models/fill.js +55 -75
- package/es/point/models/fill.js.map +1 -1
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +9 -1
- package/es/point/models/index.js.map +1 -1
- package/es/point/models/radar.js +2 -6
- package/es/point/models/radar.js.map +1 -1
- package/es/point/models/tile.d.ts +31 -0
- package/es/point/models/tile.js +291 -0
- package/es/point/models/tile.js.map +1 -0
- package/es/polygon/index.js +6 -0
- package/es/polygon/index.js.map +1 -1
- package/es/polygon/models/index.d.ts +1 -1
- package/es/polygon/models/index.js +5 -1
- package/es/polygon/models/index.js.map +1 -1
- package/es/polygon/models/tile.d.ts +16 -0
- package/es/polygon/models/tile.js +137 -0
- package/es/polygon/models/tile.js.map +1 -0
- package/es/raster/index.d.ts +2 -2
- package/es/raster/index.js +4 -4
- package/es/raster/index.js.map +1 -1
- package/es/raster/models/index.js +1 -1
- package/es/raster/models/index.js.map +1 -1
- package/es/raster/models/raster.d.ts +2 -0
- package/es/raster/models/raster.js +24 -12
- package/es/raster/models/raster.js.map +1 -1
- package/es/tile/interface.d.ts +28 -0
- package/es/tile/interface.js +2 -0
- package/es/tile/interface.js.map +1 -0
- package/es/tile/manager/tileConfigManager.d.ts +17 -0
- package/es/tile/manager/tileConfigManager.js +123 -0
- package/es/tile/manager/tileConfigManager.js.map +1 -0
- package/es/tile/manager/tileLayerManager.d.ts +35 -0
- package/es/tile/manager/tileLayerManager.js +297 -0
- package/es/tile/manager/tileLayerManager.js.map +1 -0
- package/es/tile/manager/tilePickerManager.d.ts +21 -0
- package/es/tile/manager/tilePickerManager.js +189 -0
- package/es/tile/manager/tilePickerManager.js.map +1 -0
- package/es/tile/models/tileModel.d.ts +8 -0
- package/es/tile/models/tileModel.js +61 -0
- package/es/tile/models/tileModel.js.map +1 -0
- package/es/tile/tileFactory/base.d.ts +44 -0
- package/es/tile/tileFactory/base.js +423 -0
- package/es/tile/tileFactory/base.js.map +1 -0
- package/es/tile/tileFactory/index.d.ts +5 -0
- package/es/tile/tileFactory/index.js +30 -0
- package/es/tile/tileFactory/index.js.map +1 -0
- package/es/tile/tileFactory/line.d.ts +12 -0
- package/es/tile/tileFactory/line.js +65 -0
- package/es/tile/tileFactory/line.js.map +1 -0
- package/es/tile/tileFactory/point.d.ts +12 -0
- package/es/tile/tileFactory/point.js +65 -0
- package/es/tile/tileFactory/point.js.map +1 -0
- package/es/tile/tileFactory/polygon.d.ts +12 -0
- package/es/tile/tileFactory/polygon.js +65 -0
- package/es/tile/tileFactory/polygon.js.map +1 -0
- package/es/tile/tileFactory/raster.d.ts +12 -0
- package/es/tile/tileFactory/raster.js +61 -0
- package/es/tile/tileFactory/raster.js.map +1 -0
- package/es/tile/tileFactory/rasterData.d.ts +12 -0
- package/es/tile/tileFactory/rasterData.js +86 -0
- package/es/tile/tileFactory/rasterData.js.map +1 -0
- package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
- package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
- package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
- package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
- package/es/tile/tileFactory/vectorLayer.js +131 -0
- package/es/tile/tileFactory/vectorLayer.js.map +1 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +47 -0
- package/es/tile/tileLayer/baseTileLayer.js +409 -0
- package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
- package/es/tile/tmsTileLayer.d.ts +7 -0
- package/es/tile/tmsTileLayer.js +100 -0
- package/es/tile/tmsTileLayer.js.map +1 -0
- package/es/tile/utils.d.ts +11 -0
- package/es/tile/utils.js +125 -0
- package/es/tile/utils.js.map +1 -0
- package/lib/core/BaseLayer.js +45 -20
- package/lib/core/BaseLayer.js.map +1 -1
- package/lib/core/BaseModel.js +2 -0
- package/lib/core/BaseModel.js.map +1 -1
- package/lib/core/interface.js.map +1 -1
- package/lib/image/models/image.js.map +1 -1
- package/lib/line/index.js +13 -1
- package/lib/line/index.js.map +1 -1
- package/lib/line/models/earthArc_3d.js +328 -0
- package/lib/line/models/earthArc_3d.js.map +1 -0
- package/lib/line/models/half.js +260 -0
- package/lib/line/models/half.js.map +1 -0
- package/lib/line/models/index.js +13 -1
- package/lib/line/models/index.js.map +1 -1
- package/lib/line/models/tile.js +342 -0
- package/lib/line/models/tile.js.map +1 -0
- package/lib/plugins/DataMappingPlugin.js +1 -1
- package/lib/plugins/DataMappingPlugin.js.map +1 -1
- package/lib/plugins/DataSourcePlugin.js +7 -6
- package/lib/plugins/DataSourcePlugin.js.map +1 -1
- package/lib/plugins/FeatureScalePlugin.js +35 -9
- package/lib/plugins/FeatureScalePlugin.js.map +1 -1
- package/lib/plugins/ShaderUniformPlugin.js +3 -1
- package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
- package/lib/point/index.js +10 -2
- package/lib/point/index.js.map +1 -1
- package/lib/point/models/earthExtrude.js +277 -0
- package/lib/point/models/earthExtrude.js.map +1 -0
- package/lib/point/models/earthFill.js +291 -0
- package/lib/point/models/earthFill.js.map +1 -0
- package/lib/point/models/extrude.js +2 -11
- package/lib/point/models/extrude.js.map +1 -1
- package/lib/point/models/fill.js +51 -93
- package/lib/point/models/fill.js.map +1 -1
- package/lib/point/models/index.js +13 -1
- package/lib/point/models/index.js.map +1 -1
- package/lib/point/models/radar.js +1 -5
- package/lib/point/models/radar.js.map +1 -1
- package/lib/point/models/tile.js +308 -0
- package/lib/point/models/tile.js.map +1 -0
- package/lib/polygon/index.js +6 -0
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/models/index.js +7 -1
- package/lib/polygon/models/index.js.map +1 -1
- package/lib/polygon/models/tile.js +152 -0
- package/lib/polygon/models/tile.js.map +1 -0
- package/lib/raster/index.js +4 -4
- package/lib/raster/index.js.map +1 -1
- package/lib/raster/models/index.js +2 -2
- package/lib/raster/models/index.js.map +1 -1
- package/lib/raster/models/raster.js +24 -12
- package/lib/raster/models/raster.js.map +1 -1
- package/lib/tile/interface.js +2 -0
- package/lib/tile/interface.js.map +1 -0
- package/lib/tile/manager/tileConfigManager.js +134 -0
- package/lib/tile/manager/tileConfigManager.js.map +1 -0
- package/lib/tile/manager/tileLayerManager.js +305 -0
- package/lib/tile/manager/tileLayerManager.js.map +1 -0
- package/lib/tile/manager/tilePickerManager.js +195 -0
- package/lib/tile/manager/tilePickerManager.js.map +1 -0
- package/lib/tile/models/tileModel.js +73 -0
- package/lib/tile/models/tileModel.js.map +1 -0
- package/lib/tile/tileFactory/base.js +436 -0
- package/lib/tile/tileFactory/base.js.map +1 -0
- package/lib/tile/tileFactory/index.js +60 -0
- package/lib/tile/tileFactory/index.js.map +1 -0
- package/lib/tile/tileFactory/line.js +76 -0
- package/lib/tile/tileFactory/line.js.map +1 -0
- package/lib/tile/tileFactory/point.js +76 -0
- package/lib/tile/tileFactory/point.js.map +1 -0
- package/lib/tile/tileFactory/polygon.js +76 -0
- package/lib/tile/tileFactory/polygon.js.map +1 -0
- package/lib/tile/tileFactory/raster.js +74 -0
- package/lib/tile/tileFactory/raster.js.map +1 -0
- package/lib/tile/tileFactory/rasterData.js +99 -0
- package/lib/tile/tileFactory/rasterData.js.map +1 -0
- package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
- package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
- package/lib/tile/tileFactory/vectorLayer.js +145 -0
- package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
- package/lib/tile/tileLayer/baseTileLayer.js +407 -0
- package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
- package/lib/tile/tmsTileLayer.js +116 -0
- package/lib/tile/tmsTileLayer.js.map +1 -0
- package/lib/tile/utils.js +147 -0
- package/lib/tile/utils.js.map +1 -0
- package/package.json +8 -6
- package/es/core/LayerGroup.d.ts +0 -9
- package/es/core/LayerGroup.js.map +0 -1
- package/es/raster/models/raste-tile.d.ts +0 -23
- package/es/raster/models/raste-tile.js +0 -285
- package/es/raster/models/raste-tile.js.map +0 -1
- package/lib/core/LayerGroup.js.map +0 -1
- package/lib/raster/models/raste-tile.js +0 -294
- package/lib/raster/models/raste-tile.js.map +0 -1
package/es/raster/index.js
CHANGED
|
@@ -10,11 +10,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
10
10
|
|
|
11
11
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
12
12
|
|
|
13
|
-
import
|
|
13
|
+
import BaseLayer from '../core/BaseLayer';
|
|
14
14
|
import RasterModels from './models/index';
|
|
15
15
|
|
|
16
|
-
var RaterLayer = function (
|
|
17
|
-
_inherits(RaterLayer,
|
|
16
|
+
var RaterLayer = function (_BaseLayer) {
|
|
17
|
+
_inherits(RaterLayer, _BaseLayer);
|
|
18
18
|
|
|
19
19
|
var _super = _createSuper(RaterLayer);
|
|
20
20
|
|
|
@@ -87,7 +87,7 @@ var RaterLayer = function (_LayerGroup) {
|
|
|
87
87
|
}]);
|
|
88
88
|
|
|
89
89
|
return RaterLayer;
|
|
90
|
-
}(
|
|
90
|
+
}(BaseLayer);
|
|
91
91
|
|
|
92
92
|
export { RaterLayer as default };
|
|
93
93
|
//# sourceMappingURL=index.js.map
|
package/es/raster/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/raster/index.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../src/raster/index.ts"],"names":["BaseLayer","RasterModels","RaterLayer","modelType","getModelType","layerModel","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d","rasterTile","layerSource","parser"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,SAAP,MAAsB,mBAAtB;AAEA,OAAOC,YAAP,MAA8C,gBAA9C;;IACqBC,U;;;;;;;;;;;;;;;;2DACG,a;;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,YAAY,CAACE,SAAD,CAAhB,CAA4B,IAA5B,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKD,UAAL,CAAgBG,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKP,YAAL,EAAb;AACA,UAAMU,aAAa,GAAG;AACpBC,QAAAA,MAAM,EAAE,EADY;AAEpBC,QAAAA,QAAQ,EAAE,EAFU;AAGpBC,QAAAA,UAAU,EAAE;AAHQ,OAAtB;AAKA,aAAOH,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA0C;AAExC,cAAQ,KAAKO,WAAL,CAAiBC,MAAjB,CAAwBR,IAAhC;AACE,aAAK,QAAL;AACE,iBAAO,QAAP;;AACF,aAAK,YAAL;AACE,iBAAO,YAAP;;AACF;AACE,iBAAO,QAAP;AANJ;AASD;;;;EA1CqCX,S;;SAAnBE,U","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport { IRasterLayerStyleOptions } from '../core/interface';\nimport RasterModels, { RasterModelType } from './models/index';\nexport default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new RasterModels[modelType](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n raster: {},\n raster3d: {},\n rasterTile: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): RasterModelType {\n // 根据 source 的类型判断 model type\n switch (this.layerSource.parser.type) {\n case 'raster':\n return 'raster';\n case 'rasterTile':\n return 'rasterTile';\n default:\n return 'raster';\n }\n // return 'raster';\n }\n}\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterTileModel","RasterModel","RasterModels","raster","raster3d","rasterTile"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,
|
|
1
|
+
{"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterTileModel","RasterModel","RasterModels","raster","raster3d","rasterTile"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,6BAA5B;AACA,OAAOC,WAAP,MAAwB,UAAxB;AAGA,IAAMC,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEF,WAD8C;AAEtDG,EAAAA,QAAQ,EAAEH,WAF4C;AAGtDI,EAAAA,UAAU,EAAEL;AAH0C,CAAxD;AAMA,eAAeE,YAAf","sourcesContent":["import RasterTileModel from '../../tile/models/tileModel';\nimport RasterModel from './raster';\nexport type RasterModelType = 'raster' | 'raster3d' | 'rasterTile';\n\nconst RasterModels: { [key in RasterModelType]: any } = {\n raster: RasterModel,\n raster3d: RasterModel,\n rasterTile: RasterTileModel,\n};\n\nexport default RasterModels;\n"],"file":"index.js"}
|
|
@@ -3,6 +3,7 @@ import BaseModel from '../../core/BaseModel';
|
|
|
3
3
|
export default class RasterModel extends BaseModel {
|
|
4
4
|
protected texture: ITexture2D;
|
|
5
5
|
protected colorTexture: ITexture2D;
|
|
6
|
+
private rampColors;
|
|
6
7
|
getUninforms(): {
|
|
7
8
|
u_opacity: number;
|
|
8
9
|
u_texture: ITexture2D;
|
|
@@ -14,6 +15,7 @@ export default class RasterModel extends BaseModel {
|
|
|
14
15
|
};
|
|
15
16
|
initModels(): import("@antv/l7-core").IModel[];
|
|
16
17
|
buildModels(): import("@antv/l7-core").IModel[];
|
|
18
|
+
clearModels(): void;
|
|
17
19
|
protected registerBuiltinAttributes(): void;
|
|
18
20
|
private updateColorTexure;
|
|
19
21
|
}
|
|
@@ -5,6 +5,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
5
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
7
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
+
import _isEqual from "lodash/isEqual";
|
|
8
9
|
|
|
9
10
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
10
11
|
|
|
@@ -37,6 +38,8 @@ var RasterModel = function (_BaseModel) {
|
|
|
37
38
|
|
|
38
39
|
_defineProperty(_assertThisInitialized(_this), "colorTexture", void 0);
|
|
39
40
|
|
|
41
|
+
_defineProperty(_assertThisInitialized(_this), "rampColors", void 0);
|
|
42
|
+
|
|
40
43
|
return _this;
|
|
41
44
|
}
|
|
42
45
|
|
|
@@ -53,9 +56,14 @@ var RasterModel = function (_BaseModel) {
|
|
|
53
56
|
_ref$noDataValue = _ref.noDataValue,
|
|
54
57
|
noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
|
|
55
58
|
_ref$domain = _ref.domain,
|
|
56
|
-
domain = _ref$domain === void 0 ? [0, 1] : _ref$domain
|
|
59
|
+
domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
|
|
60
|
+
rampColors = _ref.rampColors;
|
|
61
|
+
|
|
62
|
+
if (!_isEqual(this.rampColors, rampColors)) {
|
|
63
|
+
this.updateColorTexure();
|
|
64
|
+
this.rampColors = rampColors;
|
|
65
|
+
}
|
|
57
66
|
|
|
58
|
-
this.updateColorTexure();
|
|
59
67
|
return {
|
|
60
68
|
u_opacity: opacity || 1,
|
|
61
69
|
u_texture: this.texture,
|
|
@@ -69,13 +77,13 @@ var RasterModel = function (_BaseModel) {
|
|
|
69
77
|
}, {
|
|
70
78
|
key: "initModels",
|
|
71
79
|
value: function initModels() {
|
|
72
|
-
this.layer.isLayerGroup = false;
|
|
73
|
-
|
|
74
80
|
var _ref2 = this.layer.getLayerConfig(),
|
|
75
81
|
_ref2$mask = _ref2.mask,
|
|
76
82
|
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
77
83
|
_ref2$maskInside = _ref2.maskInside,
|
|
78
|
-
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside
|
|
84
|
+
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside,
|
|
85
|
+
rampColorsData = _ref2.rampColorsData,
|
|
86
|
+
rampColors = _ref2.rampColors;
|
|
79
87
|
|
|
80
88
|
var source = this.layer.getSource();
|
|
81
89
|
var createTexture2D = this.rendererService.createTexture2D;
|
|
@@ -87,11 +95,7 @@ var RasterModel = function (_BaseModel) {
|
|
|
87
95
|
format: gl.LUMINANCE,
|
|
88
96
|
type: gl.FLOAT
|
|
89
97
|
});
|
|
90
|
-
|
|
91
|
-
var _ref3 = this.layer.getLayerConfig(),
|
|
92
|
-
rampColors = _ref3.rampColors;
|
|
93
|
-
|
|
94
|
-
var imageData = generateColorRamp(rampColors);
|
|
98
|
+
var imageData = rampColorsData ? rampColorsData : generateColorRamp(rampColors);
|
|
95
99
|
this.colorTexture = createTexture2D({
|
|
96
100
|
data: imageData.data,
|
|
97
101
|
width: imageData.width,
|
|
@@ -116,6 +120,14 @@ var RasterModel = function (_BaseModel) {
|
|
|
116
120
|
value: function buildModels() {
|
|
117
121
|
return this.initModels();
|
|
118
122
|
}
|
|
123
|
+
}, {
|
|
124
|
+
key: "clearModels",
|
|
125
|
+
value: function clearModels() {
|
|
126
|
+
var _this$texture, _this$colorTexture;
|
|
127
|
+
|
|
128
|
+
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
129
|
+
(_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
|
|
130
|
+
}
|
|
119
131
|
}, {
|
|
120
132
|
key: "registerBuiltinAttributes",
|
|
121
133
|
value: function registerBuiltinAttributes() {
|
|
@@ -141,8 +153,8 @@ var RasterModel = function (_BaseModel) {
|
|
|
141
153
|
value: function updateColorTexure() {
|
|
142
154
|
var createTexture2D = this.rendererService.createTexture2D;
|
|
143
155
|
|
|
144
|
-
var
|
|
145
|
-
rampColors =
|
|
156
|
+
var _ref3 = this.layer.getLayerConfig(),
|
|
157
|
+
rampColors = _ref3.rampColors;
|
|
146
158
|
|
|
147
159
|
var imageData = generateColorRamp(rampColors);
|
|
148
160
|
this.colorTexture = createTexture2D({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["AttributeType","gl","generateColorRamp","getMask","BaseModel","RasterImageTriangulation","RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","
|
|
1
|
+
{"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["AttributeType","gl","generateColorRamp","getMask","BaseModel","RasterImageTriangulation","RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","rampColors","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","mask","maskInside","rampColorsData","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","width","height","format","LUMINANCE","type","FLOAT","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","initModels","destroy","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n ITexture2D,\n lazyInject,\n TYPES,\n} from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\nimport { isEqual } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IRasterLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport rasterFrag from '../shaders/raster_2d_frag.glsl';\nimport rasterVert from '../shaders/raster_2d_vert.glsl';\nexport default class RasterModel extends BaseModel {\n protected texture: ITexture2D;\n protected colorTexture: ITexture2D;\n private rampColors: any;\n public getUninforms() {\n const {\n opacity = 1,\n clampLow = true,\n clampHigh = true,\n noDataValue = -9999999,\n domain = [0, 1],\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n if (!isEqual(this.rampColors, rampColors)) {\n this.updateColorTexure();\n this.rampColors = rampColors;\n }\n\n return {\n u_opacity: opacity || 1,\n u_texture: this.texture,\n u_domain: domain,\n u_clampLow: clampLow,\n u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,\n u_noDataValue: noDataValue,\n u_colorTexture: this.colorTexture,\n };\n }\n\n public initModels() {\n const {\n mask = false,\n maskInside = true,\n rampColorsData,\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const source = this.layer.getSource();\n const { createTexture2D } = this.rendererService;\n const parserDataItem = source.data.dataArray[0];\n this.texture = createTexture2D({\n data: parserDataItem.data,\n width: parserDataItem.width,\n height: parserDataItem.height,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n // aniso: 4,\n });\n const imageData = rampColorsData\n ? rampColorsData\n : generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n return [\n this.layer.buildLayerModel({\n moduleName: 'RasterImageData',\n vertexShader: rasterVert,\n fragmentShader: rasterFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public buildModels() {\n return this.initModels();\n }\n\n public clearModels(): void {\n this.texture?.destroy();\n this.colorTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n\n private updateColorTexure() {\n const { createTexture2D } = this.rendererService;\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n }\n}\n"],"file":"raster.js"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ILayer, IMapService, IRendererService, IScaleValue, ISource, ISubLayerInitOptions, ScaleAttributeType } from '@antv/l7-core';
|
|
2
|
+
import { Tile } from '@antv/l7-utils';
|
|
3
|
+
export declare type Timeout = any;
|
|
4
|
+
export declare type CacheEvent = 'click' | 'mousemove' | 'mouseup' | 'mousedown' | 'contextmenu';
|
|
5
|
+
export interface ITileFactoryOptions {
|
|
6
|
+
parent: ILayer;
|
|
7
|
+
mapService: IMapService;
|
|
8
|
+
rendererService: IRendererService;
|
|
9
|
+
}
|
|
10
|
+
export interface ITileStyles {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
export interface ILayerTileConfig {
|
|
14
|
+
L7Layer?: any;
|
|
15
|
+
tile: Tile;
|
|
16
|
+
initOptions: ISubLayerInitOptions;
|
|
17
|
+
vectorTileLayer?: any;
|
|
18
|
+
source: ISource;
|
|
19
|
+
}
|
|
20
|
+
export interface ITileFactory {
|
|
21
|
+
createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
|
|
22
|
+
layers: ILayer[];
|
|
23
|
+
layerIDList: string[];
|
|
24
|
+
};
|
|
25
|
+
createLayer(option: ILayerTileConfig): ILayer;
|
|
26
|
+
updateStyle(styles: ITileStyles): string;
|
|
27
|
+
setStyleAttributeField(layer: ILayer, type: ScaleAttributeType, value: IScaleValue): void;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"interface.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ILayer, IScaleValue } from '@antv/l7-core';
|
|
2
|
+
import EventEmitter from 'eventemitter3';
|
|
3
|
+
export interface ITileConfigManager {
|
|
4
|
+
setConfig(key: string, value: any): void;
|
|
5
|
+
checkConfig(layer: ILayer): void;
|
|
6
|
+
on(event: string, fn: (...args: any[]) => void): void;
|
|
7
|
+
getAttributeScale(layer: ILayer, name: string): IScaleValue;
|
|
8
|
+
}
|
|
9
|
+
export default class TileConfigManager extends EventEmitter {
|
|
10
|
+
cacheConfig: Map<string, any>;
|
|
11
|
+
checkConfigList: string[];
|
|
12
|
+
constructor();
|
|
13
|
+
setConfig(key: string, value: any): void;
|
|
14
|
+
removeConfig(key: string): void;
|
|
15
|
+
checkConfig(layer: ILayer): void;
|
|
16
|
+
getAttributeScale(layer: ILayer, name: string): IScaleValue;
|
|
17
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
+
import _isEqual from "lodash/isEqual";
|
|
9
|
+
|
|
10
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
|
+
|
|
12
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
13
|
+
|
|
14
|
+
import EventEmitter from 'eventemitter3';
|
|
15
|
+
|
|
16
|
+
var TileConfigManager = function (_EventEmitter) {
|
|
17
|
+
_inherits(TileConfigManager, _EventEmitter);
|
|
18
|
+
|
|
19
|
+
var _super = _createSuper(TileConfigManager);
|
|
20
|
+
|
|
21
|
+
function TileConfigManager() {
|
|
22
|
+
var _this;
|
|
23
|
+
|
|
24
|
+
_classCallCheck(this, TileConfigManager);
|
|
25
|
+
|
|
26
|
+
_this = _super.call(this);
|
|
27
|
+
|
|
28
|
+
_defineProperty(_assertThisInitialized(_this), "cacheConfig", void 0);
|
|
29
|
+
|
|
30
|
+
_defineProperty(_assertThisInitialized(_this), "checkConfigList", []);
|
|
31
|
+
|
|
32
|
+
_this.cacheConfig = new Map();
|
|
33
|
+
return _this;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
_createClass(TileConfigManager, [{
|
|
37
|
+
key: "setConfig",
|
|
38
|
+
value: function setConfig(key, value) {
|
|
39
|
+
if (!this.checkConfigList.includes(key)) {
|
|
40
|
+
this.checkConfigList.push(key);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
this.cacheConfig.set(key, value);
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
key: "removeConfig",
|
|
47
|
+
value: function removeConfig(key) {
|
|
48
|
+
var configIndex = this.checkConfigList.indexOf(key);
|
|
49
|
+
|
|
50
|
+
if (configIndex > -1) {
|
|
51
|
+
this.cacheConfig.delete(key);
|
|
52
|
+
this.checkConfigList.splice(configIndex, 1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}, {
|
|
56
|
+
key: "checkConfig",
|
|
57
|
+
value: function checkConfig(layer) {
|
|
58
|
+
var _this2 = this;
|
|
59
|
+
|
|
60
|
+
if (!layer.inited) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
var layerConfig = layer.getLayerConfig();
|
|
65
|
+
var updateConfigs = [];
|
|
66
|
+
this.checkConfigList.map(function (key) {
|
|
67
|
+
var cacheConfig = _this2.cacheConfig.get(key);
|
|
68
|
+
|
|
69
|
+
var currentConfig;
|
|
70
|
+
|
|
71
|
+
if (['color', 'size', 'shape'].includes(key)) {
|
|
72
|
+
var _layer$getAttribute;
|
|
73
|
+
|
|
74
|
+
currentConfig = (_layer$getAttribute = layer.getAttribute(key)) === null || _layer$getAttribute === void 0 ? void 0 : _layer$getAttribute.scale;
|
|
75
|
+
} else {
|
|
76
|
+
if (!(key in layerConfig)) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
currentConfig = layerConfig[key];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (!_isEqual(cacheConfig, currentConfig)) {
|
|
84
|
+
updateConfigs.push(key);
|
|
85
|
+
|
|
86
|
+
_this2.setConfig(key, currentConfig);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
if (updateConfigs.length > 0) {
|
|
91
|
+
console.warn('tile config cache update!', updateConfigs);
|
|
92
|
+
this.emit('updateConfig', updateConfigs);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "getAttributeScale",
|
|
97
|
+
value: function getAttributeScale(layer, name) {
|
|
98
|
+
var attribute = layer.getAttribute(name);
|
|
99
|
+
var scaleValue = {
|
|
100
|
+
field: undefined,
|
|
101
|
+
values: undefined,
|
|
102
|
+
callback: undefined
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
if (attribute && attribute.scale) {
|
|
106
|
+
var _attribute$scale = attribute.scale,
|
|
107
|
+
field = _attribute$scale.field,
|
|
108
|
+
values = _attribute$scale.values,
|
|
109
|
+
callback = _attribute$scale.callback;
|
|
110
|
+
scaleValue.field = field;
|
|
111
|
+
scaleValue.values = values;
|
|
112
|
+
scaleValue.callback = callback;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return scaleValue;
|
|
116
|
+
}
|
|
117
|
+
}]);
|
|
118
|
+
|
|
119
|
+
return TileConfigManager;
|
|
120
|
+
}(EventEmitter);
|
|
121
|
+
|
|
122
|
+
export { TileConfigManager as default };
|
|
123
|
+
//# sourceMappingURL=tileConfigManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tile/manager/tileConfigManager.ts"],"names":["EventEmitter","TileConfigManager","cacheConfig","Map","key","value","checkConfigList","includes","push","set","configIndex","indexOf","delete","splice","layer","inited","layerConfig","getLayerConfig","updateConfigs","map","get","currentConfig","getAttribute","scale","setConfig","length","console","warn","emit","name","attribute","scaleValue","field","undefined","values","callback"],"mappings":"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","sourcesContent":["import { ILayer, IScaleValue, ISubLayerInitOptions } from '@antv/l7-core';\nimport EventEmitter from 'eventemitter3';\nimport { isEqual } from 'lodash';\nexport interface ITileConfigManager {\n setConfig(key: string, value: any): void;\n checkConfig(layer: ILayer): void;\n on(event: string, fn: (...args: any[]) => void): void;\n getAttributeScale(layer: ILayer, name: string): IScaleValue;\n}\n\nexport default class TileConfigManager extends EventEmitter {\n public cacheConfig: Map<string, any>;\n public checkConfigList: string[] = [];\n constructor() {\n super();\n this.cacheConfig = new Map();\n }\n\n public setConfig(key: string, value: any) {\n if (!this.checkConfigList.includes(key)) {\n this.checkConfigList.push(key);\n }\n this.cacheConfig.set(key, value);\n }\n\n public removeConfig(key: string) {\n const configIndex = this.checkConfigList.indexOf(key);\n if (configIndex > -1) {\n this.cacheConfig.delete(key);\n this.checkConfigList.splice(configIndex, 1);\n }\n }\n\n public checkConfig(layer: ILayer) {\n if (!layer.inited) {\n return;\n }\n\n const layerConfig = layer.getLayerConfig() as ISubLayerInitOptions;\n const updateConfigs: string[] = [];\n this.checkConfigList.map((key) => {\n const cacheConfig = this.cacheConfig.get(key);\n\n let currentConfig;\n if (['color', 'size', 'shape'].includes(key)) {\n currentConfig = layer.getAttribute(key)?.scale;\n } else {\n if (!(key in layerConfig)) {\n return;\n }\n // @ts-ignore\n currentConfig = layerConfig[key];\n }\n\n if (!isEqual(cacheConfig, currentConfig)) {\n updateConfigs.push(key);\n this.setConfig(key, currentConfig);\n }\n });\n if (updateConfigs.length > 0) {\n console.warn('tile config cache update!', updateConfigs);\n this.emit('updateConfig', updateConfigs);\n }\n }\n\n public getAttributeScale(layer: ILayer, name: string): IScaleValue {\n const attribute = layer.getAttribute(name);\n const scaleValue: IScaleValue = {\n field: undefined,\n values: undefined,\n callback: undefined,\n };\n if (attribute && attribute.scale) {\n const { field, values, callback } = attribute.scale;\n scaleValue.field = field;\n scaleValue.values = values;\n scaleValue.callback = callback;\n }\n return scaleValue;\n }\n}\n"],"file":"tileConfigManager.js"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { IInteractionTarget, ILayer, ILayerService, IMapService, IPickingService, IRendererService, ITileLayerManager, ITilePickManager } from '@antv/l7-core';
|
|
2
|
+
import { Tile } from '@antv/l7-utils';
|
|
3
|
+
import { ITileConfigManager } from './tileConfigManager';
|
|
4
|
+
export declare class TileLayerManager implements ITileLayerManager {
|
|
5
|
+
sourceLayer: string;
|
|
6
|
+
parent: ILayer;
|
|
7
|
+
children: ILayer[];
|
|
8
|
+
mapService: IMapService;
|
|
9
|
+
rendererService: IRendererService;
|
|
10
|
+
tilePickManager: ITilePickManager;
|
|
11
|
+
tileConfigManager: ITileConfigManager;
|
|
12
|
+
private tileFactory;
|
|
13
|
+
private initOptions;
|
|
14
|
+
private rampColorsData;
|
|
15
|
+
constructor(parent: ILayer, mapService: IMapService, rendererService: IRendererService, pickingService: IPickingService, layerService: ILayerService);
|
|
16
|
+
createTile(tile: Tile): {
|
|
17
|
+
layers: ILayer[];
|
|
18
|
+
layerIDList: string[];
|
|
19
|
+
};
|
|
20
|
+
updateLayersConfig(layers: ILayer[], key: string, value: any): void;
|
|
21
|
+
addChild(layer: ILayer): void;
|
|
22
|
+
addChilds(layers: ILayer[]): void;
|
|
23
|
+
removeChilds(layerIDList: string[], refresh?: boolean): void;
|
|
24
|
+
removeChild(layer: ILayer): void;
|
|
25
|
+
getChilds(layerIDList: string[]): ILayer[];
|
|
26
|
+
getChild(layerID: string): ILayer;
|
|
27
|
+
clearChild(): void;
|
|
28
|
+
hasChild(layer: ILayer): boolean;
|
|
29
|
+
render(): void;
|
|
30
|
+
pickLayers(target: IInteractionTarget): boolean;
|
|
31
|
+
private setSubLayerInitOptipn;
|
|
32
|
+
private setConfigListener;
|
|
33
|
+
private updateStyle;
|
|
34
|
+
private initTileFactory;
|
|
35
|
+
}
|