@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.
Files changed (218) hide show
  1. package/LICENSE.md +1 -1
  2. package/es/core/BaseLayer.d.ts +4 -2
  3. package/es/core/BaseLayer.js +47 -21
  4. package/es/core/BaseLayer.js.map +1 -1
  5. package/es/core/BaseModel.d.ts +2 -1
  6. package/es/core/BaseModel.js +3 -0
  7. package/es/core/BaseModel.js.map +1 -1
  8. package/es/core/interface.d.ts +14 -1
  9. package/es/core/interface.js.map +1 -1
  10. package/es/image/models/image.js.map +1 -1
  11. package/es/line/index.d.ts +1 -1
  12. package/es/line/index.js +13 -1
  13. package/es/line/index.js.map +1 -1
  14. package/es/line/models/earthArc_3d.d.ts +17 -0
  15. package/es/line/models/earthArc_3d.js +311 -0
  16. package/es/line/models/earthArc_3d.js.map +1 -0
  17. package/es/line/models/half.d.ts +18 -0
  18. package/es/line/models/half.js +244 -0
  19. package/es/line/models/half.js.map +1 -0
  20. package/es/line/models/index.d.ts +1 -1
  21. package/es/line/models/index.js +9 -1
  22. package/es/line/models/index.js.map +1 -1
  23. package/es/line/models/tile.d.ts +20 -0
  24. package/es/line/models/tile.js +327 -0
  25. package/es/line/models/tile.js.map +1 -0
  26. package/es/plugins/DataMappingPlugin.js +1 -1
  27. package/es/plugins/DataMappingPlugin.js.map +1 -1
  28. package/es/plugins/DataSourcePlugin.js +7 -6
  29. package/es/plugins/DataSourcePlugin.js.map +1 -1
  30. package/es/plugins/FeatureScalePlugin.js +35 -9
  31. package/es/plugins/FeatureScalePlugin.js.map +1 -1
  32. package/es/plugins/ShaderUniformPlugin.js +3 -1
  33. package/es/plugins/ShaderUniformPlugin.js.map +1 -1
  34. package/es/point/index.d.ts +1 -1
  35. package/es/point/index.js +10 -2
  36. package/es/point/index.js.map +1 -1
  37. package/es/point/models/earthExtrude.d.ts +24 -0
  38. package/es/point/models/earthExtrude.js +259 -0
  39. package/es/point/models/earthExtrude.js.map +1 -0
  40. package/es/point/models/earthFill.d.ts +20 -0
  41. package/es/point/models/earthFill.js +255 -0
  42. package/es/point/models/earthFill.js.map +1 -0
  43. package/es/point/models/extrude.d.ts +0 -1
  44. package/es/point/models/extrude.js +2 -10
  45. package/es/point/models/extrude.js.map +1 -1
  46. package/es/point/models/fill.d.ts +8 -1
  47. package/es/point/models/fill.js +55 -75
  48. package/es/point/models/fill.js.map +1 -1
  49. package/es/point/models/index.d.ts +1 -1
  50. package/es/point/models/index.js +9 -1
  51. package/es/point/models/index.js.map +1 -1
  52. package/es/point/models/radar.js +2 -6
  53. package/es/point/models/radar.js.map +1 -1
  54. package/es/point/models/tile.d.ts +31 -0
  55. package/es/point/models/tile.js +291 -0
  56. package/es/point/models/tile.js.map +1 -0
  57. package/es/polygon/index.js +6 -0
  58. package/es/polygon/index.js.map +1 -1
  59. package/es/polygon/models/index.d.ts +1 -1
  60. package/es/polygon/models/index.js +5 -1
  61. package/es/polygon/models/index.js.map +1 -1
  62. package/es/polygon/models/tile.d.ts +16 -0
  63. package/es/polygon/models/tile.js +137 -0
  64. package/es/polygon/models/tile.js.map +1 -0
  65. package/es/raster/index.d.ts +2 -2
  66. package/es/raster/index.js +4 -4
  67. package/es/raster/index.js.map +1 -1
  68. package/es/raster/models/index.js +1 -1
  69. package/es/raster/models/index.js.map +1 -1
  70. package/es/raster/models/raster.d.ts +2 -0
  71. package/es/raster/models/raster.js +24 -12
  72. package/es/raster/models/raster.js.map +1 -1
  73. package/es/tile/interface.d.ts +28 -0
  74. package/es/tile/interface.js +2 -0
  75. package/es/tile/interface.js.map +1 -0
  76. package/es/tile/manager/tileConfigManager.d.ts +17 -0
  77. package/es/tile/manager/tileConfigManager.js +123 -0
  78. package/es/tile/manager/tileConfigManager.js.map +1 -0
  79. package/es/tile/manager/tileLayerManager.d.ts +35 -0
  80. package/es/tile/manager/tileLayerManager.js +297 -0
  81. package/es/tile/manager/tileLayerManager.js.map +1 -0
  82. package/es/tile/manager/tilePickerManager.d.ts +21 -0
  83. package/es/tile/manager/tilePickerManager.js +189 -0
  84. package/es/tile/manager/tilePickerManager.js.map +1 -0
  85. package/es/tile/models/tileModel.d.ts +8 -0
  86. package/es/tile/models/tileModel.js +61 -0
  87. package/es/tile/models/tileModel.js.map +1 -0
  88. package/es/tile/tileFactory/base.d.ts +44 -0
  89. package/es/tile/tileFactory/base.js +423 -0
  90. package/es/tile/tileFactory/base.js.map +1 -0
  91. package/es/tile/tileFactory/index.d.ts +5 -0
  92. package/es/tile/tileFactory/index.js +30 -0
  93. package/es/tile/tileFactory/index.js.map +1 -0
  94. package/es/tile/tileFactory/line.d.ts +12 -0
  95. package/es/tile/tileFactory/line.js +65 -0
  96. package/es/tile/tileFactory/line.js.map +1 -0
  97. package/es/tile/tileFactory/point.d.ts +12 -0
  98. package/es/tile/tileFactory/point.js +65 -0
  99. package/es/tile/tileFactory/point.js.map +1 -0
  100. package/es/tile/tileFactory/polygon.d.ts +12 -0
  101. package/es/tile/tileFactory/polygon.js +65 -0
  102. package/es/tile/tileFactory/polygon.js.map +1 -0
  103. package/es/tile/tileFactory/raster.d.ts +12 -0
  104. package/es/tile/tileFactory/raster.js +61 -0
  105. package/es/tile/tileFactory/raster.js.map +1 -0
  106. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  107. package/es/tile/tileFactory/rasterData.js +86 -0
  108. package/es/tile/tileFactory/rasterData.js.map +1 -0
  109. package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
  110. package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
  111. package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
  112. package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
  113. package/es/tile/tileFactory/vectorLayer.js +131 -0
  114. package/es/tile/tileFactory/vectorLayer.js.map +1 -0
  115. package/es/tile/tileLayer/baseTileLayer.d.ts +47 -0
  116. package/es/tile/tileLayer/baseTileLayer.js +409 -0
  117. package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
  118. package/es/tile/tmsTileLayer.d.ts +7 -0
  119. package/es/tile/tmsTileLayer.js +100 -0
  120. package/es/tile/tmsTileLayer.js.map +1 -0
  121. package/es/tile/utils.d.ts +11 -0
  122. package/es/tile/utils.js +125 -0
  123. package/es/tile/utils.js.map +1 -0
  124. package/lib/core/BaseLayer.js +45 -20
  125. package/lib/core/BaseLayer.js.map +1 -1
  126. package/lib/core/BaseModel.js +2 -0
  127. package/lib/core/BaseModel.js.map +1 -1
  128. package/lib/core/interface.js.map +1 -1
  129. package/lib/image/models/image.js.map +1 -1
  130. package/lib/line/index.js +13 -1
  131. package/lib/line/index.js.map +1 -1
  132. package/lib/line/models/earthArc_3d.js +328 -0
  133. package/lib/line/models/earthArc_3d.js.map +1 -0
  134. package/lib/line/models/half.js +260 -0
  135. package/lib/line/models/half.js.map +1 -0
  136. package/lib/line/models/index.js +13 -1
  137. package/lib/line/models/index.js.map +1 -1
  138. package/lib/line/models/tile.js +342 -0
  139. package/lib/line/models/tile.js.map +1 -0
  140. package/lib/plugins/DataMappingPlugin.js +1 -1
  141. package/lib/plugins/DataMappingPlugin.js.map +1 -1
  142. package/lib/plugins/DataSourcePlugin.js +7 -6
  143. package/lib/plugins/DataSourcePlugin.js.map +1 -1
  144. package/lib/plugins/FeatureScalePlugin.js +35 -9
  145. package/lib/plugins/FeatureScalePlugin.js.map +1 -1
  146. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  147. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  148. package/lib/point/index.js +10 -2
  149. package/lib/point/index.js.map +1 -1
  150. package/lib/point/models/earthExtrude.js +277 -0
  151. package/lib/point/models/earthExtrude.js.map +1 -0
  152. package/lib/point/models/earthFill.js +291 -0
  153. package/lib/point/models/earthFill.js.map +1 -0
  154. package/lib/point/models/extrude.js +2 -11
  155. package/lib/point/models/extrude.js.map +1 -1
  156. package/lib/point/models/fill.js +51 -93
  157. package/lib/point/models/fill.js.map +1 -1
  158. package/lib/point/models/index.js +13 -1
  159. package/lib/point/models/index.js.map +1 -1
  160. package/lib/point/models/radar.js +1 -5
  161. package/lib/point/models/radar.js.map +1 -1
  162. package/lib/point/models/tile.js +308 -0
  163. package/lib/point/models/tile.js.map +1 -0
  164. package/lib/polygon/index.js +6 -0
  165. package/lib/polygon/index.js.map +1 -1
  166. package/lib/polygon/models/index.js +7 -1
  167. package/lib/polygon/models/index.js.map +1 -1
  168. package/lib/polygon/models/tile.js +152 -0
  169. package/lib/polygon/models/tile.js.map +1 -0
  170. package/lib/raster/index.js +4 -4
  171. package/lib/raster/index.js.map +1 -1
  172. package/lib/raster/models/index.js +2 -2
  173. package/lib/raster/models/index.js.map +1 -1
  174. package/lib/raster/models/raster.js +24 -12
  175. package/lib/raster/models/raster.js.map +1 -1
  176. package/lib/tile/interface.js +2 -0
  177. package/lib/tile/interface.js.map +1 -0
  178. package/lib/tile/manager/tileConfigManager.js +134 -0
  179. package/lib/tile/manager/tileConfigManager.js.map +1 -0
  180. package/lib/tile/manager/tileLayerManager.js +305 -0
  181. package/lib/tile/manager/tileLayerManager.js.map +1 -0
  182. package/lib/tile/manager/tilePickerManager.js +195 -0
  183. package/lib/tile/manager/tilePickerManager.js.map +1 -0
  184. package/lib/tile/models/tileModel.js +73 -0
  185. package/lib/tile/models/tileModel.js.map +1 -0
  186. package/lib/tile/tileFactory/base.js +436 -0
  187. package/lib/tile/tileFactory/base.js.map +1 -0
  188. package/lib/tile/tileFactory/index.js +60 -0
  189. package/lib/tile/tileFactory/index.js.map +1 -0
  190. package/lib/tile/tileFactory/line.js +76 -0
  191. package/lib/tile/tileFactory/line.js.map +1 -0
  192. package/lib/tile/tileFactory/point.js +76 -0
  193. package/lib/tile/tileFactory/point.js.map +1 -0
  194. package/lib/tile/tileFactory/polygon.js +76 -0
  195. package/lib/tile/tileFactory/polygon.js.map +1 -0
  196. package/lib/tile/tileFactory/raster.js +74 -0
  197. package/lib/tile/tileFactory/raster.js.map +1 -0
  198. package/lib/tile/tileFactory/rasterData.js +99 -0
  199. package/lib/tile/tileFactory/rasterData.js.map +1 -0
  200. package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
  201. package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
  202. package/lib/tile/tileFactory/vectorLayer.js +145 -0
  203. package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
  204. package/lib/tile/tileLayer/baseTileLayer.js +407 -0
  205. package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
  206. package/lib/tile/tmsTileLayer.js +116 -0
  207. package/lib/tile/tmsTileLayer.js.map +1 -0
  208. package/lib/tile/utils.js +147 -0
  209. package/lib/tile/utils.js.map +1 -0
  210. package/package.json +8 -6
  211. package/es/core/LayerGroup.d.ts +0 -9
  212. package/es/core/LayerGroup.js.map +0 -1
  213. package/es/raster/models/raste-tile.d.ts +0 -23
  214. package/es/raster/models/raste-tile.js +0 -285
  215. package/es/raster/models/raste-tile.js.map +0 -1
  216. package/lib/core/LayerGroup.js.map +0 -1
  217. package/lib/raster/models/raste-tile.js +0 -294
  218. package/lib/raster/models/raste-tile.js.map +0 -1
@@ -21,7 +21,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
21
21
 
22
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
23
 
24
- var _LayerGroup2 = _interopRequireDefault(require("../core/LayerGroup"));
24
+ var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
25
25
 
26
26
  var _index = _interopRequireDefault(require("./models/index"));
27
27
 
@@ -29,8 +29,8 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
29
29
 
30
30
  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; } }
31
31
 
32
- var RaterLayer = function (_LayerGroup) {
33
- (0, _inherits2.default)(RaterLayer, _LayerGroup);
32
+ var RaterLayer = function (_BaseLayer) {
33
+ (0, _inherits2.default)(RaterLayer, _BaseLayer);
34
34
 
35
35
  var _super = _createSuper(RaterLayer);
36
36
 
@@ -100,7 +100,7 @@ var RaterLayer = function (_LayerGroup) {
100
100
  }
101
101
  }]);
102
102
  return RaterLayer;
103
- }(_LayerGroup2.default);
103
+ }(_BaseLayer2.default);
104
104
 
105
105
  exports.default = RaterLayer;
106
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/raster/index.ts"],"names":["RaterLayer","modelType","getModelType","layerModel","RasterModels","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d","rasterTile","layerSource","parser","LayerGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;;;;;IACqBA,U;;;;;;;;;;;;;;;uFACG,a;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIC,eAAaH,SAAb,CAAJ,CAA4B,IAA5B,CAAlB;AACA,WAAKI,MAAL,GAAc,KAAKF,UAAL,CAAgBG,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKF,UAAL,CAAgBI,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,KAAKR,YAAL,EAAb;AACA,UAAMW,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;;;EA1CqCS,oB","sourcesContent":["import { IRasterLayerStyleOptions } from '../core/interface';\nimport LayerGroup from '../core/LayerGroup';\nimport RasterModels, { RasterModelType } from './models/index';\nexport default class RaterLayer extends LayerGroup<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
+ {"version":3,"sources":["../../src/raster/index.ts"],"names":["RaterLayer","modelType","getModelType","layerModel","RasterModels","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d","rasterTile","layerSource","parser","BaseLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IACqBA,U;;;;;;;;;;;;;;;uFACG,a;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIC,eAAaH,SAAb,CAAJ,CAA4B,IAA5B,CAAlB;AACA,WAAKI,MAAL,GAAc,KAAKF,UAAL,CAAgBG,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKF,UAAL,CAAgBI,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,KAAKR,YAAL,EAAb;AACA,UAAMW,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;;;EA1CqCS,mB","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"}
@@ -7,14 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _rasteTile = _interopRequireDefault(require("./raste-tile"));
10
+ var _tileModel = _interopRequireDefault(require("../../tile/models/tileModel"));
11
11
 
12
12
  var _raster = _interopRequireDefault(require("./raster"));
13
13
 
14
14
  var RasterModels = {
15
15
  raster: _raster.default,
16
16
  raster3d: _raster.default,
17
- rasterTile: _rasteTile.default
17
+ rasterTile: _tileModel.default
18
18
  };
19
19
  var _default = RasterModels;
20
20
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterModels","raster","RasterModel","raster3d","rasterTile","RasterTileModel"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA,IAAMA,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEC,eAD8C;AAEtDC,EAAAA,QAAQ,EAAED,eAF4C;AAGtDE,EAAAA,UAAU,EAAEC;AAH0C,CAAxD;eAMeL,Y","sourcesContent":["import RasterTileModel from './raste-tile';\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"}
1
+ {"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterModels","raster","RasterModel","raster3d","rasterTile","RasterTileModel"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA,IAAMA,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEC,eAD8C;AAEtDC,EAAAA,QAAQ,EAAED,eAF4C;AAGtDE,EAAAA,UAAU,EAAEC;AAH0C,CAAxD;eAMeL,Y","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"}
@@ -21,6 +21,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
21
21
 
22
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
23
 
24
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
25
+
24
26
  var _l7Core = require("@antv/l7-core");
25
27
 
26
28
  var _l7Utils = require("@antv/l7-utils");
@@ -53,6 +55,7 @@ var RasterModel = function (_BaseModel) {
53
55
  _this = _super.call.apply(_super, [this].concat(args));
54
56
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "texture", void 0);
55
57
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "colorTexture", void 0);
58
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "rampColors", void 0);
56
59
  return _this;
57
60
  }
58
61
 
@@ -69,9 +72,14 @@ var RasterModel = function (_BaseModel) {
69
72
  _ref$noDataValue = _ref.noDataValue,
70
73
  noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
71
74
  _ref$domain = _ref.domain,
72
- domain = _ref$domain === void 0 ? [0, 1] : _ref$domain;
75
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
76
+ rampColors = _ref.rampColors;
77
+
78
+ if (!(0, _isEqual2.default)(this.rampColors, rampColors)) {
79
+ this.updateColorTexure();
80
+ this.rampColors = rampColors;
81
+ }
73
82
 
74
- this.updateColorTexure();
75
83
  return {
76
84
  u_opacity: opacity || 1,
77
85
  u_texture: this.texture,
@@ -85,13 +93,13 @@ var RasterModel = function (_BaseModel) {
85
93
  }, {
86
94
  key: "initModels",
87
95
  value: function initModels() {
88
- this.layer.isLayerGroup = false;
89
-
90
96
  var _ref2 = this.layer.getLayerConfig(),
91
97
  _ref2$mask = _ref2.mask,
92
98
  mask = _ref2$mask === void 0 ? false : _ref2$mask,
93
99
  _ref2$maskInside = _ref2.maskInside,
94
- maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
100
+ maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside,
101
+ rampColorsData = _ref2.rampColorsData,
102
+ rampColors = _ref2.rampColors;
95
103
 
96
104
  var source = this.layer.getSource();
97
105
  var createTexture2D = this.rendererService.createTexture2D;
@@ -103,11 +111,7 @@ var RasterModel = function (_BaseModel) {
103
111
  format: _l7Core.gl.LUMINANCE,
104
112
  type: _l7Core.gl.FLOAT
105
113
  });
106
-
107
- var _ref3 = this.layer.getLayerConfig(),
108
- rampColors = _ref3.rampColors;
109
-
110
- var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
114
+ var imageData = rampColorsData ? rampColorsData : (0, _l7Utils.generateColorRamp)(rampColors);
111
115
  this.colorTexture = createTexture2D({
112
116
  data: imageData.data,
113
117
  width: imageData.width,
@@ -132,6 +136,14 @@ var RasterModel = function (_BaseModel) {
132
136
  value: function buildModels() {
133
137
  return this.initModels();
134
138
  }
139
+ }, {
140
+ key: "clearModels",
141
+ value: function clearModels() {
142
+ var _this$texture, _this$colorTexture;
143
+
144
+ (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
145
+ (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
146
+ }
135
147
  }, {
136
148
  key: "registerBuiltinAttributes",
137
149
  value: function registerBuiltinAttributes() {
@@ -157,8 +169,8 @@ var RasterModel = function (_BaseModel) {
157
169
  value: function updateColorTexure() {
158
170
  var createTexture2D = this.rendererService.createTexture2D;
159
171
 
160
- var _ref4 = this.layer.getLayerConfig(),
161
- rampColors = _ref4.rampColors;
172
+ var _ref3 = this.layer.getLayerConfig(),
173
+ rampColors = _ref3.rampColors;
162
174
 
163
175
  var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
164
176
  this.colorTexture = createTexture2D({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["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","isLayerGroup","mask","maskInside","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","width","height","format","gl","LUMINANCE","type","FLOAT","rampColors","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","RasterImageTriangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","initModels","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","BaseModel"],"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 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 public getUninforms() {\n const {\n opacity = 1,\n clampLow = true,\n clampHigh = true,\n noDataValue = -9999999,\n domain = [0, 1],\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n this.updateColorTexure();\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 // 指定当前 layer 当作普通的 layer 进行渲染\n this.layer.isLayerGroup = false;\n\n const {\n mask = false,\n maskInside = true,\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 {\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 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 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"}
1
+ {"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["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","gl","LUMINANCE","type","FLOAT","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","RasterImageTriangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","initModels","destroy","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","BaseModel"],"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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"interface.js"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
25
+
26
+ var _eventemitter = _interopRequireDefault(require("eventemitter3"));
27
+
28
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
29
+
30
+ 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; } }
31
+
32
+ var TileConfigManager = function (_EventEmitter) {
33
+ (0, _inherits2.default)(TileConfigManager, _EventEmitter);
34
+
35
+ var _super = _createSuper(TileConfigManager);
36
+
37
+ function TileConfigManager() {
38
+ var _this;
39
+
40
+ (0, _classCallCheck2.default)(this, TileConfigManager);
41
+ _this = _super.call(this);
42
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "cacheConfig", void 0);
43
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "checkConfigList", []);
44
+ _this.cacheConfig = new Map();
45
+ return _this;
46
+ }
47
+
48
+ (0, _createClass2.default)(TileConfigManager, [{
49
+ key: "setConfig",
50
+ value: function setConfig(key, value) {
51
+ if (!this.checkConfigList.includes(key)) {
52
+ this.checkConfigList.push(key);
53
+ }
54
+
55
+ this.cacheConfig.set(key, value);
56
+ }
57
+ }, {
58
+ key: "removeConfig",
59
+ value: function removeConfig(key) {
60
+ var configIndex = this.checkConfigList.indexOf(key);
61
+
62
+ if (configIndex > -1) {
63
+ this.cacheConfig.delete(key);
64
+ this.checkConfigList.splice(configIndex, 1);
65
+ }
66
+ }
67
+ }, {
68
+ key: "checkConfig",
69
+ value: function checkConfig(layer) {
70
+ var _this2 = this;
71
+
72
+ if (!layer.inited) {
73
+ return;
74
+ }
75
+
76
+ var layerConfig = layer.getLayerConfig();
77
+ var updateConfigs = [];
78
+ this.checkConfigList.map(function (key) {
79
+ var cacheConfig = _this2.cacheConfig.get(key);
80
+
81
+ var currentConfig;
82
+
83
+ if (['color', 'size', 'shape'].includes(key)) {
84
+ var _layer$getAttribute;
85
+
86
+ currentConfig = (_layer$getAttribute = layer.getAttribute(key)) === null || _layer$getAttribute === void 0 ? void 0 : _layer$getAttribute.scale;
87
+ } else {
88
+ if (!(key in layerConfig)) {
89
+ return;
90
+ }
91
+
92
+ currentConfig = layerConfig[key];
93
+ }
94
+
95
+ if (!(0, _isEqual2.default)(cacheConfig, currentConfig)) {
96
+ updateConfigs.push(key);
97
+
98
+ _this2.setConfig(key, currentConfig);
99
+ }
100
+ });
101
+
102
+ if (updateConfigs.length > 0) {
103
+ console.warn('tile config cache update!', updateConfigs);
104
+ this.emit('updateConfig', updateConfigs);
105
+ }
106
+ }
107
+ }, {
108
+ key: "getAttributeScale",
109
+ value: function getAttributeScale(layer, name) {
110
+ var attribute = layer.getAttribute(name);
111
+ var scaleValue = {
112
+ field: undefined,
113
+ values: undefined,
114
+ callback: undefined
115
+ };
116
+
117
+ if (attribute && attribute.scale) {
118
+ var _attribute$scale = attribute.scale,
119
+ field = _attribute$scale.field,
120
+ values = _attribute$scale.values,
121
+ callback = _attribute$scale.callback;
122
+ scaleValue.field = field;
123
+ scaleValue.values = values;
124
+ scaleValue.callback = callback;
125
+ }
126
+
127
+ return scaleValue;
128
+ }
129
+ }]);
130
+ return TileConfigManager;
131
+ }(_eventemitter.default);
132
+
133
+ exports.default = TileConfigManager;
134
+ //# sourceMappingURL=tileConfigManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tile/manager/tileConfigManager.ts"],"names":["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","EventEmitter"],"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,305 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TileLayerManager = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var _l7Utils = require("@antv/l7-utils");
19
+
20
+ var _tileFactory = require("../tileFactory");
21
+
22
+ var _utils = require("../utils");
23
+
24
+ var _tileConfigManager = _interopRequireDefault(require("./tileConfigManager"));
25
+
26
+ var _tilePickerManager = _interopRequireDefault(require("./tilePickerManager"));
27
+
28
+ var TileLayerManager = function () {
29
+ function TileLayerManager(parent, mapService, rendererService, pickingService, layerService) {
30
+ (0, _classCallCheck2.default)(this, TileLayerManager);
31
+ (0, _defineProperty2.default)(this, "sourceLayer", void 0);
32
+ (0, _defineProperty2.default)(this, "parent", void 0);
33
+ (0, _defineProperty2.default)(this, "children", void 0);
34
+ (0, _defineProperty2.default)(this, "mapService", void 0);
35
+ (0, _defineProperty2.default)(this, "rendererService", void 0);
36
+ (0, _defineProperty2.default)(this, "tilePickManager", void 0);
37
+ (0, _defineProperty2.default)(this, "tileConfigManager", void 0);
38
+ (0, _defineProperty2.default)(this, "tileFactory", void 0);
39
+ (0, _defineProperty2.default)(this, "initOptions", void 0);
40
+ (0, _defineProperty2.default)(this, "rampColorsData", void 0);
41
+ this.parent = parent;
42
+ this.children = parent.layerChildren;
43
+ this.mapService = mapService;
44
+ this.rendererService = rendererService;
45
+ this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, this.children, layerService);
46
+ this.tileConfigManager = new _tileConfigManager.default();
47
+ this.setSubLayerInitOptipn();
48
+ this.setConfigListener();
49
+ this.initTileFactory();
50
+ }
51
+
52
+ (0, _createClass2.default)(TileLayerManager, [{
53
+ key: "createTile",
54
+ value: function createTile(tile) {
55
+ return this.tileFactory.createTile(tile, this.initOptions);
56
+ }
57
+ }, {
58
+ key: "updateLayersConfig",
59
+ value: function updateLayersConfig(layers, key, value) {
60
+ layers.map(function (layer) {
61
+ if (key === 'mask') {
62
+ layer.style({
63
+ mask: value
64
+ });
65
+ } else {
66
+ layer.updateLayerConfig((0, _defineProperty2.default)({}, key, value));
67
+ }
68
+ });
69
+ }
70
+ }, {
71
+ key: "addChild",
72
+ value: function addChild(layer) {
73
+ this.children.push(layer);
74
+ }
75
+ }, {
76
+ key: "addChilds",
77
+ value: function addChilds(layers) {
78
+ var _this$children;
79
+
80
+ (_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
81
+ }
82
+ }, {
83
+ key: "removeChilds",
84
+ value: function removeChilds(layerIDList) {
85
+ var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
86
+ var remveLayerList = [];
87
+ var cacheLayerList = [];
88
+ this.children.filter(function (child) {
89
+ layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
90
+ });
91
+ remveLayerList.map(function (layer) {
92
+ return layer.destroy(refresh);
93
+ });
94
+ this.children = cacheLayerList;
95
+ }
96
+ }, {
97
+ key: "removeChild",
98
+ value: function removeChild(layer) {
99
+ var layerIndex = this.children.indexOf(layer);
100
+
101
+ if (layerIndex > -1) {
102
+ this.children.splice(layerIndex, 1);
103
+ }
104
+
105
+ layer.destroy();
106
+ }
107
+ }, {
108
+ key: "getChilds",
109
+ value: function getChilds(layerIDList) {
110
+ return this.children.filter(function (child) {
111
+ return layerIDList.includes(child.id);
112
+ });
113
+ }
114
+ }, {
115
+ key: "getChild",
116
+ value: function getChild(layerID) {
117
+ return this.children.filter(function (child) {
118
+ return child.id === layerID;
119
+ })[0];
120
+ }
121
+ }, {
122
+ key: "clearChild",
123
+ value: function clearChild() {
124
+ this.children.forEach(function (layer) {
125
+ layer.destroy();
126
+ });
127
+ this.children.slice(0, this.children.length);
128
+ }
129
+ }, {
130
+ key: "hasChild",
131
+ value: function hasChild(layer) {
132
+ return this.children.includes(layer);
133
+ }
134
+ }, {
135
+ key: "render",
136
+ value: function render() {
137
+ var _this$tileConfigManag, _this$tilePickManager;
138
+
139
+ (_this$tileConfigManag = this.tileConfigManager) === null || _this$tileConfigManag === void 0 ? void 0 : _this$tileConfigManag.checkConfig(this.parent);
140
+ (_this$tilePickManager = this.tilePickManager) === null || _this$tilePickManager === void 0 ? void 0 : _this$tilePickManager.normalRender(this.children);
141
+ }
142
+ }, {
143
+ key: "pickLayers",
144
+ value: function pickLayers(target) {
145
+ var _this$tilePickManager2;
146
+
147
+ return (_this$tilePickManager2 = this.tilePickManager) === null || _this$tilePickManager2 === void 0 ? void 0 : _this$tilePickManager2.pickRender(this.children, target);
148
+ }
149
+ }, {
150
+ key: "setSubLayerInitOptipn",
151
+ value: function setSubLayerInitOptipn() {
152
+ var _source$data;
153
+
154
+ var _ref = this.parent.getLayerConfig(),
155
+ _ref$zIndex = _ref.zIndex,
156
+ zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex,
157
+ _ref$opacity = _ref.opacity,
158
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
159
+ _ref$mask = _ref.mask,
160
+ mask = _ref$mask === void 0 ? false : _ref$mask,
161
+ _ref$stroke = _ref.stroke,
162
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke,
163
+ _ref$strokeWidth = _ref.strokeWidth,
164
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
165
+ _ref$strokeOpacity = _ref.strokeOpacity,
166
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
167
+ _ref$clampLow = _ref.clampLow,
168
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
169
+ _ref$clampHigh = _ref.clampHigh,
170
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
171
+ _ref$domain = _ref.domain,
172
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
173
+ _ref$rampColors = _ref.rampColors,
174
+ rampColors = _ref$rampColors === void 0 ? {
175
+ colors: ['rgb(166,97,26)', 'rgb(223,194,125)', 'rgb(245,245,245)', 'rgb(128,205,193)', 'rgb(1,133,113)'],
176
+ positions: [0, 0.25, 0.5, 0.75, 1.0]
177
+ } : _ref$rampColors,
178
+ _ref$featureId = _ref.featureId,
179
+ featureId = _ref$featureId === void 0 ? 'id' : _ref$featureId,
180
+ sourceLayer = _ref.sourceLayer;
181
+
182
+ var colorValue = this.tileConfigManager.getAttributeScale(this.parent, 'color');
183
+ var sizeValue = this.tileConfigManager.getAttributeScale(this.parent, 'size');
184
+ var source = this.parent.getSource();
185
+
186
+ var _ref2 = (source === null || source === void 0 ? void 0 : (_source$data = source.data) === null || _source$data === void 0 ? void 0 : _source$data.tilesetOptions) || {},
187
+ coords = _ref2.coords;
188
+
189
+ var layerShape = (0, _utils.getLayerShape)(this.parent.type, this.parent);
190
+
191
+ if (rampColors) {
192
+ this.rampColorsData = (0, _l7Utils.generateColorRamp)(rampColors);
193
+ }
194
+
195
+ this.initOptions = {
196
+ layerType: this.parent.type,
197
+ shape: layerShape,
198
+ zIndex: zIndex,
199
+ opacity: opacity,
200
+ sourceLayer: sourceLayer,
201
+ coords: coords,
202
+ featureId: featureId,
203
+ color: colorValue,
204
+ size: sizeValue,
205
+ mask: (0, _utils.getMaskValue)(this.parent.type, mask),
206
+ stroke: stroke,
207
+ strokeWidth: strokeWidth,
208
+ strokeOpacity: strokeOpacity,
209
+ clampLow: clampLow,
210
+ clampHigh: clampHigh,
211
+ domain: domain,
212
+ rampColors: rampColors,
213
+ rampColorsData: this.rampColorsData
214
+ };
215
+ }
216
+ }, {
217
+ key: "setConfigListener",
218
+ value: function setConfigListener() {
219
+ var _this = this;
220
+
221
+ this.tileConfigManager.setConfig('opacity', this.initOptions.opacity);
222
+ this.tileConfigManager.setConfig('zIndex', this.initOptions.zIndex);
223
+ this.tileConfigManager.setConfig('mask', this.initOptions.mask);
224
+
225
+ if (this.parent.type === 'RasterLayer') {
226
+ this.tileConfigManager.setConfig('rampColors', this.initOptions.rampColors);
227
+ this.tileConfigManager.setConfig('domain', this.initOptions.domain);
228
+ this.tileConfigManager.setConfig('clampHigh', this.initOptions.clampHigh);
229
+ this.tileConfigManager.setConfig('clampLow', this.initOptions.clampLow);
230
+ } else {
231
+ var _this$parent$getAttri, _this$parent$getAttri2, _this$parent$getAttri3;
232
+
233
+ this.tileConfigManager.setConfig('stroke', this.initOptions.stroke);
234
+ this.tileConfigManager.setConfig('strokeWidth', this.initOptions.strokeWidth);
235
+ this.tileConfigManager.setConfig('strokeOpacity', this.initOptions.strokeOpacity);
236
+ this.tileConfigManager.setConfig('color', (_this$parent$getAttri = this.parent.getAttribute('color')) === null || _this$parent$getAttri === void 0 ? void 0 : _this$parent$getAttri.scale);
237
+ this.tileConfigManager.setConfig('shape', (_this$parent$getAttri2 = this.parent.getAttribute('shape')) === null || _this$parent$getAttri2 === void 0 ? void 0 : _this$parent$getAttri2.scale);
238
+ this.tileConfigManager.setConfig('size', (_this$parent$getAttri3 = this.parent.getAttribute('size')) === null || _this$parent$getAttri3 === void 0 ? void 0 : _this$parent$getAttri3.scale);
239
+ }
240
+
241
+ this.tileConfigManager.on('updateConfig', function (updateConfigs) {
242
+ updateConfigs.map(function (key) {
243
+ _this.updateStyle(key);
244
+
245
+ return '';
246
+ });
247
+ });
248
+ }
249
+ }, {
250
+ key: "updateStyle",
251
+ value: function updateStyle(style) {
252
+ var _this2 = this;
253
+
254
+ var updateValue = null;
255
+
256
+ if (['size', 'color', 'shape'].includes(style)) {
257
+ var _this$parent$getAttri4;
258
+
259
+ var scaleValue = (_this$parent$getAttri4 = this.parent.getAttribute(style)) === null || _this$parent$getAttri4 === void 0 ? void 0 : _this$parent$getAttri4.scale;
260
+
261
+ if (!scaleValue) {
262
+ return;
263
+ }
264
+
265
+ updateValue = scaleValue;
266
+ this.children.map(function (child) {
267
+ _this2.tileFactory.setStyleAttributeField(child, style, scaleValue);
268
+
269
+ return '';
270
+ });
271
+ } else {
272
+ var layerConfig = this.parent.getLayerConfig();
273
+
274
+ if (!(style in layerConfig)) {
275
+ return;
276
+ }
277
+
278
+ var config = layerConfig[style];
279
+ updateValue = config;
280
+ this.updateLayersConfig(this.children, style, config);
281
+
282
+ if (style === 'rampColors' && config) {
283
+ this.rampColorsData = (0, _l7Utils.generateColorRamp)(config);
284
+ }
285
+ }
286
+
287
+ this.initOptions[style] = updateValue;
288
+ }
289
+ }, {
290
+ key: "initTileFactory",
291
+ value: function initTileFactory() {
292
+ var source = this.parent.getSource();
293
+ var TileFactory = (0, _tileFactory.getTileFactory)(this.parent.type, source.parser);
294
+ this.tileFactory = new TileFactory({
295
+ parent: this.parent,
296
+ mapService: this.mapService,
297
+ rendererService: this.rendererService
298
+ });
299
+ }
300
+ }]);
301
+ return TileLayerManager;
302
+ }();
303
+
304
+ exports.TileLayerManager = TileLayerManager;
305
+ //# sourceMappingURL=tileLayerManager.js.map