@antv/l7-layers 2.9.27-alpha.4 → 2.9.28
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 +2 -8
- package/es/canvas/index.js +2 -8
- package/es/citybuliding/building.js +2 -8
- package/es/core/BaseLayer.d.ts +2 -0
- package/es/core/BaseLayer.js +12 -1
- package/es/core/interface.d.ts +1 -0
- package/es/earth/index.js +1 -5
- package/es/heatmap/index.js +2 -8
- package/es/image/index.js +2 -8
- package/es/line/index.js +2 -8
- package/es/line/models/great_circle.js +4 -4
- package/es/mask/index.js +2 -6
- package/es/plugins/DataMappingPlugin.js +4 -0
- package/es/plugins/FeatureScalePlugin.js +4 -1
- package/es/plugins/LayerModelPlugin.js +2 -0
- package/es/plugins/UpdateStyleAttributePlugin.d.ts +1 -1
- package/es/plugins/UpdateStyleAttributePlugin.js +7 -4
- package/es/point/index.js +2 -10
- package/es/polygon/index.js +2 -8
- package/es/raster/index.js +3 -10
- package/es/raster/models/raster.js +2 -2
- package/es/raster/models/rasterTile.d.ts +18 -0
- package/es/raster/models/rasterTile.js +140 -0
- package/es/raster/shaders/raster_2d_frag.glsl +38 -2
- package/es/raster/shaders/raster_2d_vert.glsl +0 -1
- package/es/tile/interface.d.ts +1 -0
- package/es/tile/manager/baseMapTileLayerManager.d.ts +3 -25
- package/es/tile/manager/baseMapTileLayerManager.js +31 -119
- package/es/tile/manager/baseTileManager.d.ts +27 -0
- package/es/tile/manager/baseTileManager.js +107 -0
- package/es/tile/manager/tileLayerManager.d.ts +4 -26
- package/es/tile/manager/tileLayerManager.js +64 -142
- package/es/tile/manager/tilePickerManager.d.ts +1 -0
- package/es/tile/manager/tilePickerManager.js +5 -0
- package/es/tile/models/tileModel.d.ts +1 -0
- package/es/tile/models/tileModel.js +3 -0
- package/es/tile/tileFactory/base.js +5 -2
- package/es/tile/tileFactory/index.js +2 -1
- package/es/tile/tileFactory/point.js +2 -1
- package/es/tile/tileFactory/rasterData.js +9 -11
- package/es/tile/tileFactory/rasterDataLayer.d.ts +1 -1
- package/es/tile/tileFactory/rasterDataLayer.js +3 -9
- package/es/tile/tileFactory/test.js +4 -2
- package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
- package/es/tile/tileFactory/vectorLayer.js +4 -8
- package/es/tile/tileLayer/baseMapTileLayer.d.ts +1 -0
- package/es/tile/tileLayer/baseMapTileLayer.js +8 -1
- package/es/tile/tileLayer/baseTileLayer.d.ts +1 -0
- package/es/tile/tileLayer/baseTileLayer.js +13 -2
- package/es/tile/tileTest.js +1 -3
- package/es/tile/tmsMapTileLayer.d.ts +0 -2
- package/es/tile/tmsMapTileLayer.js +2 -24
- package/es/tile/tmsTileLayer.d.ts +0 -2
- package/es/tile/tmsTileLayer.js +2 -24
- package/es/tile/utils.d.ts +3 -1
- package/es/tile/utils.js +48 -0
- package/es/wind/index.js +2 -8
- package/lib/Geometry/index.js +2 -8
- package/lib/canvas/index.js +2 -8
- package/lib/citybuliding/building.js +2 -8
- package/lib/core/BaseLayer.js +11 -1
- package/lib/earth/index.js +1 -5
- package/lib/heatmap/index.js +2 -8
- package/lib/image/index.js +2 -8
- package/lib/line/index.js +2 -8
- package/lib/line/models/great_circle.js +4 -4
- package/lib/mask/index.js +2 -6
- package/lib/plugins/DataMappingPlugin.js +4 -0
- package/lib/plugins/FeatureScalePlugin.js +4 -1
- package/lib/plugins/LayerModelPlugin.js +2 -0
- package/lib/plugins/UpdateStyleAttributePlugin.js +7 -4
- package/lib/point/index.js +2 -10
- package/lib/polygon/index.js +2 -8
- package/lib/raster/index.js +3 -10
- package/lib/raster/models/raster.js +2 -2
- package/lib/raster/models/rasterTile.js +154 -0
- package/lib/raster/shaders/raster_2d_frag.glsl +38 -2
- package/lib/raster/shaders/raster_2d_vert.glsl +0 -1
- package/lib/tile/manager/baseMapTileLayerManager.js +33 -121
- package/lib/tile/manager/baseTileManager.js +121 -0
- package/lib/tile/manager/tileLayerManager.js +66 -144
- package/lib/tile/manager/tilePickerManager.js +5 -0
- package/lib/tile/models/tileModel.js +3 -0
- package/lib/tile/tileFactory/base.js +5 -2
- package/lib/tile/tileFactory/index.js +3 -1
- package/lib/tile/tileFactory/point.js +2 -1
- package/lib/tile/tileFactory/rasterData.js +9 -11
- package/lib/tile/tileFactory/rasterDataLayer.js +4 -10
- package/lib/tile/tileFactory/test.js +4 -2
- package/lib/tile/tileFactory/vectorLayer.js +3 -8
- package/lib/tile/tileLayer/baseMapTileLayer.js +8 -1
- package/lib/tile/tileLayer/baseTileLayer.js +13 -2
- package/lib/tile/tileTest.js +1 -3
- package/lib/tile/tmsMapTileLayer.js +1 -23
- package/lib/tile/tmsTileLayer.js +1 -23
- package/lib/tile/utils.js +52 -0
- package/lib/wind/index.js +2 -8
- package/package.json +6 -6
package/es/Geometry/index.js
CHANGED
|
@@ -56,11 +56,7 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
56
56
|
var modelType = this.getModelType();
|
|
57
57
|
this.layerModel = new GeometryModels[modelType](this);
|
|
58
58
|
this.layerModel.initModels(function (models) {
|
|
59
|
-
_this2.models
|
|
60
|
-
|
|
61
|
-
_this2.emit('modelLoaded', null);
|
|
62
|
-
|
|
63
|
-
_this2.layerService.throttleRenderLayers();
|
|
59
|
+
_this2.dispatchModelLoad(models);
|
|
64
60
|
});
|
|
65
61
|
}
|
|
66
62
|
}, {
|
|
@@ -69,9 +65,7 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
69
65
|
var _this3 = this;
|
|
70
66
|
|
|
71
67
|
this.layerModel.buildModels(function (models) {
|
|
72
|
-
_this3.models
|
|
73
|
-
|
|
74
|
-
_this3.emit('modelLoaded', null);
|
|
68
|
+
_this3.dispatchModelLoad(models);
|
|
75
69
|
});
|
|
76
70
|
}
|
|
77
71
|
}, {
|
package/es/canvas/index.js
CHANGED
|
@@ -44,11 +44,7 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
44
44
|
var modelType = this.getModelType();
|
|
45
45
|
this.layerModel = new CanvasModels[modelType](this);
|
|
46
46
|
this.layerModel.initModels(function (models) {
|
|
47
|
-
_this2.models
|
|
48
|
-
|
|
49
|
-
_this2.emit('modelLoaded', null);
|
|
50
|
-
|
|
51
|
-
_this2.layerService.throttleRenderLayers();
|
|
47
|
+
_this2.dispatchModelLoad(models);
|
|
52
48
|
});
|
|
53
49
|
}
|
|
54
50
|
}, {
|
|
@@ -57,9 +53,7 @@ var CanvasLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
57
53
|
var _this3 = this;
|
|
58
54
|
|
|
59
55
|
this.layerModel.buildModels(function (models) {
|
|
60
|
-
_this3.models
|
|
61
|
-
|
|
62
|
-
_this3.emit('modelLoaded', null);
|
|
56
|
+
_this3.dispatchModelLoad(models);
|
|
63
57
|
});
|
|
64
58
|
}
|
|
65
59
|
}, {
|
|
@@ -41,11 +41,7 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
41
41
|
|
|
42
42
|
this.layerModel = new CityBuildModel(this);
|
|
43
43
|
this.layerModel.initModels(function (models) {
|
|
44
|
-
_this2.models
|
|
45
|
-
|
|
46
|
-
_this2.emit('modelLoaded', null);
|
|
47
|
-
|
|
48
|
-
_this2.layerService.throttleRenderLayers();
|
|
44
|
+
_this2.dispatchModelLoad(models);
|
|
49
45
|
});
|
|
50
46
|
}
|
|
51
47
|
}, {
|
|
@@ -54,9 +50,7 @@ var CityBuildingLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
54
50
|
var _this3 = this;
|
|
55
51
|
|
|
56
52
|
this.layerModel.buildModels(function (models) {
|
|
57
|
-
_this3.models
|
|
58
|
-
|
|
59
|
-
_this3.emit('modelLoaded', null);
|
|
53
|
+
_this3.dispatchModelLoad(models);
|
|
60
54
|
});
|
|
61
55
|
}
|
|
62
56
|
}, {
|
package/es/core/BaseLayer.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
42
42
|
afterDestroy: SyncHook;
|
|
43
43
|
};
|
|
44
44
|
models: IModel[];
|
|
45
|
+
modelLoaded: boolean;
|
|
45
46
|
multiPassRenderer: IMultiPassRenderer;
|
|
46
47
|
plugins: ILayerPlugin[];
|
|
47
48
|
sourceOption: {
|
|
@@ -214,6 +215,7 @@ export default class BaseLayer<ChildLayerStyleOptions = {}> extends EventEmitter
|
|
|
214
215
|
protected getModelType(): unknown;
|
|
215
216
|
protected getDefaultConfig(): {};
|
|
216
217
|
protected sourceEvent: () => void;
|
|
218
|
+
protected dispatchModelLoad(models: IModel[]): void;
|
|
217
219
|
protected reRender(): void;
|
|
218
220
|
protected splitValuesAndCallbackInAttribute(valuesOrCallback?: unknown[], defaultValues?: unknown[]): {
|
|
219
221
|
values: unknown[] | undefined;
|
package/es/core/BaseLayer.js
CHANGED
|
@@ -126,6 +126,8 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
126
126
|
|
|
127
127
|
_defineProperty(_assertThisInitialized(_this), "models", []);
|
|
128
128
|
|
|
129
|
+
_defineProperty(_assertThisInitialized(_this), "modelLoaded", false);
|
|
130
|
+
|
|
129
131
|
_defineProperty(_assertThisInitialized(_this), "layerChildren", []);
|
|
130
132
|
|
|
131
133
|
_defineProperty(_assertThisInitialized(_this), "masks", []);
|
|
@@ -951,7 +953,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
951
953
|
}, {
|
|
952
954
|
key: "destroy",
|
|
953
955
|
value: function destroy() {
|
|
954
|
-
var _this$multiPassRender, _this$layerModel2;
|
|
956
|
+
var _this$multiPassRender, _this$layerModel2, _this$tileLayer;
|
|
955
957
|
|
|
956
958
|
var refresh = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
957
959
|
|
|
@@ -979,6 +981,7 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
979
981
|
this.hooks.afterDestroy.call(); // Tip: 清除各个图层自定义的 models 资源
|
|
980
982
|
|
|
981
983
|
(_this$layerModel2 = this.layerModel) === null || _this$layerModel2 === void 0 ? void 0 : _this$layerModel2.clearModels(refresh);
|
|
984
|
+
(_this$tileLayer = this.tileLayer) === null || _this$tileLayer === void 0 ? void 0 : _this$tileLayer.destroy();
|
|
982
985
|
this.models = [];
|
|
983
986
|
this.layerService.cleanRemove(this, refresh);
|
|
984
987
|
this.emit('remove', {
|
|
@@ -1373,6 +1376,14 @@ var BaseLayer = (_dec = lazyInject(TYPES.IGlobalConfigService), (_class = /*#__P
|
|
|
1373
1376
|
value: function getDefaultConfig() {
|
|
1374
1377
|
return {};
|
|
1375
1378
|
}
|
|
1379
|
+
}, {
|
|
1380
|
+
key: "dispatchModelLoad",
|
|
1381
|
+
value: function dispatchModelLoad(models) {
|
|
1382
|
+
this.models = models;
|
|
1383
|
+
this.emit('modelLoaded', null);
|
|
1384
|
+
this.modelLoaded = true;
|
|
1385
|
+
this.layerService.throttleRenderLayers();
|
|
1386
|
+
}
|
|
1376
1387
|
}, {
|
|
1377
1388
|
key: "reRender",
|
|
1378
1389
|
value: function reRender() {
|
package/es/core/interface.d.ts
CHANGED
|
@@ -210,6 +210,7 @@ export interface IHeatMapLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
|
210
210
|
coverage?: number;
|
|
211
211
|
}
|
|
212
212
|
export interface IRasterLayerStyleOptions extends IBaseLayerStyleOptions {
|
|
213
|
+
colorTexture?: ITexture2D;
|
|
213
214
|
domain: [number, number];
|
|
214
215
|
noDataValue: number;
|
|
215
216
|
clampLow: boolean;
|
package/es/earth/index.js
CHANGED
|
@@ -59,11 +59,7 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
59
59
|
var shape = this.getModelType();
|
|
60
60
|
this.layerModel = new EarthModels[shape](this);
|
|
61
61
|
this.layerModel.initModels(function (models) {
|
|
62
|
-
_this2.models
|
|
63
|
-
|
|
64
|
-
_this2.emit('modelLoaded', null);
|
|
65
|
-
|
|
66
|
-
_this2.layerService.throttleRenderLayers();
|
|
62
|
+
_this2.dispatchModelLoad(models);
|
|
67
63
|
});
|
|
68
64
|
}
|
|
69
65
|
/**
|
package/es/heatmap/index.js
CHANGED
|
@@ -42,11 +42,7 @@ var HeatMapLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
42
42
|
var shape = this.getModelType();
|
|
43
43
|
this.layerModel = new HeatMapModels[shape](this);
|
|
44
44
|
this.layerModel.initModels(function (models) {
|
|
45
|
-
_this2.models
|
|
46
|
-
|
|
47
|
-
_this2.emit('modelLoaded', null);
|
|
48
|
-
|
|
49
|
-
_this2.layerService.throttleRenderLayers();
|
|
45
|
+
_this2.dispatchModelLoad(models);
|
|
50
46
|
});
|
|
51
47
|
}
|
|
52
48
|
}, {
|
|
@@ -55,9 +51,7 @@ var HeatMapLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
55
51
|
var _this3 = this;
|
|
56
52
|
|
|
57
53
|
this.layerModel.buildModels(function (models) {
|
|
58
|
-
_this3.models
|
|
59
|
-
|
|
60
|
-
_this3.emit('modelLoaded', null);
|
|
54
|
+
_this3.dispatchModelLoad(models);
|
|
61
55
|
});
|
|
62
56
|
}
|
|
63
57
|
}, {
|
package/es/image/index.js
CHANGED
|
@@ -42,11 +42,7 @@ var ImageLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
42
42
|
var modelType = this.getModelType();
|
|
43
43
|
this.layerModel = new ImageModels[modelType](this);
|
|
44
44
|
this.layerModel.initModels(function (models) {
|
|
45
|
-
_this2.models
|
|
46
|
-
|
|
47
|
-
_this2.emit('modelLoaded', null);
|
|
48
|
-
|
|
49
|
-
_this2.layerService.throttleRenderLayers();
|
|
45
|
+
_this2.dispatchModelLoad(models);
|
|
50
46
|
});
|
|
51
47
|
}
|
|
52
48
|
}, {
|
|
@@ -55,9 +51,7 @@ var ImageLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
55
51
|
var _this3 = this;
|
|
56
52
|
|
|
57
53
|
this.layerModel.buildModels(function (models) {
|
|
58
|
-
_this3.models
|
|
59
|
-
|
|
60
|
-
_this3.emit('modelLoaded', null);
|
|
54
|
+
_this3.dispatchModelLoad(models);
|
|
61
55
|
});
|
|
62
56
|
}
|
|
63
57
|
}, {
|
package/es/line/index.js
CHANGED
|
@@ -63,11 +63,7 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
63
63
|
var shape = this.getModelType();
|
|
64
64
|
this.layerModel = new LineModels[shape](this);
|
|
65
65
|
this.layerModel.initModels(function (models) {
|
|
66
|
-
_this2.models
|
|
67
|
-
|
|
68
|
-
_this2.emit('modelLoaded', null);
|
|
69
|
-
|
|
70
|
-
_this2.layerService.throttleRenderLayers();
|
|
66
|
+
_this2.dispatchModelLoad(models);
|
|
71
67
|
});
|
|
72
68
|
}
|
|
73
69
|
}, {
|
|
@@ -76,9 +72,7 @@ var LineLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
76
72
|
var _this3 = this;
|
|
77
73
|
|
|
78
74
|
this.layerModel.buildModels(function (models) {
|
|
79
|
-
_this3.models
|
|
80
|
-
|
|
81
|
-
_this3.emit('modelLoaded', null);
|
|
75
|
+
_this3.dispatchModelLoad(models);
|
|
82
76
|
});
|
|
83
77
|
}
|
|
84
78
|
}, {
|
|
@@ -233,7 +233,7 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
233
233
|
type: gl.FLOAT
|
|
234
234
|
},
|
|
235
235
|
size: 1,
|
|
236
|
-
update: function update(feature) {
|
|
236
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
237
237
|
var _feature$size = feature.size,
|
|
238
238
|
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
239
239
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
@@ -252,7 +252,7 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
252
252
|
type: gl.FLOAT
|
|
253
253
|
},
|
|
254
254
|
size: 4,
|
|
255
|
-
update: function update(feature, featureIdx, vertex) {
|
|
255
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
256
256
|
return [vertex[3], vertex[4], vertex[5], vertex[6]];
|
|
257
257
|
}
|
|
258
258
|
}
|
|
@@ -269,10 +269,10 @@ var GreatCircleModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
269
269
|
type: gl.FLOAT
|
|
270
270
|
},
|
|
271
271
|
size: 2,
|
|
272
|
-
update: function update(feature) {
|
|
272
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
273
273
|
var iconMap = _this2.iconService.getIconMap();
|
|
274
274
|
|
|
275
|
-
var texture = feature.texture;
|
|
275
|
+
var texture = feature.texture; // console.log('icon feature', feature)
|
|
276
276
|
|
|
277
277
|
var _ref4 = iconMap[texture] || {
|
|
278
278
|
x: 0,
|
package/es/mask/index.js
CHANGED
|
@@ -115,9 +115,7 @@ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
115
115
|
var shape = this.getModelType();
|
|
116
116
|
this.layerModel = new MaskModels[shape](this);
|
|
117
117
|
this.layerModel.initModels(function (models) {
|
|
118
|
-
_this3.models
|
|
119
|
-
|
|
120
|
-
_this3.emit('modelLoaded', null);
|
|
118
|
+
_this3.dispatchModelLoad(models);
|
|
121
119
|
});
|
|
122
120
|
}
|
|
123
121
|
}, {
|
|
@@ -126,9 +124,7 @@ var MaskLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
126
124
|
var _this4 = this;
|
|
127
125
|
|
|
128
126
|
this.layerModel.buildModels(function (models) {
|
|
129
|
-
_this4.models
|
|
130
|
-
|
|
131
|
-
_this4.emit('modelLoaded', null);
|
|
127
|
+
_this4.dispatchModelLoad(models);
|
|
132
128
|
});
|
|
133
129
|
}
|
|
134
130
|
}, {
|
|
@@ -65,6 +65,10 @@ var DataMappingPlugin = (_dec = injectable(), _dec2 = inject(TYPES.IMapService),
|
|
|
65
65
|
}); // remapping before render
|
|
66
66
|
|
|
67
67
|
layer.hooks.beforeRender.tap('DataMappingPlugin', function () {
|
|
68
|
+
var _layer$getLayerConfig = layer.getLayerConfig(),
|
|
69
|
+
usage = _layer$getLayerConfig.usage;
|
|
70
|
+
|
|
71
|
+
if (usage === 'basemap') return;
|
|
68
72
|
var source = layer.getSource();
|
|
69
73
|
|
|
70
74
|
if (layer.layerModelNeedUpdate || !source || !source.inited) {
|
|
@@ -78,7 +78,10 @@ var FeatureScalePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/functi
|
|
|
78
78
|
return true;
|
|
79
79
|
});
|
|
80
80
|
layer.hooks.beforeRender.tap('FeatureScalePlugin', function () {
|
|
81
|
-
|
|
81
|
+
var _layer$getLayerConfig = layer.getLayerConfig(),
|
|
82
|
+
usage = _layer$getLayerConfig.usage;
|
|
83
|
+
|
|
84
|
+
if (layer.layerModelNeedUpdate || usage === 'basemap') {
|
|
82
85
|
return;
|
|
83
86
|
}
|
|
84
87
|
|
|
@@ -40,6 +40,7 @@ var LayerModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
|
|
|
40
40
|
|
|
41
41
|
layer.hooks.init.tap('LayerModelPlugin', function () {
|
|
42
42
|
layer.inited = true;
|
|
43
|
+
layer.modelLoaded = false;
|
|
43
44
|
var source = layer.getSource();
|
|
44
45
|
|
|
45
46
|
if (source.inited) {
|
|
@@ -48,6 +49,7 @@ var LayerModelPlugin = (_dec = injectable(), _dec(_class = /*#__PURE__*/function
|
|
|
48
49
|
});
|
|
49
50
|
layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
|
|
50
51
|
var source = layer.getSource();
|
|
52
|
+
layer.modelLoaded = false;
|
|
51
53
|
|
|
52
54
|
if (source.inited) {
|
|
53
55
|
_this.prepareLayerModel(layer);
|
|
@@ -7,6 +7,6 @@ export default class UpdateStyleAttributePlugin implements ILayerPlugin {
|
|
|
7
7
|
apply(layer: ILayer, { styleAttributeService, }: {
|
|
8
8
|
styleAttributeService: IStyleAttributeService;
|
|
9
9
|
}): void;
|
|
10
|
-
private
|
|
10
|
+
private updateStyleAttribute;
|
|
11
11
|
private initStyleAttribute;
|
|
12
12
|
}
|
|
@@ -26,18 +26,21 @@ var UpdateStyleAttributePlugin = (_dec = injectable(), _dec(_class = /*#__PURE__
|
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
28
|
layer.hooks.beforeRender.tap('UpdateStyleAttributePlugin', function () {
|
|
29
|
-
|
|
29
|
+
var _layer$getLayerConfig = layer.getLayerConfig(),
|
|
30
|
+
usage = _layer$getLayerConfig.usage;
|
|
31
|
+
|
|
32
|
+
if (layer.layerModelNeedUpdate || layer.tileLayer || usage === 'basemap') {
|
|
30
33
|
return;
|
|
31
34
|
}
|
|
32
35
|
|
|
33
|
-
_this.
|
|
36
|
+
layer.modelLoaded && _this.updateStyleAttribute(layer, {
|
|
34
37
|
styleAttributeService: styleAttributeService
|
|
35
38
|
});
|
|
36
39
|
});
|
|
37
40
|
}
|
|
38
41
|
}, {
|
|
39
|
-
key: "
|
|
40
|
-
value: function
|
|
42
|
+
key: "updateStyleAttribute",
|
|
43
|
+
value: function updateStyleAttribute(layer, _ref2) {
|
|
41
44
|
var styleAttributeService = _ref2.styleAttributeService;
|
|
42
45
|
var attributes = styleAttributeService.getLayerStyleAttributes() || [];
|
|
43
46
|
var filter = styleAttributeService.getLayerStyleAttribute('filter');
|
package/es/point/index.js
CHANGED
|
@@ -60,13 +60,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
60
60
|
var modelType = this.getModelType();
|
|
61
61
|
this.layerModel = new PointModels[modelType](this);
|
|
62
62
|
this.layerModel.initModels(function (models) {
|
|
63
|
-
_this2.models
|
|
64
|
-
|
|
65
|
-
_this2.layerService.updateLayerRenderList();
|
|
66
|
-
|
|
67
|
-
_this2.emit('modelLoaded', null);
|
|
68
|
-
|
|
69
|
-
_this2.layerService.throttleRenderLayers();
|
|
63
|
+
_this2.dispatchModelLoad(models);
|
|
70
64
|
});
|
|
71
65
|
}
|
|
72
66
|
}, {
|
|
@@ -75,9 +69,7 @@ var PointLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
75
69
|
var _this3 = this;
|
|
76
70
|
|
|
77
71
|
this.layerModel.buildModels(function (models) {
|
|
78
|
-
_this3.models
|
|
79
|
-
|
|
80
|
-
_this3.emit('modelLoaded', null);
|
|
72
|
+
_this3.dispatchModelLoad(models);
|
|
81
73
|
});
|
|
82
74
|
}
|
|
83
75
|
/**
|
package/es/polygon/index.js
CHANGED
|
@@ -43,11 +43,7 @@ var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
43
43
|
var shape = this.getModelType();
|
|
44
44
|
this.layerModel = new PolygonModels[shape](this);
|
|
45
45
|
this.layerModel.initModels(function (models) {
|
|
46
|
-
_this2.models
|
|
47
|
-
|
|
48
|
-
_this2.emit('modelLoaded', null);
|
|
49
|
-
|
|
50
|
-
_this2.layerService.throttleRenderLayers();
|
|
46
|
+
_this2.dispatchModelLoad(models);
|
|
51
47
|
});
|
|
52
48
|
}
|
|
53
49
|
}, {
|
|
@@ -56,9 +52,7 @@ var PolygonLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
56
52
|
var _this3 = this;
|
|
57
53
|
|
|
58
54
|
this.layerModel.buildModels(function (models) {
|
|
59
|
-
_this3.models
|
|
60
|
-
|
|
61
|
-
_this3.emit('modelLoaded', null);
|
|
55
|
+
_this3.dispatchModelLoad(models);
|
|
62
56
|
});
|
|
63
57
|
}
|
|
64
58
|
}, {
|
package/es/raster/index.js
CHANGED
|
@@ -42,11 +42,7 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
42
42
|
var modelType = this.getModelType();
|
|
43
43
|
this.layerModel = new RasterModels[modelType](this);
|
|
44
44
|
this.layerModel.initModels(function (models) {
|
|
45
|
-
_this2.models
|
|
46
|
-
|
|
47
|
-
_this2.emit('modelLoaded', null);
|
|
48
|
-
|
|
49
|
-
_this2.layerService.throttleRenderLayers();
|
|
45
|
+
_this2.dispatchModelLoad(models);
|
|
50
46
|
});
|
|
51
47
|
}
|
|
52
48
|
}, {
|
|
@@ -55,9 +51,7 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
55
51
|
var _this3 = this;
|
|
56
52
|
|
|
57
53
|
this.layerModel.buildModels(function (models) {
|
|
58
|
-
_this3.models
|
|
59
|
-
|
|
60
|
-
_this3.emit('modelLoaded', null);
|
|
54
|
+
_this3.dispatchModelLoad(models);
|
|
61
55
|
});
|
|
62
56
|
}
|
|
63
57
|
}, {
|
|
@@ -99,8 +93,7 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
99
93
|
|
|
100
94
|
default:
|
|
101
95
|
return 'raster';
|
|
102
|
-
}
|
|
103
|
-
|
|
96
|
+
}
|
|
104
97
|
}
|
|
105
98
|
}]);
|
|
106
99
|
|
|
@@ -15,10 +15,10 @@ import BaseModel from "../../core/BaseModel";
|
|
|
15
15
|
import { RasterImageTriangulation } from "../../core/triangulation";
|
|
16
16
|
|
|
17
17
|
/* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
|
|
18
|
-
var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n
|
|
18
|
+
var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
|
|
19
19
|
|
|
20
20
|
/* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
|
|
21
|
-
var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n
|
|
21
|
+
var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
|
|
22
22
|
|
|
23
23
|
var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
24
24
|
_inherits(RasterModel, _BaseModel);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IModel, ITexture2D } from '@antv/l7-core';
|
|
2
|
+
import BaseModel from '../../core/BaseModel';
|
|
3
|
+
export default class RasterModel extends BaseModel {
|
|
4
|
+
protected texture: ITexture2D;
|
|
5
|
+
getUninforms(): {
|
|
6
|
+
u_opacity: number;
|
|
7
|
+
u_texture: ITexture2D;
|
|
8
|
+
u_domain: [number, number];
|
|
9
|
+
u_clampLow: boolean;
|
|
10
|
+
u_clampHigh: boolean;
|
|
11
|
+
u_noDataValue: number;
|
|
12
|
+
u_colorTexture: ITexture2D;
|
|
13
|
+
};
|
|
14
|
+
initModels(callbackModel: (models: IModel[]) => void): void;
|
|
15
|
+
buildModels(callbackModel: (models: IModel[]) => void): void;
|
|
16
|
+
clearModels(): void;
|
|
17
|
+
protected registerBuiltinAttributes(): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
4
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
|
+
|
|
7
|
+
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); }; }
|
|
8
|
+
|
|
9
|
+
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; } }
|
|
10
|
+
|
|
11
|
+
import { AttributeType, gl } from '@antv/l7-core';
|
|
12
|
+
import { getMask } from '@antv/l7-utils';
|
|
13
|
+
import BaseModel from "../../core/BaseModel";
|
|
14
|
+
import { RasterImageTriangulation } from "../../core/triangulation";
|
|
15
|
+
|
|
16
|
+
/* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
|
|
17
|
+
var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\n\n\n// float getBlurIndusty() {\n// vec2 u_ViewportSize = vec2(1024);\n\n// float vW = 2.0/u_ViewportSize.x;\n// float vH = 2.0/u_ViewportSize.y;\n// vec2 vUv = v_texCoord;\n// float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n// float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;\n// float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n\n// float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;\n// float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;\n// float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;\n\n// float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;\n// float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;\n// float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;\n\n// return(\n// i11 + \n// i12 + \n// i13 + \n// i21 + \n// i21 + \n// i22 + \n// i23 + \n// i31 + \n// i32 + \n// i33\n// )/9.0;\n// }\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n\n // float value = getBlurIndusty();\n\n\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
|
|
18
|
+
|
|
19
|
+
/* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
|
|
20
|
+
var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
|
|
21
|
+
|
|
22
|
+
var RasterModel = /*#__PURE__*/function (_BaseModel) {
|
|
23
|
+
_inherits(RasterModel, _BaseModel);
|
|
24
|
+
|
|
25
|
+
var _super = _createSuper(RasterModel);
|
|
26
|
+
|
|
27
|
+
function RasterModel() {
|
|
28
|
+
_classCallCheck(this, RasterModel);
|
|
29
|
+
|
|
30
|
+
return _super.apply(this, arguments);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
_createClass(RasterModel, [{
|
|
34
|
+
key: "getUninforms",
|
|
35
|
+
value: function getUninforms() {
|
|
36
|
+
var createTexture2D = this.rendererService.createTexture2D;
|
|
37
|
+
|
|
38
|
+
var _ref = this.layer.getLayerConfig(),
|
|
39
|
+
_ref$colorTexture = _ref.colorTexture,
|
|
40
|
+
colorTexture = _ref$colorTexture === void 0 ? createTexture2D({
|
|
41
|
+
data: [],
|
|
42
|
+
width: 0,
|
|
43
|
+
height: 0,
|
|
44
|
+
flipY: false
|
|
45
|
+
}) : _ref$colorTexture,
|
|
46
|
+
_ref$opacity = _ref.opacity,
|
|
47
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
48
|
+
_ref$clampLow = _ref.clampLow,
|
|
49
|
+
clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
|
|
50
|
+
_ref$clampHigh = _ref.clampHigh,
|
|
51
|
+
clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
|
|
52
|
+
_ref$noDataValue = _ref.noDataValue,
|
|
53
|
+
noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
|
|
54
|
+
_ref$domain = _ref.domain,
|
|
55
|
+
domain = _ref$domain === void 0 ? [0, 1] : _ref$domain;
|
|
56
|
+
|
|
57
|
+
return {
|
|
58
|
+
u_opacity: opacity || 1,
|
|
59
|
+
u_texture: this.texture,
|
|
60
|
+
u_domain: domain,
|
|
61
|
+
u_clampLow: clampLow,
|
|
62
|
+
u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
|
|
63
|
+
u_noDataValue: noDataValue,
|
|
64
|
+
u_colorTexture: colorTexture
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
key: "initModels",
|
|
69
|
+
value: function initModels(callbackModel) {
|
|
70
|
+
var _ref2 = this.layer.getLayerConfig(),
|
|
71
|
+
_ref2$mask = _ref2.mask,
|
|
72
|
+
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
73
|
+
_ref2$maskInside = _ref2.maskInside,
|
|
74
|
+
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
75
|
+
|
|
76
|
+
var source = this.layer.getSource();
|
|
77
|
+
var createTexture2D = this.rendererService.createTexture2D;
|
|
78
|
+
var parserDataItem = source.data.dataArray[0];
|
|
79
|
+
this.texture = createTexture2D({
|
|
80
|
+
data: parserDataItem.data,
|
|
81
|
+
width: parserDataItem.width,
|
|
82
|
+
height: parserDataItem.height,
|
|
83
|
+
format: gl.LUMINANCE,
|
|
84
|
+
type: gl.FLOAT
|
|
85
|
+
});
|
|
86
|
+
this.layer.buildLayerModel({
|
|
87
|
+
moduleName: 'rasterTileImageData',
|
|
88
|
+
vertexShader: rasterVert,
|
|
89
|
+
fragmentShader: rasterFrag,
|
|
90
|
+
triangulation: RasterImageTriangulation,
|
|
91
|
+
depth: {
|
|
92
|
+
enable: false
|
|
93
|
+
},
|
|
94
|
+
stencil: getMask(mask, maskInside),
|
|
95
|
+
pick: false
|
|
96
|
+
}).then(function (model) {
|
|
97
|
+
callbackModel([model]);
|
|
98
|
+
}).catch(function (err) {
|
|
99
|
+
console.warn(err);
|
|
100
|
+
callbackModel([]);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}, {
|
|
104
|
+
key: "buildModels",
|
|
105
|
+
value: function buildModels(callbackModel) {
|
|
106
|
+
this.initModels(callbackModel);
|
|
107
|
+
}
|
|
108
|
+
}, {
|
|
109
|
+
key: "clearModels",
|
|
110
|
+
value: function clearModels() {
|
|
111
|
+
var _this$texture;
|
|
112
|
+
|
|
113
|
+
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
114
|
+
}
|
|
115
|
+
}, {
|
|
116
|
+
key: "registerBuiltinAttributes",
|
|
117
|
+
value: function registerBuiltinAttributes() {
|
|
118
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
119
|
+
name: 'uv',
|
|
120
|
+
type: AttributeType.Attribute,
|
|
121
|
+
descriptor: {
|
|
122
|
+
name: 'a_Uv',
|
|
123
|
+
buffer: {
|
|
124
|
+
usage: gl.DYNAMIC_DRAW,
|
|
125
|
+
data: [],
|
|
126
|
+
type: gl.FLOAT
|
|
127
|
+
},
|
|
128
|
+
size: 2,
|
|
129
|
+
update: function update(feature, featureIdx, vertex) {
|
|
130
|
+
return [vertex[3], vertex[4]];
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}]);
|
|
136
|
+
|
|
137
|
+
return RasterModel;
|
|
138
|
+
}(BaseModel);
|
|
139
|
+
|
|
140
|
+
export { RasterModel as default };
|