@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.4

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 (342) hide show
  1. package/es/Geometry/index.js +6 -2
  2. package/es/Geometry/models/billboard.js +3 -7
  3. package/es/Geometry/models/plane.js +5 -7
  4. package/es/Geometry/models/sprite.js +4 -7
  5. package/es/canvas/index.d.ts +4 -0
  6. package/es/canvas/index.js +38 -2
  7. package/es/citybuliding/building.js +6 -2
  8. package/es/citybuliding/models/build.js +2 -3
  9. package/es/core/BaseLayer.d.ts +20 -12
  10. package/es/core/BaseLayer.js +61 -85
  11. package/es/core/BaseModel.d.ts +2 -2
  12. package/es/core/BaseModel.js +22 -19
  13. package/es/core/interface.d.ts +20 -1
  14. package/es/core/triangulation.d.ts +6 -0
  15. package/es/core/triangulation.js +64 -2
  16. package/es/earth/index.js +3 -1
  17. package/es/earth/models/atmosphere.js +4 -7
  18. package/es/earth/models/base.js +12 -18
  19. package/es/earth/models/bloomsphere.js +4 -8
  20. package/es/earth/shaders/atmosphere_frag.glsl +1 -1
  21. package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
  22. package/es/heatmap/index.d.ts +2 -2
  23. package/es/heatmap/index.js +7 -5
  24. package/es/heatmap/models/grid.js +1 -3
  25. package/es/heatmap/models/grid3d.js +4 -11
  26. package/es/heatmap/models/heatmap.js +8 -9
  27. package/es/heatmap/models/hexagon.js +2 -6
  28. package/es/heatmap/triangulation.js +0 -1
  29. package/es/image/index.d.ts +1 -1
  30. package/es/image/index.js +10 -3
  31. package/es/image/models/dataImage.d.ts +1 -1
  32. package/es/image/models/dataImage.js +14 -39
  33. package/es/image/models/image.js +5 -10
  34. package/es/image/models/index.d.ts +1 -1
  35. package/es/image/models/index.js +3 -1
  36. package/es/image/models/tileDataImage.d.ts +19 -0
  37. package/es/image/models/tileDataImage.js +174 -0
  38. package/es/line/index.d.ts +1 -0
  39. package/es/line/index.js +8 -2
  40. package/es/line/models/arc.js +10 -10
  41. package/es/line/models/arc_3d.js +8 -10
  42. package/es/line/models/earthArc_3d.js +8 -10
  43. package/es/line/models/great_circle.js +7 -7
  44. package/es/line/models/half.js +3 -4
  45. package/es/line/models/line.js +10 -9
  46. package/es/line/models/linearline.js +3 -4
  47. package/es/line/models/simpleLine.js +5 -4
  48. package/es/line/models/simpleTileLine.d.ts +9 -0
  49. package/es/line/models/simpleTileLine.js +100 -0
  50. package/es/line/models/tile.d.ts +1 -4
  51. package/es/line/models/tile.js +50 -223
  52. package/es/line/models/wall.js +11 -47
  53. package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
  54. package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
  55. package/es/line/shaders/line_arc2d_vert.glsl +2 -2
  56. package/es/line/shaders/line_arc_3d_frag.glsl +10 -10
  57. package/es/line/shaders/line_arc_3d_vert.glsl +5 -6
  58. package/es/line/shaders/line_arc_frag.glsl +9 -10
  59. package/es/line/shaders/line_arc_great_circle_frag.glsl +6 -6
  60. package/es/line/shaders/line_arc_great_circle_vert.glsl +2 -3
  61. package/es/line/shaders/line_arc_vert.glsl +6 -4
  62. package/es/line/shaders/line_bezier_vert.glsl +2 -2
  63. package/es/line/shaders/line_frag.glsl +5 -6
  64. package/es/line/shaders/line_vert.glsl +1 -1
  65. package/es/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
  66. package/es/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
  67. package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
  68. package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  69. package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
  70. package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  71. package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
  72. package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
  73. package/es/line/shaders/wall/wall_vert.glsl +77 -0
  74. package/es/mask/index.d.ts +1 -0
  75. package/es/mask/index.js +80 -5
  76. package/es/mask/models/fill.d.ts +2 -1
  77. package/es/mask/models/fill.js +13 -10
  78. package/es/mask/shaders/mask_vert.glsl +0 -6
  79. package/es/plugins/DataMappingPlugin.d.ts +4 -3
  80. package/es/plugins/DataMappingPlugin.js +129 -58
  81. package/es/plugins/DataSourcePlugin.js +3 -2
  82. package/es/plugins/FeatureScalePlugin.d.ts +0 -2
  83. package/es/plugins/FeatureScalePlugin.js +8 -51
  84. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
  85. package/es/plugins/LayerAnimateStylePlugin.js +7 -27
  86. package/es/plugins/LayerModelPlugin.js +2 -6
  87. package/es/plugins/LightingPlugin.js +1 -7
  88. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
  89. package/es/plugins/MultiPassRendererPlugin.js +4 -16
  90. package/es/plugins/PixelPickingPlugin.d.ts +1 -1
  91. package/es/plugins/PixelPickingPlugin.js +8 -28
  92. package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
  93. package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
  94. package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
  95. package/es/point/index.js +9 -6
  96. package/es/point/models/earthExtrude.d.ts +1 -1
  97. package/es/point/models/earthExtrude.js +9 -14
  98. package/es/point/models/earthFill.js +2 -2
  99. package/es/point/models/extrude.d.ts +1 -1
  100. package/es/point/models/extrude.js +9 -12
  101. package/es/point/models/fill.d.ts +1 -1
  102. package/es/point/models/fill.js +8 -9
  103. package/es/point/models/fillmage.js +5 -6
  104. package/es/point/models/image.js +3 -3
  105. package/es/point/models/index.d.ts +1 -1
  106. package/es/point/models/index.js +3 -3
  107. package/es/point/models/normal.d.ts +0 -1
  108. package/es/point/models/normal.js +9 -62
  109. package/es/point/models/radar.js +5 -70
  110. package/es/point/models/simplePoint.d.ts +0 -1
  111. package/es/point/models/simplePoint.js +2 -11
  112. package/es/point/models/text.js +7 -10
  113. package/es/point/models/tile.d.ts +0 -7
  114. package/es/point/models/tile.js +24 -158
  115. package/es/point/models/tileText.d.ts +0 -4
  116. package/es/point/models/tileText.js +99 -188
  117. package/es/point/shaders/animate/wave_frag.glsl +4 -4
  118. package/es/point/shaders/earth/fill_vert.glsl +0 -1
  119. package/es/point/shaders/fill_vert.glsl +0 -1
  120. package/es/point/shaders/normal_frag.glsl +1 -10
  121. package/es/point/shaders/normal_vert.glsl +5 -60
  122. package/es/point/shaders/radar/radar_frag.glsl +4 -15
  123. package/es/point/shaders/radar/radar_vert.glsl +4 -54
  124. package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
  125. package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
  126. package/es/point/shaders/tile/text_frag.glsl +33 -0
  127. package/es/point/shaders/tile/text_map_frag.glsl +31 -0
  128. package/es/point/shaders/tile/text_map_vert.glsl +38 -0
  129. package/es/point/shaders/tile/text_vert.glsl +48 -0
  130. package/es/polygon/index.js +6 -2
  131. package/es/polygon/models/extrude.js +4 -8
  132. package/es/polygon/models/fill.js +3 -4
  133. package/es/polygon/models/ocean.d.ts +0 -2
  134. package/es/polygon/models/ocean.js +13 -47
  135. package/es/polygon/models/tile.d.ts +1 -4
  136. package/es/polygon/models/tile.js +25 -57
  137. package/es/polygon/models/water.d.ts +0 -2
  138. package/es/polygon/models/water.js +13 -47
  139. package/es/polygon/shaders/polygon_frag.glsl +2 -2
  140. package/es/polygon/shaders/polygon_vert.glsl +2 -2
  141. package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  142. package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  143. package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  144. package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  145. package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  146. package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  147. package/es/raster/buffers/triangulation.js +1 -4
  148. package/es/raster/index.js +6 -2
  149. package/es/raster/models/raster.d.ts +1 -1
  150. package/es/raster/models/raster.js +6 -5
  151. package/es/shader/minify_frag.glsl +7 -0
  152. package/es/shader/minify_picking_frag.glsl +10 -0
  153. package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
  154. package/es/tile/manager/baseMapTileLayerManager.js +207 -0
  155. package/es/tile/manager/tileLayerManager.d.ts +2 -2
  156. package/es/tile/manager/tileLayerManager.js +12 -2
  157. package/es/tile/manager/tilePickerManager.d.ts +2 -3
  158. package/es/tile/manager/tilePickerManager.js +1 -2
  159. package/es/tile/models/tileModel.d.ts +1 -0
  160. package/es/tile/models/tileModel.js +18 -2
  161. package/es/tile/tileFactory/base.d.ts +1 -1
  162. package/es/tile/tileFactory/base.js +58 -33
  163. package/es/tile/tileFactory/line.js +3 -0
  164. package/es/tile/tileFactory/point.js +3 -0
  165. package/es/tile/tileFactory/polygon.js +3 -0
  166. package/es/tile/tileFactory/raster.js +3 -0
  167. package/es/tile/tileFactory/rasterData.js +3 -0
  168. package/es/tile/tileFactory/rasterDataLayer.js +6 -2
  169. package/es/tile/tileFactory/test.js +26 -5
  170. package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
  171. package/es/tile/tileFactory/vectorLayer.js +110 -7
  172. package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
  173. package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
  174. package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
  175. package/es/tile/tileLayer/baseTileLayer.js +46 -75
  176. package/es/tile/tileTest.d.ts +1 -0
  177. package/es/tile/tileTest.js +3 -2
  178. package/es/tile/tmsMapTileLayer.d.ts +9 -0
  179. package/es/tile/tmsMapTileLayer.js +119 -0
  180. package/es/tile/tmsTileLayer.d.ts +2 -0
  181. package/es/tile/tmsTileLayer.js +24 -2
  182. package/es/tile/utils.d.ts +4 -0
  183. package/es/tile/utils.js +30 -0
  184. package/es/utils/dataMappingStyle.js +3 -0
  185. package/es/utils/layerData.js +2 -2
  186. package/es/utils/updateShape.js +2 -2
  187. package/es/wind/index.js +6 -2
  188. package/es/wind/models/wind.js +8 -8
  189. package/es/wind/shaders/wind_vert.glsl +1 -1
  190. package/lib/Geometry/index.js +6 -2
  191. package/lib/Geometry/models/billboard.js +3 -7
  192. package/lib/Geometry/models/plane.js +5 -7
  193. package/lib/Geometry/models/sprite.js +4 -7
  194. package/lib/canvas/index.js +37 -2
  195. package/lib/citybuliding/building.js +6 -2
  196. package/lib/citybuliding/models/build.js +2 -3
  197. package/lib/core/BaseLayer.js +61 -85
  198. package/lib/core/BaseModel.js +22 -19
  199. package/lib/core/triangulation.js +66 -2
  200. package/lib/earth/index.js +3 -1
  201. package/lib/earth/models/atmosphere.js +4 -7
  202. package/lib/earth/models/base.js +12 -18
  203. package/lib/earth/models/bloomsphere.js +4 -8
  204. package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
  205. package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
  206. package/lib/heatmap/index.js +7 -5
  207. package/lib/heatmap/models/grid.js +1 -3
  208. package/lib/heatmap/models/grid3d.js +4 -11
  209. package/lib/heatmap/models/heatmap.js +8 -9
  210. package/lib/heatmap/models/hexagon.js +2 -6
  211. package/lib/heatmap/triangulation.js +0 -1
  212. package/lib/image/index.js +10 -3
  213. package/lib/image/models/dataImage.js +13 -38
  214. package/lib/image/models/image.js +5 -10
  215. package/lib/image/models/index.js +4 -1
  216. package/lib/image/models/tileDataImage.js +188 -0
  217. package/lib/line/index.js +7 -2
  218. package/lib/line/models/arc.js +10 -10
  219. package/lib/line/models/arc_3d.js +8 -10
  220. package/lib/line/models/earthArc_3d.js +8 -10
  221. package/lib/line/models/great_circle.js +7 -7
  222. package/lib/line/models/half.js +3 -4
  223. package/lib/line/models/line.js +10 -9
  224. package/lib/line/models/linearline.js +3 -4
  225. package/lib/line/models/simpleLine.js +5 -4
  226. package/lib/line/models/simpleTileLine.js +115 -0
  227. package/lib/line/models/tile.js +50 -224
  228. package/lib/line/models/wall.js +11 -47
  229. package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
  230. package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
  231. package/lib/line/shaders/line_arc2d_vert.glsl +2 -2
  232. package/lib/line/shaders/line_arc_3d_frag.glsl +10 -10
  233. package/lib/line/shaders/line_arc_3d_vert.glsl +5 -6
  234. package/lib/line/shaders/line_arc_frag.glsl +9 -10
  235. package/lib/line/shaders/line_arc_great_circle_frag.glsl +6 -6
  236. package/lib/line/shaders/line_arc_great_circle_vert.glsl +2 -3
  237. package/lib/line/shaders/line_arc_vert.glsl +6 -4
  238. package/lib/line/shaders/line_bezier_vert.glsl +2 -2
  239. package/lib/line/shaders/line_frag.glsl +5 -6
  240. package/lib/line/shaders/line_vert.glsl +1 -1
  241. package/lib/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
  242. package/lib/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
  243. package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
  244. package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
  245. package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
  246. package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
  247. package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
  248. package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
  249. package/lib/line/shaders/wall/wall_vert.glsl +77 -0
  250. package/lib/mask/index.js +82 -5
  251. package/lib/mask/models/fill.js +14 -10
  252. package/lib/mask/shaders/mask_vert.glsl +0 -6
  253. package/lib/plugins/DataMappingPlugin.js +127 -57
  254. package/lib/plugins/DataSourcePlugin.js +3 -2
  255. package/lib/plugins/FeatureScalePlugin.js +6 -50
  256. package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
  257. package/lib/plugins/LayerModelPlugin.js +2 -6
  258. package/lib/plugins/LightingPlugin.js +1 -7
  259. package/lib/plugins/MultiPassRendererPlugin.js +3 -19
  260. package/lib/plugins/PixelPickingPlugin.js +8 -28
  261. package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
  262. package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
  263. package/lib/point/index.js +9 -6
  264. package/lib/point/models/earthExtrude.js +9 -14
  265. package/lib/point/models/earthFill.js +2 -2
  266. package/lib/point/models/extrude.js +9 -12
  267. package/lib/point/models/fill.js +8 -9
  268. package/lib/point/models/fillmage.js +5 -6
  269. package/lib/point/models/image.js +3 -3
  270. package/lib/point/models/index.js +1 -1
  271. package/lib/point/models/normal.js +8 -61
  272. package/lib/point/models/radar.js +5 -70
  273. package/lib/point/models/simplePoint.js +1 -10
  274. package/lib/point/models/text.js +7 -10
  275. package/lib/point/models/tile.js +23 -159
  276. package/lib/point/models/tileText.js +98 -187
  277. package/lib/point/shaders/animate/wave_frag.glsl +4 -4
  278. package/lib/point/shaders/earth/fill_vert.glsl +0 -1
  279. package/lib/point/shaders/fill_vert.glsl +0 -1
  280. package/lib/point/shaders/normal_frag.glsl +1 -10
  281. package/lib/point/shaders/normal_vert.glsl +5 -60
  282. package/lib/point/shaders/radar/radar_frag.glsl +4 -15
  283. package/lib/point/shaders/radar/radar_vert.glsl +4 -54
  284. package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
  285. package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
  286. package/lib/point/shaders/tile/text_frag.glsl +33 -0
  287. package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
  288. package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
  289. package/lib/point/shaders/tile/text_vert.glsl +48 -0
  290. package/lib/polygon/index.js +6 -2
  291. package/lib/polygon/models/extrude.js +4 -8
  292. package/lib/polygon/models/fill.js +3 -4
  293. package/lib/polygon/models/ocean.js +14 -47
  294. package/lib/polygon/models/tile.js +24 -57
  295. package/lib/polygon/models/water.js +14 -47
  296. package/lib/polygon/shaders/polygon_frag.glsl +2 -2
  297. package/lib/polygon/shaders/polygon_vert.glsl +2 -2
  298. package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
  299. package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
  300. package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
  301. package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
  302. package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
  303. package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
  304. package/lib/raster/buffers/triangulation.js +1 -4
  305. package/lib/raster/index.js +6 -2
  306. package/lib/raster/models/raster.js +6 -5
  307. package/lib/shader/minify_frag.glsl +7 -0
  308. package/lib/shader/minify_picking_frag.glsl +10 -0
  309. package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
  310. package/lib/tile/manager/tileLayerManager.js +12 -2
  311. package/lib/tile/manager/tilePickerManager.js +1 -2
  312. package/lib/tile/models/tileModel.js +19 -2
  313. package/lib/tile/tileFactory/base.js +60 -33
  314. package/lib/tile/tileFactory/line.js +3 -0
  315. package/lib/tile/tileFactory/point.js +3 -0
  316. package/lib/tile/tileFactory/polygon.js +3 -0
  317. package/lib/tile/tileFactory/raster.js +3 -0
  318. package/lib/tile/tileFactory/rasterData.js +3 -0
  319. package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
  320. package/lib/tile/tileFactory/test.js +26 -5
  321. package/lib/tile/tileFactory/vectorLayer.js +112 -8
  322. package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
  323. package/lib/tile/tileLayer/baseTileLayer.js +46 -75
  324. package/lib/tile/tileTest.js +3 -2
  325. package/lib/tile/tmsMapTileLayer.js +136 -0
  326. package/lib/tile/tmsTileLayer.js +25 -2
  327. package/lib/tile/utils.js +38 -0
  328. package/lib/utils/dataMappingStyle.js +3 -0
  329. package/lib/utils/layerData.js +2 -2
  330. package/lib/utils/updateShape.js +2 -2
  331. package/lib/wind/index.js +6 -2
  332. package/lib/wind/models/wind.js +7 -7
  333. package/lib/wind/shaders/wind_vert.glsl +1 -1
  334. package/package.json +8 -7
  335. package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
  336. package/es/line/shaders/wall_vert.glsl +0 -111
  337. package/es/mask/shaders/mask_frag.glsl +0 -7
  338. package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
  339. package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
  340. package/lib/line/shaders/wall_vert.glsl +0 -111
  341. package/lib/mask/shaders/mask_frag.glsl +0 -7
  342. package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
@@ -5,8 +5,6 @@ uniform float u_opacity: 1.0;
5
5
 
6
6
  varying vec4 v_Color;
7
7
  varying vec2 v_uv;
8
- varying mat4 styleMappingMat; // 传递从片元中传递的映射数据
9
-
10
8
 
11
9
  float rand(vec2 n) { return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453); }
12
10
 
@@ -64,7 +62,7 @@ float calSpc() {
64
62
  }
65
63
 
66
64
  void main() {
67
- float opacity = styleMappingMat[0][0];
65
+ float opacity = u_opacity;
68
66
  gl_FragColor = v_Color;
69
67
  gl_FragColor.a *= opacity;
70
68
 
@@ -7,44 +7,15 @@ uniform mat4 u_Mvp;
7
7
  varying vec4 v_Color;
8
8
  varying vec2 v_uv;
9
9
  uniform float u_opacity: 1.0;
10
- varying mat4 styleMappingMat; // 用于将在顶点着色器中计算好的样式值传递给片元
11
10
 
12
- #pragma include "styleMapping"
13
- #pragma include "styleMappingCalOpacity"
14
11
 
15
12
  #pragma include "projection"
16
13
 
17
14
  void main() {
18
15
  v_uv = a_uv;
19
- // cal style mapping - 数据纹理映射部分的计算
20
- styleMappingMat = mat4(
21
- 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty
22
- 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA
23
- 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]
24
- 0.0, 0.0, 0.0, 0.0
25
- );
26
-
27
- float rowCount = u_cellTypeLayout[0][0]; // 当前的数据纹理有几行
28
- float columnCount = u_cellTypeLayout[0][1]; // 当看到数据纹理有几列
29
- float columnWidth = 1.0/columnCount; // 列宽
30
- float rowHeight = 1.0/rowCount; // 行高
31
- float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets
32
- float id = a_vertexId; // 第n个顶点
33
- float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // 起始点在第几行
34
- float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // 起始点在第几列
35
-
36
- // cell 固定顺序 opacity -> strokeOpacity -> strokeWidth -> stroke ...
37
- // 按顺序从 cell 中取值、若没有则自动往下取值
38
- float textureOffset = 0.0; // 在 cell 中取值的偏移量
39
-
40
- vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);
41
- styleMappingMat[0][0] = opacityAndOffset.r;
42
- textureOffset = opacityAndOffset.g;
43
- // cal style mapping - 数据纹理映射部分的计算
44
16
 
45
17
  v_Color = a_Color;
46
18
  vec4 project_pos = project_position(vec4(a_Position, 1.0));
47
- // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));
48
19
 
49
20
  if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x
50
21
  gl_Position = u_Mvp * (vec4(project_pos.xyz, 1.0));
@@ -11,10 +11,7 @@ var _martini = _interopRequireDefault(require("@mapbox/martini"));
11
11
 
12
12
  // @ts-ignore
13
13
  function RasterTriangulation(parserData) {
14
- var coordinates = parserData.coordinates,
15
- data = parserData.data,
16
- min = parserData.min,
17
- max = parserData.max,
14
+ var data = parserData.data,
18
15
  width = parserData.width,
19
16
  height = parserData.height;
20
17
  var maxlength = Math.max(width, height);
@@ -58,7 +58,9 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
58
58
  this.layerModel.initModels(function (models) {
59
59
  _this2.models = models;
60
60
 
61
- _this2.renderLayers();
61
+ _this2.emit('modelLoaded', null);
62
+
63
+ _this2.layerService.throttleRenderLayers();
62
64
  });
63
65
  }
64
66
  }, {
@@ -67,7 +69,9 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
67
69
  var _this3 = this;
68
70
 
69
71
  this.layerModel.buildModels(function (models) {
70
- return _this3.models = models;
72
+ _this3.models = models;
73
+
74
+ _this3.emit('modelLoaded', null);
71
75
  });
72
76
  }
73
77
  }, {
@@ -64,7 +64,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
64
64
  rampColors = _ref.rampColors;
65
65
 
66
66
  if (!(0, _lodash.isEqual)(this.rampColors, rampColors)) {
67
- this.updateColorTexure();
67
+ this.updateColorTexture();
68
68
  this.rampColors = rampColors;
69
69
  }
70
70
 
@@ -116,7 +116,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
116
116
  depth: {
117
117
  enable: false
118
118
  },
119
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
119
+ stencil: (0, _l7Utils.getMask)(mask, maskInside),
120
+ pick: false
120
121
  }).then(function (model) {
121
122
  callbackModel([model]);
122
123
  }).catch(function (err) {
@@ -153,15 +154,15 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
153
154
  type: _l7Core.gl.FLOAT
154
155
  },
155
156
  size: 2,
156
- update: function update(feature, featureIdx, vertex, attributeIdx) {
157
+ update: function update(feature, featureIdx, vertex) {
157
158
  return [vertex[3], vertex[4]];
158
159
  }
159
160
  }
160
161
  });
161
162
  }
162
163
  }, {
163
- key: "updateColorTexure",
164
- value: function updateColorTexure() {
164
+ key: "updateColorTexture",
165
+ value: function updateColorTexture() {
165
166
  var createTexture2D = this.rendererService.createTexture2D;
166
167
 
167
168
  var _ref3 = this.layer.getLayerConfig(),
@@ -0,0 +1,7 @@
1
+ uniform float u_opacity : 1.0;
2
+ uniform vec4 u_color;
3
+
4
+ void main() {
5
+ gl_FragColor = u_color;
6
+ gl_FragColor.a *= u_opacity;
7
+ }
@@ -0,0 +1,10 @@
1
+ uniform float u_opacity : 1.0;
2
+ varying vec4 v_color;
3
+
4
+ #pragma include "picking"
5
+
6
+ void main() {
7
+ gl_FragColor = v_color;
8
+ gl_FragColor.a *= u_opacity;
9
+ gl_FragColor = filterColor(gl_FragColor);
10
+ }
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.BaseMapTileLayerManager = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _tileFactory = require("../tileFactory");
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var BaseMapTileLayerManager = /*#__PURE__*/function () {
23
+ // only support vector layer
24
+ function BaseMapTileLayerManager(parent, mapService, rendererService) {
25
+ (0, _classCallCheck2.default)(this, BaseMapTileLayerManager);
26
+ this.parent = parent;
27
+ this.children = parent.layerChildren;
28
+ this.mapService = mapService;
29
+ this.rendererService = rendererService;
30
+ this.setSubLayerInitOptipn();
31
+ this.initTileFactory();
32
+ }
33
+
34
+ (0, _createClass2.default)(BaseMapTileLayerManager, [{
35
+ key: "createTile",
36
+ value: function createTile(tile) {
37
+ return this.tileFactory.createTile(tile, this.initOptions);
38
+ }
39
+ }, {
40
+ key: "updateLayersConfig",
41
+ value: function updateLayersConfig(layers, key, value) {
42
+ layers.map(function (layer) {
43
+ if (key === 'mask') {
44
+ // Tip: 栅格瓦片生效、设置全局的 mask、瓦片被全局的 mask 影响
45
+ layer.style({
46
+ mask: value
47
+ });
48
+ } else {
49
+ layer.updateLayerConfig((0, _defineProperty2.default)({}, key, value));
50
+ }
51
+ });
52
+ }
53
+ }, {
54
+ key: "addChild",
55
+ value: function addChild(layer) {
56
+ this.children.push(layer);
57
+ }
58
+ }, {
59
+ key: "addChilds",
60
+ value: function addChilds(layers) {
61
+ var _this$children;
62
+
63
+ (_this$children = this.children).push.apply(_this$children, (0, _toConsumableArray2.default)(layers));
64
+ }
65
+ }, {
66
+ key: "removeChilds",
67
+ value: function removeChilds(layerIDList) {
68
+ var refresh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
69
+ var remveLayerList = [];
70
+ var cacheLayerList = [];
71
+ this.children.filter(function (child) {
72
+ layerIDList.includes(child.id) ? remveLayerList.push(child) : cacheLayerList.push(child);
73
+ });
74
+ remveLayerList.map(function (layer) {
75
+ return layer.destroy(refresh);
76
+ });
77
+ this.children = cacheLayerList;
78
+ }
79
+ }, {
80
+ key: "removeChild",
81
+ value: function removeChild(layer) {
82
+ var layerIndex = this.children.indexOf(layer);
83
+
84
+ if (layerIndex > -1) {
85
+ this.children.splice(layerIndex, 1);
86
+ }
87
+
88
+ layer.destroy();
89
+ }
90
+ }, {
91
+ key: "getChilds",
92
+ value: function getChilds(layerIDList) {
93
+ return this.children.filter(function (child) {
94
+ return layerIDList.includes(child.id);
95
+ });
96
+ }
97
+ }, {
98
+ key: "getChild",
99
+ value: function getChild(layerID) {
100
+ return this.children.filter(function (child) {
101
+ return child.id === layerID;
102
+ })[0];
103
+ }
104
+ }, {
105
+ key: "clearChild",
106
+ value: function clearChild() {
107
+ this.children.forEach(function (layer) {
108
+ layer.destroy();
109
+ });
110
+ this.children.slice(0, this.children.length);
111
+ }
112
+ }, {
113
+ key: "hasChild",
114
+ value: function hasChild(layer) {
115
+ return this.children.includes(layer);
116
+ }
117
+ }, {
118
+ key: "render",
119
+ value: function render() {
120
+ var _this = this;
121
+
122
+ this.children.filter(function (layer) {
123
+ return layer.inited;
124
+ }).filter(function (layer) {
125
+ return layer.isVisible();
126
+ }).map(function (layer) {
127
+ layer.hooks.beforeRenderData.call();
128
+ layer.hooks.beforeRender.call();
129
+
130
+ if (layer.masks.length > 0) {
131
+ // 清除上一次的模版缓存
132
+ _this.rendererService.clear({
133
+ stencil: 0,
134
+ depth: 1,
135
+ framebuffer: null
136
+ });
137
+
138
+ layer.masks.map(function (m) {
139
+ m.hooks.beforeRenderData.call();
140
+ m.hooks.beforeRender.call();
141
+ m.render();
142
+ m.hooks.afterRender.call();
143
+ });
144
+ }
145
+
146
+ layer.render();
147
+ layer.hooks.afterRender.call();
148
+ });
149
+ }
150
+ }, {
151
+ key: "setSubLayerInitOptipn",
152
+ value: function setSubLayerInitOptipn() {
153
+ var _colorAttribute$scale, _sizeAttribute$scale;
154
+
155
+ var _ref = this.parent.getLayerConfig(),
156
+ _ref$zIndex = _ref.zIndex,
157
+ zIndex = _ref$zIndex === void 0 ? 0 : _ref$zIndex,
158
+ _ref$opacity = _ref.opacity,
159
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
160
+ _ref$mask = _ref.mask,
161
+ mask = _ref$mask === void 0 ? false : _ref$mask,
162
+ _ref$stroke = _ref.stroke,
163
+ stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke,
164
+ _ref$strokeWidth = _ref.strokeWidth,
165
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
166
+ _ref$strokeOpacity = _ref.strokeOpacity,
167
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
168
+ _ref$workerEnabled = _ref.workerEnabled,
169
+ workerEnabled = _ref$workerEnabled === void 0 ? false : _ref$workerEnabled,
170
+ sourceLayer = _ref.sourceLayer;
171
+
172
+ var source = this.parent.getSource();
173
+ var parentParserType = source.getParserType();
174
+ var colorAttribute = this.parent.getAttribute('color');
175
+ var basemapColor = (colorAttribute === null || colorAttribute === void 0 ? void 0 : (_colorAttribute$scale = colorAttribute.scale) === null || _colorAttribute$scale === void 0 ? void 0 : _colorAttribute$scale.field) || '#fff';
176
+ var sizeAttribute = this.parent.getAttribute('size');
177
+ var basemapSize = (sizeAttribute === null || sizeAttribute === void 0 ? void 0 : (_sizeAttribute$scale = sizeAttribute.scale) === null || _sizeAttribute$scale === void 0 ? void 0 : _sizeAttribute$scale.field) || 1;
178
+ var layerShape = (0, _utils.getLayerShape)(this.parent.type, this.parent);
179
+ this.initOptions = {
180
+ usage: 'basemap',
181
+ layerType: this.parent.type,
182
+ shape: layerShape,
183
+ zIndex: zIndex,
184
+ opacity: opacity,
185
+ sourceLayer: this.getSourceLayer(parentParserType, sourceLayer),
186
+ basemapColor: basemapColor,
187
+ basemapSize: basemapSize,
188
+ mask: (0, _utils.getMaskValue)(this.parent.type, mask),
189
+ stroke: stroke,
190
+ strokeWidth: strokeWidth,
191
+ strokeOpacity: strokeOpacity,
192
+ // worker
193
+ workerEnabled: workerEnabled
194
+ };
195
+ }
196
+ }, {
197
+ key: "getSourceLayer",
198
+ value: function getSourceLayer(parentParserType, sourceLayer) {
199
+ if (parentParserType === 'geojsonvt') {
200
+ return 'geojsonvt';
201
+ } else if (parentParserType === 'testTile') {
202
+ return 'testTile';
203
+ } else {
204
+ return sourceLayer;
205
+ }
206
+ }
207
+ }, {
208
+ key: "initTileFactory",
209
+ value: function initTileFactory() {
210
+ var source = this.parent.getSource();
211
+ var TileFactory = (0, _tileFactory.getTileFactory)(this.parent.type, source.parser);
212
+ this.tileFactory = new TileFactory({
213
+ parent: this.parent,
214
+ mapService: this.mapService,
215
+ rendererService: this.rendererService
216
+ });
217
+ }
218
+ }]);
219
+ return BaseMapTileLayerManager;
220
+ }();
221
+
222
+ exports.BaseMapTileLayerManager = BaseMapTileLayerManager;
@@ -26,14 +26,14 @@ var _tileConfigManager = _interopRequireDefault(require("./tileConfigManager"));
26
26
  var _tilePickerManager = _interopRequireDefault(require("./tilePickerManager"));
27
27
 
28
28
  var TileLayerManager = /*#__PURE__*/function () {
29
- function TileLayerManager(parent, mapService, rendererService, pickingService, layerService, transforms) {
29
+ function TileLayerManager(parent, mapService, rendererService, pickingService, transforms) {
30
30
  (0, _classCallCheck2.default)(this, TileLayerManager);
31
31
  this.parent = parent;
32
32
  this.children = parent.layerChildren;
33
33
  this.mapService = mapService;
34
34
  this.rendererService = rendererService;
35
35
  this.transforms = transforms;
36
- this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, this.children, layerService);
36
+ this.tilePickManager = new _tilePickerManager.default(parent, rendererService, pickingService, this.children);
37
37
  this.tileConfigManager = new _tileConfigManager.default();
38
38
  this.setSubLayerInitOptipn();
39
39
  this.setConfigListener();
@@ -192,10 +192,19 @@ var TileLayerManager = /*#__PURE__*/function () {
192
192
 
193
193
  var parentParserType = source.getParserType();
194
194
  var layerShape = (0, _utils.getLayerShape)(this.parent.type, this.parent);
195
+ var colorTexture = undefined;
195
196
 
196
197
  if (rampColors) {
197
198
  // 构建统一的色带贴图
199
+ var createTexture2D = this.rendererService.createTexture2D;
198
200
  this.rampColorsData = (0, _l7Utils.generateColorRamp)(rampColors);
201
+ var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
202
+ colorTexture = createTexture2D({
203
+ data: this.rampColorsData.data,
204
+ width: imageData.width,
205
+ height: imageData.height,
206
+ flipY: false
207
+ });
199
208
  }
200
209
 
201
210
  this.initOptions = {
@@ -219,6 +228,7 @@ var TileLayerManager = /*#__PURE__*/function () {
219
228
  domain: domain,
220
229
  rampColors: rampColors,
221
230
  rampColorsData: this.rampColorsData,
231
+ colorTexture: colorTexture,
222
232
  // worker
223
233
  workerEnabled: workerEnabled,
224
234
  pixelConstant: pixelConstant,
@@ -32,7 +32,7 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
32
32
 
33
33
  var _super = _createSuper(TilePickManager);
34
34
 
35
- function TilePickManager(parent, rendererService, pickingService, children, layerService) {
35
+ function TilePickManager(parent, rendererService, pickingService, children) {
36
36
  var _this;
37
37
 
38
38
  (0, _classCallCheck2.default)(this, TilePickManager);
@@ -41,7 +41,6 @@ var TilePickManager = /*#__PURE__*/function (_EventEmitter) {
41
41
  _this.parent = parent;
42
42
  _this.rendererService = rendererService;
43
43
  _this.pickingService = pickingService;
44
- _this.layerService = layerService;
45
44
  _this.children = children;
46
45
  return _this;
47
46
  }
@@ -21,6 +21,8 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
21
21
 
22
22
  var _tmsTileLayer = require("../tmsTileLayer");
23
23
 
24
+ var _tmsMapTileLayer = require("../tmsMapTileLayer");
25
+
24
26
  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); }; }
25
27
 
26
28
  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; } }
@@ -40,13 +42,28 @@ var TileModel = /*#__PURE__*/function (_BaseModel) {
40
42
  value: function getUninforms() {
41
43
  return {};
42
44
  }
45
+ }, {
46
+ key: "getTileLayer",
47
+ value: function getTileLayer(usage) {
48
+ switch (usage) {
49
+ case 'basemap':
50
+ return _tmsMapTileLayer.TMSBaseMapTileLayer;
51
+
52
+ default:
53
+ return _tmsTileLayer.TMSTileLayer;
54
+ }
55
+ }
43
56
  }, {
44
57
  key: "initModels",
45
58
  value: function initModels() {
46
59
  var source = this.layer.getSource();
47
60
 
48
- if (source !== null && source !== void 0 && source.data.isTile) {
49
- this.layer.tileLayer = new _tmsTileLayer.TMSTileLayer({
61
+ var _this$layer$getLayerC = this.layer.getLayerConfig(),
62
+ usage = _this$layer$getLayerC.usage;
63
+
64
+ if (source !== null && source !== void 0 && source.data.isTile && !this.layer.tileLayer) {
65
+ var tileLayer = this.getTileLayer(usage);
66
+ this.layer.tileLayer = new tileLayer({
50
67
  parent: this.layer,
51
68
  rendererService: this.rendererService,
52
69
  mapService: this.mapService,