@antv/l7-layers 2.10.1 → 2.10.2

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 (353) hide show
  1. package/es/Geometry/index.d.ts +2 -3
  2. package/es/Geometry/index.js +27 -17
  3. package/es/Geometry/models/billboard.d.ts +2 -2
  4. package/es/Geometry/models/billboard.js +77 -37
  5. package/es/Geometry/models/plane.d.ts +2 -2
  6. package/es/Geometry/models/plane.js +80 -40
  7. package/es/Geometry/models/sprite.d.ts +2 -2
  8. package/es/Geometry/models/sprite.js +83 -45
  9. package/es/canvas/index.d.ts +3 -4
  10. package/es/canvas/index.js +35 -24
  11. package/es/canvas/models/canvas.d.ts +2 -2
  12. package/es/canvas/models/canvas.js +54 -15
  13. package/es/citybuliding/building.d.ts +2 -3
  14. package/es/citybuliding/building.js +26 -17
  15. package/es/citybuliding/models/build.d.ts +2 -2
  16. package/es/citybuliding/models/build.js +70 -25
  17. package/es/core/BaseLayer.d.ts +21 -18
  18. package/es/core/BaseLayer.js +391 -261
  19. package/es/core/BaseModel.d.ts +2 -2
  20. package/es/core/BaseModel.js +47 -6
  21. package/es/core/LayerPickService.d.ts +9 -0
  22. package/es/core/LayerPickService.js +85 -0
  23. package/es/core/triangulation.js +8 -1
  24. package/es/earth/index.d.ts +3 -3
  25. package/es/earth/index.js +28 -9
  26. package/es/earth/models/atmosphere.d.ts +2 -2
  27. package/es/earth/models/atmosphere.js +67 -22
  28. package/es/earth/models/base.d.ts +2 -2
  29. package/es/earth/models/base.js +89 -43
  30. package/es/earth/models/bloomsphere.d.ts +2 -2
  31. package/es/earth/models/bloomsphere.js +67 -22
  32. package/es/heatmap/index.d.ts +2 -3
  33. package/es/heatmap/index.js +33 -22
  34. package/es/heatmap/models/grid.d.ts +2 -2
  35. package/es/heatmap/models/grid.js +68 -27
  36. package/es/heatmap/models/grid3d.d.ts +2 -2
  37. package/es/heatmap/models/grid3d.js +69 -28
  38. package/es/heatmap/models/heatmap.d.ts +2 -2
  39. package/es/heatmap/models/heatmap.js +40 -14
  40. package/es/heatmap/models/hexagon.d.ts +2 -2
  41. package/es/heatmap/models/hexagon.js +69 -28
  42. package/es/image/index.d.ts +2 -3
  43. package/es/image/index.js +27 -17
  44. package/es/image/models/dataImage.d.ts +2 -2
  45. package/es/image/models/dataImage.js +93 -54
  46. package/es/image/models/image.d.ts +2 -2
  47. package/es/image/models/image.js +108 -67
  48. package/es/image/models/tileDataImage.d.ts +2 -2
  49. package/es/image/models/tileDataImage.js +84 -43
  50. package/es/index.d.ts +2 -2
  51. package/es/index.js +2 -2
  52. package/es/line/index.d.ts +5 -4
  53. package/es/line/index.js +51 -25
  54. package/es/line/models/arc.d.ts +2 -2
  55. package/es/line/models/arc.js +73 -38
  56. package/es/line/models/arc_3d.d.ts +2 -2
  57. package/es/line/models/arc_3d.js +69 -34
  58. package/es/line/models/earthArc_3d.d.ts +2 -2
  59. package/es/line/models/earthArc_3d.js +72 -37
  60. package/es/line/models/great_circle.d.ts +2 -2
  61. package/es/line/models/great_circle.js +70 -29
  62. package/es/line/models/half.d.ts +2 -2
  63. package/es/line/models/half.js +40 -17
  64. package/es/line/models/index.d.ts +1 -1
  65. package/es/line/models/index.js +0 -2
  66. package/es/line/models/line.d.ts +2 -2
  67. package/es/line/models/line.js +79 -47
  68. package/es/line/models/linearline.d.ts +2 -2
  69. package/es/line/models/linearline.js +70 -31
  70. package/es/line/models/simpleLine.d.ts +2 -2
  71. package/es/line/models/simpleLine.js +71 -34
  72. package/es/line/models/simpleTileLine.d.ts +2 -2
  73. package/es/line/models/simpleTileLine.js +70 -30
  74. package/es/line/models/tile.d.ts +2 -2
  75. package/es/line/models/tile.js +40 -17
  76. package/es/line/models/wall.d.ts +2 -2
  77. package/es/line/models/wall.js +67 -22
  78. package/es/mask/index.d.ts +2 -4
  79. package/es/mask/index.js +27 -97
  80. package/es/mask/models/fill.d.ts +2 -2
  81. package/es/mask/models/fill.js +40 -16
  82. package/es/mask/models/index.d.ts +1 -1
  83. package/es/mask/models/index.js +1 -3
  84. package/es/plugins/DataMappingPlugin.js +80 -66
  85. package/es/plugins/DataSourcePlugin.js +64 -25
  86. package/es/plugins/FeatureScalePlugin.js +84 -44
  87. package/es/plugins/LayerAnimateStylePlugin.js +6 -3
  88. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  89. package/es/plugins/LayerModelPlugin.js +124 -37
  90. package/es/plugins/LayerStylePlugin.js +1 -6
  91. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  92. package/es/plugins/PixelPickingPlugin.js +1 -1
  93. package/es/plugins/RegisterStyleAttributePlugin.js +4 -17
  94. package/es/plugins/ShaderUniformPlugin.js +7 -2
  95. package/es/plugins/UpdateStyleAttributePlugin.js +8 -5
  96. package/es/point/index.d.ts +4 -4
  97. package/es/point/index.js +55 -23
  98. package/es/point/models/earthExtrude.d.ts +2 -2
  99. package/es/point/models/earthExtrude.js +73 -30
  100. package/es/point/models/earthFill.d.ts +2 -2
  101. package/es/point/models/earthFill.js +66 -21
  102. package/es/point/models/extrude.d.ts +2 -2
  103. package/es/point/models/extrude.js +40 -17
  104. package/es/point/models/fill.d.ts +2 -2
  105. package/es/point/models/fill.js +43 -20
  106. package/es/point/models/fillmage.d.ts +2 -2
  107. package/es/point/models/fillmage.js +82 -43
  108. package/es/point/models/image.d.ts +2 -2
  109. package/es/point/models/image.js +72 -31
  110. package/es/point/models/index.d.ts +1 -1
  111. package/es/point/models/index.js +0 -2
  112. package/es/point/models/normal.d.ts +2 -2
  113. package/es/point/models/normal.js +71 -30
  114. package/es/point/models/radar.d.ts +2 -2
  115. package/es/point/models/radar.js +75 -35
  116. package/es/point/models/simplePoint.d.ts +2 -2
  117. package/es/point/models/simplePoint.js +70 -29
  118. package/es/point/models/text.d.ts +3 -2
  119. package/es/point/models/text.js +164 -107
  120. package/es/point/models/tile.d.ts +2 -2
  121. package/es/point/models/tile.js +77 -35
  122. package/es/point/models/tileText.d.ts +2 -2
  123. package/es/point/models/tileText.js +151 -116
  124. package/es/polygon/index.d.ts +2 -3
  125. package/es/polygon/index.js +27 -24
  126. package/es/polygon/models/extrude.d.ts +2 -2
  127. package/es/polygon/models/extrude.js +66 -29
  128. package/es/polygon/models/fill.d.ts +2 -2
  129. package/es/polygon/models/fill.js +76 -43
  130. package/es/polygon/models/index.d.ts +1 -1
  131. package/es/polygon/models/index.js +0 -2
  132. package/es/polygon/models/ocean.d.ts +2 -2
  133. package/es/polygon/models/ocean.js +69 -28
  134. package/es/polygon/models/tile.d.ts +2 -2
  135. package/es/polygon/models/tile.js +70 -30
  136. package/es/polygon/models/water.d.ts +2 -2
  137. package/es/polygon/models/water.js +69 -28
  138. package/es/raster/index.d.ts +3 -4
  139. package/es/raster/index.js +28 -22
  140. package/es/raster/models/index.d.ts +1 -1
  141. package/es/raster/models/index.js +1 -3
  142. package/es/raster/models/raster.d.ts +2 -2
  143. package/es/raster/models/raster.js +36 -13
  144. package/es/raster/models/rasterRgb.d.ts +2 -2
  145. package/es/raster/models/rasterRgb.js +36 -13
  146. package/es/raster/models/rasterTile.d.ts +2 -2
  147. package/es/raster/models/rasterTile.js +77 -36
  148. package/es/raster/raster.d.ts +1 -1
  149. package/es/raster/raster.js +42 -22
  150. package/es/tile/interaction/getRasterData.d.ts +2 -2
  151. package/es/tile/interaction/utils.js +3 -11
  152. package/es/tile/interface.d.ts +5 -4
  153. package/es/tile/manager/base.d.ts +17 -12
  154. package/es/tile/manager/base.js +212 -47
  155. package/es/tile/service/TileLayerService.d.ts +33 -0
  156. package/es/tile/service/TileLayerService.js +172 -0
  157. package/es/tile/service/TilePickService.d.ts +22 -0
  158. package/es/tile/service/TilePickService.js +124 -0
  159. package/es/tile/style/constants.d.ts +1 -13
  160. package/es/tile/style/constants.js +6 -15
  161. package/es/tile/style/utils.d.ts +1 -8
  162. package/es/tile/style/utils.js +0 -126
  163. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  164. package/es/tile/tileFactory/DebugTile.js +100 -0
  165. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  166. package/es/tile/tileFactory/ImageTile.js +89 -0
  167. package/es/tile/tileFactory/MaskTile.d.ts +17 -0
  168. package/es/tile/tileFactory/MaskTile.js +98 -0
  169. package/es/tile/tileFactory/RasterRGBTile.d.ts +16 -0
  170. package/es/tile/tileFactory/RasterRGBTile.js +91 -0
  171. package/es/tile/tileFactory/RasterTile.d.ts +27 -0
  172. package/es/tile/tileFactory/RasterTile.js +186 -0
  173. package/es/tile/tileFactory/Tile.d.ts +23 -0
  174. package/es/tile/tileFactory/Tile.js +136 -0
  175. package/es/tile/tileFactory/VectorTile.d.ts +20 -0
  176. package/es/tile/tileFactory/VectorTile.js +158 -0
  177. package/es/tile/tileFactory/index.d.ts +10 -4
  178. package/es/tile/tileFactory/index.js +30 -23
  179. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  180. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +33 -21
  181. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  182. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
  183. package/es/tile/tileFactory/util.d.ts +6 -0
  184. package/es/tile/tileFactory/util.js +33 -0
  185. package/es/tile/tileLayer/BaseLayer.d.ts +46 -0
  186. package/es/tile/tileLayer/BaseLayer.js +358 -0
  187. package/es/tile/utils.d.ts +1 -11
  188. package/es/tile/utils.js +0 -127
  189. package/es/utils/dataMappingStyle.d.ts +4 -4
  190. package/es/utils/dataMappingStyle.js +19 -19
  191. package/es/utils/layerData.js +5 -11
  192. package/es/wind/index.d.ts +2 -3
  193. package/es/wind/index.js +27 -17
  194. package/es/wind/models/wind.d.ts +2 -2
  195. package/es/wind/models/wind.js +120 -104
  196. package/lib/Geometry/index.js +29 -17
  197. package/lib/Geometry/models/billboard.js +79 -37
  198. package/lib/Geometry/models/plane.js +82 -40
  199. package/lib/Geometry/models/sprite.js +85 -45
  200. package/lib/canvas/index.js +37 -24
  201. package/lib/canvas/models/canvas.js +56 -15
  202. package/lib/citybuliding/building.js +28 -17
  203. package/lib/citybuliding/models/build.js +72 -25
  204. package/lib/core/BaseLayer.js +391 -256
  205. package/lib/core/BaseModel.js +48 -6
  206. package/lib/core/LayerPickService.js +96 -0
  207. package/lib/core/triangulation.js +8 -1
  208. package/lib/earth/index.js +30 -9
  209. package/lib/earth/models/atmosphere.js +69 -22
  210. package/lib/earth/models/base.js +90 -42
  211. package/lib/earth/models/bloomsphere.js +69 -22
  212. package/lib/heatmap/index.js +35 -22
  213. package/lib/heatmap/models/grid.js +70 -27
  214. package/lib/heatmap/models/grid3d.js +71 -28
  215. package/lib/heatmap/models/heatmap.js +40 -14
  216. package/lib/heatmap/models/hexagon.js +71 -28
  217. package/lib/image/index.js +29 -17
  218. package/lib/image/models/dataImage.js +95 -54
  219. package/lib/image/models/image.js +110 -67
  220. package/lib/image/models/tileDataImage.js +86 -43
  221. package/lib/index.js +5 -5
  222. package/lib/line/index.js +53 -26
  223. package/lib/line/models/arc.js +75 -38
  224. package/lib/line/models/arc_3d.js +71 -34
  225. package/lib/line/models/earthArc_3d.js +74 -37
  226. package/lib/line/models/great_circle.js +72 -29
  227. package/lib/line/models/half.js +40 -17
  228. package/lib/line/models/index.js +0 -3
  229. package/lib/line/models/line.js +81 -47
  230. package/lib/line/models/linearline.js +72 -31
  231. package/lib/line/models/simpleLine.js +73 -34
  232. package/lib/line/models/simpleTileLine.js +72 -30
  233. package/lib/line/models/tile.js +40 -17
  234. package/lib/line/models/wall.js +69 -22
  235. package/lib/mask/index.js +28 -99
  236. package/lib/mask/models/fill.js +40 -16
  237. package/lib/mask/models/index.js +1 -4
  238. package/lib/plugins/DataMappingPlugin.js +81 -65
  239. package/lib/plugins/DataSourcePlugin.js +71 -30
  240. package/lib/plugins/FeatureScalePlugin.js +86 -44
  241. package/lib/plugins/LayerAnimateStylePlugin.js +6 -3
  242. package/lib/plugins/LayerModelPlugin.js +131 -41
  243. package/lib/plugins/LayerStylePlugin.js +1 -6
  244. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  245. package/lib/plugins/PixelPickingPlugin.js +1 -1
  246. package/lib/plugins/RegisterStyleAttributePlugin.js +4 -17
  247. package/lib/plugins/ShaderUniformPlugin.js +7 -2
  248. package/lib/plugins/UpdateStyleAttributePlugin.js +8 -5
  249. package/lib/point/index.js +56 -24
  250. package/lib/point/models/earthExtrude.js +75 -30
  251. package/lib/point/models/earthFill.js +68 -21
  252. package/lib/point/models/extrude.js +40 -17
  253. package/lib/point/models/fill.js +44 -21
  254. package/lib/point/models/fillmage.js +84 -43
  255. package/lib/point/models/image.js +74 -31
  256. package/lib/point/models/index.js +0 -3
  257. package/lib/point/models/normal.js +73 -30
  258. package/lib/point/models/radar.js +77 -35
  259. package/lib/point/models/simplePoint.js +72 -29
  260. package/lib/point/models/text.js +164 -106
  261. package/lib/point/models/tile.js +79 -35
  262. package/lib/point/models/tileText.js +151 -115
  263. package/lib/polygon/index.js +29 -25
  264. package/lib/polygon/models/extrude.js +68 -29
  265. package/lib/polygon/models/fill.js +78 -43
  266. package/lib/polygon/models/index.js +0 -3
  267. package/lib/polygon/models/ocean.js +71 -28
  268. package/lib/polygon/models/tile.js +72 -30
  269. package/lib/polygon/models/water.js +71 -28
  270. package/lib/raster/index.js +30 -22
  271. package/lib/raster/models/index.js +1 -4
  272. package/lib/raster/models/raster.js +36 -13
  273. package/lib/raster/models/rasterRgb.js +36 -13
  274. package/lib/raster/models/rasterTile.js +79 -36
  275. package/lib/raster/raster.js +44 -22
  276. package/lib/tile/interaction/utils.js +3 -11
  277. package/lib/tile/manager/base.js +213 -47
  278. package/lib/tile/service/TileLayerService.js +185 -0
  279. package/lib/tile/service/TilePickService.js +136 -0
  280. package/lib/tile/style/constants.js +8 -19
  281. package/lib/tile/style/utils.js +0 -140
  282. package/lib/tile/tileFactory/DebugTile.js +115 -0
  283. package/lib/tile/tileFactory/ImageTile.js +104 -0
  284. package/lib/tile/tileFactory/MaskTile.js +113 -0
  285. package/lib/tile/tileFactory/RasterRGBTile.js +106 -0
  286. package/lib/tile/tileFactory/RasterTile.js +205 -0
  287. package/lib/tile/tileFactory/Tile.js +146 -0
  288. package/lib/tile/tileFactory/VectorTile.js +173 -0
  289. package/lib/tile/tileFactory/index.js +42 -24
  290. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +35 -21
  291. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  292. package/lib/tile/tileFactory/util.js +48 -0
  293. package/lib/tile/tileLayer/BaseLayer.js +373 -0
  294. package/lib/tile/utils.js +0 -146
  295. package/lib/utils/dataMappingStyle.js +21 -21
  296. package/lib/utils/layerData.js +4 -10
  297. package/lib/wind/index.js +29 -17
  298. package/lib/wind/models/wind.js +122 -104
  299. package/package.json +7 -7
  300. package/es/tile/interaction/TilePickService.d.ts +0 -16
  301. package/es/tile/interaction/TilePickService.js +0 -129
  302. package/es/tile/manager/layerManager.d.ts +0 -19
  303. package/es/tile/manager/layerManager.js +0 -254
  304. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  305. package/es/tile/manager/mapLayerManager.js +0 -119
  306. package/es/tile/models/tileModel.d.ts +0 -10
  307. package/es/tile/models/tileModel.js +0 -81
  308. package/es/tile/render/TileRenderService.d.ts +0 -10
  309. package/es/tile/render/TileRenderService.js +0 -68
  310. package/es/tile/style/TileStyleService.d.ts +0 -17
  311. package/es/tile/style/TileStyleService.js +0 -118
  312. package/es/tile/tileFactory/base.d.ts +0 -45
  313. package/es/tile/tileFactory/base.js +0 -403
  314. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  315. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  316. package/es/tile/tileFactory/line.d.ts +0 -12
  317. package/es/tile/tileFactory/line.js +0 -59
  318. package/es/tile/tileFactory/mask.d.ts +0 -12
  319. package/es/tile/tileFactory/mask.js +0 -60
  320. package/es/tile/tileFactory/point.d.ts +0 -12
  321. package/es/tile/tileFactory/point.js +0 -60
  322. package/es/tile/tileFactory/polygon.d.ts +0 -12
  323. package/es/tile/tileFactory/polygon.js +0 -59
  324. package/es/tile/tileFactory/raster.d.ts +0 -12
  325. package/es/tile/tileFactory/raster.js +0 -55
  326. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  327. package/es/tile/tileFactory/rasterData.js +0 -81
  328. package/es/tile/tileFactory/test.d.ts +0 -12
  329. package/es/tile/tileFactory/test.js +0 -94
  330. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  331. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  332. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  333. package/es/tile/tileLayer/TileLayer.js +0 -198
  334. package/es/tile/tileLayer/base.d.ts +0 -33
  335. package/es/tile/tileLayer/base.js +0 -212
  336. package/lib/tile/interaction/TilePickService.js +0 -143
  337. package/lib/tile/manager/layerManager.js +0 -275
  338. package/lib/tile/manager/mapLayerManager.js +0 -134
  339. package/lib/tile/models/tileModel.js +0 -94
  340. package/lib/tile/render/TileRenderService.js +0 -78
  341. package/lib/tile/style/TileStyleService.js +0 -133
  342. package/lib/tile/tileFactory/base.js +0 -427
  343. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  344. package/lib/tile/tileFactory/line.js +0 -70
  345. package/lib/tile/tileFactory/mask.js +0 -71
  346. package/lib/tile/tileFactory/point.js +0 -71
  347. package/lib/tile/tileFactory/polygon.js +0 -70
  348. package/lib/tile/tileFactory/raster.js +0 -68
  349. package/lib/tile/tileFactory/rasterData.js +0 -93
  350. package/lib/tile/tileFactory/test.js +0 -106
  351. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  352. package/lib/tile/tileLayer/TileLayer.js +0 -215
  353. package/lib/tile/tileLayer/base.js +0 -225
@@ -0,0 +1,186 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
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 { TYPES } from '@antv/l7-core';
15
+ import { generateColorRamp } from '@antv/l7-utils';
16
+ import RasterLayer from "./layers/RasterDataLayer";
17
+ import Tile from "./Tile";
18
+ import { isEqual } from 'lodash';
19
+ var COLOR_TEXTURE = 'raster-colorTexture';
20
+ var COLOR_TEXTURE_OPTION = 'raster-colorTexture-option';
21
+ var DEFAULT_COLOR_TEXTURE_OPTION = {
22
+ positions: [0, 1],
23
+ colors: ['#000', '#fff']
24
+ };
25
+
26
+ var RasterTile = /*#__PURE__*/function (_Tile) {
27
+ _inherits(RasterTile, _Tile);
28
+
29
+ var _super = _createSuper(RasterTile);
30
+
31
+ function RasterTile() {
32
+ _classCallCheck(this, RasterTile);
33
+
34
+ return _super.apply(this, arguments);
35
+ }
36
+
37
+ _createClass(RasterTile, [{
38
+ key: "initTileLayer",
39
+ value: function () {
40
+ var _initTileLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
41
+ var attributes, layerOptions, sourceOptions, layer;
42
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
43
+ while (1) {
44
+ switch (_context.prev = _context.next) {
45
+ case 0:
46
+ attributes = this.parent.getLayerAttributeConfig();
47
+ layerOptions = this.parent.getLayerConfig();
48
+ sourceOptions = this.getSourceOption();
49
+ this.initColorTexture();
50
+ layer = new RasterLayer(_objectSpread(_objectSpread({}, layerOptions), {}, {
51
+ colorTexture: this.colorTexture
52
+ })).source(sourceOptions.data, sourceOptions.options); // 初始化数据映射
53
+
54
+ attributes && Object.keys(attributes).forEach(function (type) {
55
+ var _attributes$attr, _attributes$attr2;
56
+
57
+ var attr = type; // @ts-ignore
58
+
59
+ layer[attr]((_attributes$attr = attributes[attr]) === null || _attributes$attr === void 0 ? void 0 : _attributes$attr.field, (_attributes$attr2 = attributes[attr]) === null || _attributes$attr2 === void 0 ? void 0 : _attributes$attr2.values);
60
+ });
61
+ _context.next = 8;
62
+ return this.addLayer(layer);
63
+
64
+ case 8:
65
+ this.isLoaded = true;
66
+
67
+ case 9:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }
72
+ }, _callee, this);
73
+ }));
74
+
75
+ function initTileLayer() {
76
+ return _initTileLayer.apply(this, arguments);
77
+ }
78
+
79
+ return initTileLayer;
80
+ }()
81
+ }, {
82
+ key: "getSourceOption",
83
+ value: function getSourceOption() {
84
+ var rawSource = this.parent.getSource();
85
+ return {
86
+ data: this.sourceTile.data.data,
87
+ options: {
88
+ parser: {
89
+ type: 'raster',
90
+ extent: this.sourceTile.bounds,
91
+ width: this.sourceTile.data.width,
92
+ height: this.sourceTile.data.height
93
+ },
94
+ transforms: rawSource.transforms
95
+ }
96
+ };
97
+ }
98
+ }, {
99
+ key: "getTileResource",
100
+ value: function getTileResource() {
101
+ return this.parent.tileLayer.tileLayerService.tileResource;
102
+ }
103
+ }, {
104
+ key: "initColorTexture",
105
+ value: function initColorTexture() {
106
+ var tileResource = this.getTileResource();
107
+ var colorTexture = tileResource.get(COLOR_TEXTURE);
108
+
109
+ if (colorTexture) {
110
+ this.colorTexture = colorTexture;
111
+ } else {
112
+ var container = this.parent.getContainer();
113
+ var rendererService = container.get(TYPES.IRendererService);
114
+
115
+ var _ref = this.parent.getLayerConfig(),
116
+ _ref$rampColors = _ref.rampColors,
117
+ rampColors = _ref$rampColors === void 0 ? DEFAULT_COLOR_TEXTURE_OPTION : _ref$rampColors;
118
+
119
+ this.colorTexture = this.createColorTexture(rampColors, rendererService);
120
+ tileResource.set(COLOR_TEXTURE, this.colorTexture);
121
+ tileResource.set(COLOR_TEXTURE_OPTION, rampColors);
122
+ }
123
+ }
124
+ }, {
125
+ key: "updateColorTexture",
126
+ value: function updateColorTexture() {
127
+ var tileResource = this.getTileResource();
128
+ tileResource.delete(COLOR_TEXTURE);
129
+ this.initColorTexture();
130
+ }
131
+ /**
132
+ * 用于 style 更新 colorTexture 的优化
133
+ * @param arg
134
+ */
135
+
136
+ }, {
137
+ key: "styleUpdate",
138
+ value: function styleUpdate() {
139
+ var _this = this;
140
+
141
+ var tileResource = this.getTileResource();
142
+
143
+ for (var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++) {
144
+ arg[_key] = arguments[_key];
145
+ }
146
+
147
+ var _arg$rampColors = arg.rampColors,
148
+ rampColors = _arg$rampColors === void 0 ? DEFAULT_COLOR_TEXTURE_OPTION : _arg$rampColors;
149
+ var cacheRampColors = tileResource.get(COLOR_TEXTURE_OPTION);
150
+
151
+ if (!isEqual(rampColors, cacheRampColors)) {
152
+ this.updateColorTexture();
153
+ }
154
+
155
+ this.layers.forEach(function (layer) {
156
+ return layer.style({
157
+ colorTexture: _this.colorTexture
158
+ });
159
+ });
160
+ }
161
+ }, {
162
+ key: "createColorTexture",
163
+ value: function createColorTexture(config, rendererService) {
164
+ var createTexture2D = rendererService.createTexture2D;
165
+ var imageData = generateColorRamp(config);
166
+ var texture = createTexture2D({
167
+ data: imageData.data,
168
+ width: imageData.width,
169
+ height: imageData.height,
170
+ flipY: false
171
+ });
172
+ return texture;
173
+ }
174
+ }, {
175
+ key: "destroy",
176
+ value: function destroy() {
177
+ this.layers.forEach(function (layer) {
178
+ return layer.destroy();
179
+ });
180
+ }
181
+ }]);
182
+
183
+ return RasterTile;
184
+ }(Tile);
185
+
186
+ export { RasterTile as default };
@@ -0,0 +1,23 @@
1
+ import { ILayer, ILngLat, ITile } from '@antv/l7-core';
2
+ import { SourceTile } from '@antv/l7-utils';
3
+ export default abstract class Tile implements ITile {
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ key: string;
8
+ protected parent: ILayer;
9
+ sourceTile: SourceTile;
10
+ visible: boolean;
11
+ protected layers: ILayer[];
12
+ isLoaded: boolean;
13
+ constructor(sourceTile: SourceTile, parent: ILayer);
14
+ getLayers(): ILayer[];
15
+ styleUpdate(...arg: any): void;
16
+ abstract initTileLayer(): Promise<void>;
17
+ lnglatInBounds(lnglat: ILngLat): boolean;
18
+ protected addMask(layer: ILayer, mask: ILayer): Promise<void>;
19
+ protected addLayer(layer: ILayer): Promise<void>;
20
+ updateVisible(value: boolean): void;
21
+ updateOptions(key: string, value: any): void;
22
+ destroy(): void;
23
+ }
@@ -0,0 +1,136 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
5
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
7
+ import { createLayerContainer } from '@antv/l7-core';
8
+
9
+ var Tile = /*#__PURE__*/function () {
10
+ function Tile(sourceTile, parent) {
11
+ _classCallCheck(this, Tile);
12
+
13
+ _defineProperty(this, "visible", true);
14
+
15
+ _defineProperty(this, "layers", []);
16
+
17
+ _defineProperty(this, "isLoaded", false);
18
+
19
+ this.parent = parent;
20
+ this.sourceTile = sourceTile;
21
+ this.x = sourceTile.x;
22
+ this.y = sourceTile.y;
23
+ this.z = sourceTile.z;
24
+ this.key = "".concat(this.x, "_").concat(this.y, "_").concat(this.z);
25
+ }
26
+
27
+ _createClass(Tile, [{
28
+ key: "getLayers",
29
+ value: function getLayers() {
30
+ return this.layers;
31
+ } // eslint-disable-next-line @typescript-eslint/no-unused-vars
32
+
33
+ }, {
34
+ key: "styleUpdate",
35
+ value: function styleUpdate() {}
36
+ }, {
37
+ key: "lnglatInBounds",
38
+ value: function lnglatInBounds(lnglat) {
39
+ var _this$sourceTile$boun = _slicedToArray(this.sourceTile.bounds, 4),
40
+ minLng = _this$sourceTile$boun[0],
41
+ minLat = _this$sourceTile$boun[1],
42
+ maxLng = _this$sourceTile$boun[2],
43
+ maxLat = _this$sourceTile$boun[3];
44
+
45
+ var lng = lnglat.lng,
46
+ lat = lnglat.lat;
47
+ return lng >= minLng && lng <= maxLng && lat >= minLat && lat <= maxLat;
48
+ }
49
+ }, {
50
+ key: "addMask",
51
+ value: function () {
52
+ var _addMask = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(layer, mask) {
53
+ var container;
54
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
55
+ while (1) {
56
+ switch (_context.prev = _context.next) {
57
+ case 0:
58
+ container = createLayerContainer(this.parent.sceneContainer);
59
+ mask.setContainer(container, this.parent.sceneContainer);
60
+ _context.next = 4;
61
+ return mask.init();
62
+
63
+ case 4:
64
+ layer.addMaskLayer(mask);
65
+
66
+ case 5:
67
+ case "end":
68
+ return _context.stop();
69
+ }
70
+ }
71
+ }, _callee, this);
72
+ }));
73
+
74
+ function addMask(_x, _x2) {
75
+ return _addMask.apply(this, arguments);
76
+ }
77
+
78
+ return addMask;
79
+ }()
80
+ }, {
81
+ key: "addLayer",
82
+ value: function () {
83
+ var _addLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(layer) {
84
+ var container;
85
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
86
+ while (1) {
87
+ switch (_context2.prev = _context2.next) {
88
+ case 0:
89
+ // set flag
90
+ layer.isTileLayer = true;
91
+ container = createLayerContainer(this.parent.sceneContainer);
92
+ layer.setContainer(container, this.parent.sceneContainer);
93
+ this.layers.push(layer);
94
+ _context2.next = 6;
95
+ return layer.init();
96
+
97
+ case 6:
98
+ case "end":
99
+ return _context2.stop();
100
+ }
101
+ }
102
+ }, _callee2, this);
103
+ }));
104
+
105
+ function addLayer(_x3) {
106
+ return _addLayer.apply(this, arguments);
107
+ }
108
+
109
+ return addLayer;
110
+ }()
111
+ }, {
112
+ key: "updateVisible",
113
+ value: function updateVisible(value) {
114
+ this.visible = value;
115
+ this.updateOptions('visible', value);
116
+ }
117
+ }, {
118
+ key: "updateOptions",
119
+ value: function updateOptions(key, value) {
120
+ this.layers.forEach(function (l) {
121
+ l.updateLayerConfig(_defineProperty({}, key, value));
122
+ });
123
+ }
124
+ }, {
125
+ key: "destroy",
126
+ value: function destroy() {
127
+ this.layers.forEach(function (layer) {
128
+ return layer.destroy();
129
+ });
130
+ }
131
+ }]);
132
+
133
+ return Tile;
134
+ }();
135
+
136
+ export { Tile as default };
@@ -0,0 +1,20 @@
1
+ import { ILayer } from '@antv/l7-core';
2
+ import Tile from './Tile';
3
+ export default class VectorTile extends Tile {
4
+ initTileLayer(): Promise<void>;
5
+ protected beforeInit(): void;
6
+ protected getSourceOption(): false | {
7
+ data: {
8
+ type: string;
9
+ features: any;
10
+ };
11
+ options: {
12
+ parser: {
13
+ type: string;
14
+ featureId: string;
15
+ };
16
+ transforms: import("@antv/l7-core").ITransform[];
17
+ };
18
+ };
19
+ protected setLayerMinMaxZoom(layer: ILayer): void;
20
+ }
@@ -0,0 +1,158 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
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 Tile from "./Tile";
15
+ import { getTileLayer, getMaskLayer } from "./util";
16
+
17
+ var VectorTile = /*#__PURE__*/function (_Tile) {
18
+ _inherits(VectorTile, _Tile);
19
+
20
+ var _super = _createSuper(VectorTile);
21
+
22
+ function VectorTile() {
23
+ _classCallCheck(this, VectorTile);
24
+
25
+ return _super.apply(this, arguments);
26
+ }
27
+
28
+ _createClass(VectorTile, [{
29
+ key: "initTileLayer",
30
+ value: function () {
31
+ var _initTileLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
32
+ var attributes, layerOptions, vectorLayer, maskLayer, sourceOptions, layer, mask;
33
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
34
+ while (1) {
35
+ switch (_context.prev = _context.next) {
36
+ case 0:
37
+ attributes = this.parent.getLayerAttributeConfig();
38
+ layerOptions = this.parent.getLayerConfig();
39
+ vectorLayer = getTileLayer(this.parent.type);
40
+ maskLayer = getMaskLayer(this.parent.type);
41
+ layerOptions.mask = !!maskLayer;
42
+ sourceOptions = this.getSourceOption();
43
+
44
+ if (sourceOptions) {
45
+ _context.next = 9;
46
+ break;
47
+ }
48
+
49
+ this.isLoaded = true;
50
+ return _context.abrupt("return");
51
+
52
+ case 9:
53
+ layer = new vectorLayer(_objectSpread({}, layerOptions)).source(sourceOptions.data, sourceOptions.options); // 初始化数据映射
54
+
55
+ Object.keys(attributes).forEach(function (type) {
56
+ var _attributes$attr, _attributes$attr2;
57
+
58
+ var attr = type; // @ts-ignore
59
+
60
+ layer[attr]((_attributes$attr = attributes[attr]) === null || _attributes$attr === void 0 ? void 0 : _attributes$attr.field, (_attributes$attr2 = attributes[attr]) === null || _attributes$attr2 === void 0 ? void 0 : _attributes$attr2.values);
61
+ });
62
+
63
+ if (!maskLayer) {
64
+ _context.next = 15;
65
+ break;
66
+ }
67
+
68
+ mask = new maskLayer({
69
+ layerType: "MaskLayer"
70
+ }).source({
71
+ type: 'FeatureCollection',
72
+ features: [this.sourceTile.bboxPolygon]
73
+ }, {
74
+ parser: {
75
+ type: 'geojson'
76
+ }
77
+ }); // .style({
78
+ // opacity: 1
79
+ // });
80
+
81
+ _context.next = 15;
82
+ return this.addMask(layer, mask);
83
+
84
+ case 15:
85
+ _context.next = 17;
86
+ return this.addLayer(layer);
87
+
88
+ case 17:
89
+ this.setLayerMinMaxZoom(layer);
90
+ this.isLoaded = true;
91
+
92
+ case 19:
93
+ case "end":
94
+ return _context.stop();
95
+ }
96
+ }
97
+ }, _callee, this);
98
+ }));
99
+
100
+ function initTileLayer() {
101
+ return _initTileLayer.apply(this, arguments);
102
+ }
103
+
104
+ return initTileLayer;
105
+ }() // Todo 校验数据有效性
106
+
107
+ }, {
108
+ key: "beforeInit",
109
+ value: function beforeInit() {}
110
+ }, {
111
+ key: "getSourceOption",
112
+ value: function getSourceOption() {
113
+ var rawSource = this.parent.getSource();
114
+
115
+ var _this$parent$getLayer = this.parent.getLayerConfig(),
116
+ _this$parent$getLayer2 = _this$parent$getLayer.sourceLayer,
117
+ sourceLayer = _this$parent$getLayer2 === void 0 ? 'defaultLayer' : _this$parent$getLayer2,
118
+ _this$parent$getLayer3 = _this$parent$getLayer.featureId,
119
+ featureId = _this$parent$getLayer3 === void 0 ? 'id' : _this$parent$getLayer3;
120
+
121
+ var vectorLayer = this.sourceTile.data.layers[sourceLayer];
122
+
123
+ if (!vectorLayer) {
124
+ return false;
125
+ }
126
+
127
+ var features = vectorLayer.features;
128
+ return {
129
+ data: {
130
+ type: 'FeatureCollection',
131
+ features: features
132
+ },
133
+ options: {
134
+ parser: {
135
+ type: 'geojson',
136
+ featureId: featureId
137
+ },
138
+ transforms: rawSource.transforms
139
+ }
140
+ };
141
+ }
142
+ }, {
143
+ key: "setLayerMinMaxZoom",
144
+ value: function setLayerMinMaxZoom(layer) {
145
+ // 文本图层设置,可见范围
146
+ if (layer.getModelType() === 'text') {
147
+ layer.updateLayerConfig({
148
+ maxZoom: this.z + 1,
149
+ minZoom: this.z - 1
150
+ });
151
+ }
152
+ }
153
+ }]);
154
+
155
+ return VectorTile;
156
+ }(Tile);
157
+
158
+ export { VectorTile as default };
@@ -1,5 +1,11 @@
1
- import { IParserCfg } from '@antv/l7-core';
2
- import VectorLineTile from './line';
3
- export declare type TileType = 'PolygonLayer' | 'PointLayer' | 'LineLayer' | 'RasterLayer' | 'MaskLayer' | 'TileDebugLayer';
4
- export declare function getTileFactory(tileType: TileType, parser: IParserCfg): typeof VectorLineTile;
1
+ import { ILayer } from '@antv/l7-core';
2
+ import VectorTile from './VectorTile';
3
+ import DebugTile from './DebugTile';
4
+ import ImageTile from './ImageTile';
5
+ import RasterTile from './RasterTile';
6
+ import RasterRGBTile from './RasterRGBTile';
7
+ import MaskLayer from './MaskTile';
8
+ export declare type TileType = 'VectorTile' | 'DebugTile' | 'PolygonLayer' | 'PointLayer' | 'LineLayer' | 'RasterLayer' | 'image' | 'MaskLayer' | 'TileDebugLayer';
9
+ export declare function getTileFactory(layer: ILayer): typeof VectorTile | typeof DebugTile | typeof ImageTile | typeof RasterTile | typeof RasterRGBTile | typeof MaskLayer;
5
10
  export * from '../interface';
11
+ export * from './Tile';
@@ -1,38 +1,45 @@
1
- import { rasterDataTypes } from '@antv/l7-source';
2
- import VectorLineTile from "./line";
3
- import VectorPointLayer from "./point";
4
- import VectorPolygonTile from "./polygon";
5
- import VectorMask from "./mask";
6
- import RasterTileFactory from "./raster";
7
- import RasterDataFactory from "./rasterData";
8
- import TestTile from "./test";
9
- export function getTileFactory(tileType, parser) {
1
+ import VectorTile from "./VectorTile";
2
+ import DebugTile from "./DebugTile";
3
+ import ImageTile from "./ImageTile";
4
+ import RasterTile from "./RasterTile";
5
+ import RasterRGBTile from "./RasterRGBTile";
6
+ import MaskLayer from "./MaskTile";
7
+ export function getTileFactory(layer) {
8
+ var tileType = layer.type;
9
+
10
10
  switch (tileType) {
11
11
  case 'PolygonLayer':
12
- return VectorPolygonTile;
12
+ return VectorTile;
13
13
 
14
14
  case 'LineLayer':
15
- return VectorLineTile;
15
+ return VectorTile;
16
16
 
17
17
  case 'PointLayer':
18
- return VectorPointLayer;
19
-
20
- case 'MaskLayer':
21
- return VectorMask;
18
+ return VectorTile;
22
19
 
23
20
  case 'TileDebugLayer':
24
- return TestTile;
21
+ return DebugTile;
22
+
23
+ case 'MaskLayer':
24
+ return MaskLayer;
25
25
 
26
26
  case 'RasterLayer':
27
- if (rasterDataTypes.includes(parser.dataType)) {
28
- return RasterDataFactory;
29
- } else {
30
- return RasterTileFactory;
27
+ var dataType = layer.getSource().parser.dataType;
28
+
29
+ switch (dataType) {
30
+ case 'rgb':
31
+ return RasterRGBTile;
32
+
33
+ case 'arraybuffer':
34
+ return RasterTile;
35
+
36
+ default:
37
+ return ImageTile;
31
38
  }
32
39
 
33
40
  default:
34
- console.warn('Current Tile Not Exist!');
35
- return RasterTileFactory;
41
+ return VectorTile;
36
42
  }
37
43
  }
38
- export * from "../interface";
44
+ export * from "../interface";
45
+ export * from "./Tile";
@@ -4,8 +4,8 @@ import RasterModel from '../../../raster/models/rasterTile';
4
4
  import RasterRgbModel from '../../../raster/models/rasterRgb';
5
5
  export default class RasterTiffLayer extends BaseLayer<Partial<IRasterLayerStyleOptions>> {
6
6
  type: string;
7
- buildModels(): void;
8
- rebuildModels(): void;
9
- protected getModelType(): typeof RasterModel | typeof RasterRgbModel;
7
+ buildModels(): Promise<void>;
8
+ getModel(): typeof RasterRgbModel | typeof RasterModel;
9
+ getModelType(): string;
10
10
  protected getDefaultConfig(): {};
11
11
  }