@antv/l7-layers 2.9.17-alpha.0 → 2.9.17

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 (367) hide show
  1. package/es/Geometry/index.js +2 -12
  2. package/es/Geometry/index.js.map +1 -1
  3. package/es/Geometry/models/billboard.d.ts +3 -3
  4. package/es/Geometry/models/billboard.js +6 -11
  5. package/es/Geometry/models/billboard.js.map +1 -1
  6. package/es/Geometry/models/plane.d.ts +3 -3
  7. package/es/Geometry/models/plane.js +7 -12
  8. package/es/Geometry/models/plane.js.map +1 -1
  9. package/es/Geometry/models/sprite.d.ts +3 -3
  10. package/es/Geometry/models/sprite.js +6 -11
  11. package/es/Geometry/models/sprite.js.map +1 -1
  12. package/es/canvas/index.js +2 -12
  13. package/es/canvas/index.js.map +1 -1
  14. package/es/citybuliding/building.js +2 -12
  15. package/es/citybuliding/building.js.map +1 -1
  16. package/es/citybuliding/models/build.d.ts +1 -2
  17. package/es/citybuliding/models/build.js +3 -16
  18. package/es/citybuliding/models/build.js.map +1 -1
  19. package/es/core/BaseLayer.d.ts +1 -1
  20. package/es/core/BaseLayer.js +58 -97
  21. package/es/core/BaseLayer.js.map +1 -1
  22. package/es/core/BaseModel.d.ts +2 -2
  23. package/es/core/BaseModel.js +2 -2
  24. package/es/core/BaseModel.js.map +1 -1
  25. package/es/core/interface.d.ts +13 -2
  26. package/es/core/interface.js.map +1 -1
  27. package/es/core/triangulation.d.ts +0 -1
  28. package/es/core/triangulation.js +11 -37
  29. package/es/core/triangulation.js.map +1 -1
  30. package/es/earth/index.js +2 -8
  31. package/es/earth/index.js.map +1 -1
  32. package/es/earth/models/atmosphere.d.ts +2 -2
  33. package/es/earth/models/atmosphere.js +6 -11
  34. package/es/earth/models/atmosphere.js.map +1 -1
  35. package/es/earth/models/base.d.ts +2 -2
  36. package/es/earth/models/base.js +6 -11
  37. package/es/earth/models/base.js.map +1 -1
  38. package/es/earth/models/bloomsphere.d.ts +2 -2
  39. package/es/earth/models/bloomsphere.js +6 -11
  40. package/es/earth/models/bloomsphere.js.map +1 -1
  41. package/es/heatmap/index.js +5 -17
  42. package/es/heatmap/index.js.map +1 -1
  43. package/es/heatmap/models/grid.d.ts +2 -2
  44. package/es/heatmap/models/grid.js +8 -12
  45. package/es/heatmap/models/grid.js.map +1 -1
  46. package/es/heatmap/models/grid3d.d.ts +2 -2
  47. package/es/heatmap/models/grid3d.js +6 -12
  48. package/es/heatmap/models/grid3d.js.map +1 -1
  49. package/es/heatmap/models/heatmap.d.ts +2 -2
  50. package/es/heatmap/models/heatmap.js +62 -112
  51. package/es/heatmap/models/heatmap.js.map +1 -1
  52. package/es/heatmap/models/hexagon.d.ts +2 -2
  53. package/es/heatmap/models/hexagon.js +6 -11
  54. package/es/heatmap/models/hexagon.js.map +1 -1
  55. package/es/image/index.d.ts +1 -1
  56. package/es/image/index.js +16 -14
  57. package/es/image/index.js.map +1 -1
  58. package/es/image/models/dataImage.d.ts +22 -0
  59. package/es/image/models/dataImage.js +230 -0
  60. package/es/image/models/dataImage.js.map +1 -0
  61. package/es/image/models/image.d.ts +4 -3
  62. package/es/image/models/image.js +14 -11
  63. package/es/image/models/image.js.map +1 -1
  64. package/es/image/models/index.d.ts +1 -1
  65. package/es/image/models/index.js +3 -1
  66. package/es/image/models/index.js.map +1 -1
  67. package/es/line/index.d.ts +2 -0
  68. package/es/line/index.js +5 -12
  69. package/es/line/index.js.map +1 -1
  70. package/es/line/models/arc.d.ts +2 -2
  71. package/es/line/models/arc.js +10 -15
  72. package/es/line/models/arc.js.map +1 -1
  73. package/es/line/models/arc_3d.d.ts +2 -2
  74. package/es/line/models/arc_3d.js +8 -13
  75. package/es/line/models/arc_3d.js.map +1 -1
  76. package/es/line/models/arcmini.d.ts +9 -0
  77. package/es/line/models/arcmini.js +145 -0
  78. package/es/line/models/arcmini.js.map +1 -0
  79. package/es/line/models/earthArc_3d.d.ts +2 -2
  80. package/es/line/models/earthArc_3d.js +9 -17
  81. package/es/line/models/earthArc_3d.js.map +1 -1
  82. package/es/line/models/great_circle.d.ts +2 -2
  83. package/es/line/models/great_circle.js +8 -13
  84. package/es/line/models/great_circle.js.map +1 -1
  85. package/es/line/models/half.d.ts +2 -2
  86. package/es/line/models/half.js +29 -46
  87. package/es/line/models/half.js.map +1 -1
  88. package/es/line/models/index.d.ts +1 -1
  89. package/es/line/models/index.js +2 -0
  90. package/es/line/models/index.js.map +1 -1
  91. package/es/line/models/line.d.ts +2 -2
  92. package/es/line/models/line.js +16 -28
  93. package/es/line/models/line.js.map +1 -1
  94. package/es/line/models/linearline.d.ts +11 -2
  95. package/es/line/models/linearline.js +24 -14
  96. package/es/line/models/linearline.js.map +1 -1
  97. package/es/line/models/simpleLine.d.ts +2 -3
  98. package/es/line/models/simpleLine.js +18 -66
  99. package/es/line/models/simpleLine.js.map +1 -1
  100. package/es/line/models/tile.d.ts +11 -2
  101. package/es/line/models/tile.js +39 -45
  102. package/es/line/models/tile.js.map +1 -1
  103. package/es/line/models/wall.d.ts +2 -2
  104. package/es/line/models/wall.js +9 -13
  105. package/es/line/models/wall.js.map +1 -1
  106. package/es/mask/index.js +2 -12
  107. package/es/mask/index.js.map +1 -1
  108. package/es/mask/models/fill.d.ts +2 -2
  109. package/es/mask/models/fill.js +27 -53
  110. package/es/mask/models/fill.js.map +1 -1
  111. package/es/plugins/DataMappingPlugin.js +8 -29
  112. package/es/plugins/DataMappingPlugin.js.map +1 -1
  113. package/es/plugins/DataSourcePlugin.js +5 -14
  114. package/es/plugins/DataSourcePlugin.js.map +1 -1
  115. package/es/plugins/LayerModelPlugin.d.ts +0 -2
  116. package/es/plugins/LayerModelPlugin.js +7 -33
  117. package/es/plugins/LayerModelPlugin.js.map +1 -1
  118. package/es/plugins/PixelPickingPlugin.js +13 -16
  119. package/es/plugins/PixelPickingPlugin.js.map +1 -1
  120. package/es/point/index.d.ts +1 -1
  121. package/es/point/index.js +8 -15
  122. package/es/point/index.js.map +1 -1
  123. package/es/point/models/earthExtrude.d.ts +2 -2
  124. package/es/point/models/earthExtrude.js +14 -16
  125. package/es/point/models/earthExtrude.js.map +1 -1
  126. package/es/point/models/earthFill.d.ts +11 -2
  127. package/es/point/models/earthFill.js +22 -13
  128. package/es/point/models/earthFill.js.map +1 -1
  129. package/es/point/models/extrude.d.ts +2 -2
  130. package/es/point/models/extrude.js +27 -49
  131. package/es/point/models/extrude.js.map +1 -1
  132. package/es/point/models/fill.d.ts +2 -2
  133. package/es/point/models/fill.js +41 -59
  134. package/es/point/models/fill.js.map +1 -1
  135. package/es/point/models/fillmage.d.ts +7 -2
  136. package/es/point/models/fillmage.js +22 -13
  137. package/es/point/models/fillmage.js.map +1 -1
  138. package/es/point/models/icon-font.d.ts +11 -0
  139. package/es/point/models/icon-font.js +181 -0
  140. package/es/point/models/icon-font.js.map +1 -0
  141. package/es/point/models/image.d.ts +2 -2
  142. package/es/point/models/image.js +6 -11
  143. package/es/point/models/image.js.map +1 -1
  144. package/es/point/models/index.d.ts +1 -1
  145. package/es/point/models/index.js +2 -0
  146. package/es/point/models/index.js.map +1 -1
  147. package/es/point/models/normal.d.ts +2 -2
  148. package/es/point/models/normal.js +6 -11
  149. package/es/point/models/normal.js.map +1 -1
  150. package/es/point/models/radar.d.ts +11 -2
  151. package/es/point/models/radar.js +22 -13
  152. package/es/point/models/radar.js.map +1 -1
  153. package/es/point/models/simplePoint.d.ts +2 -2
  154. package/es/point/models/simplePoint.js +6 -11
  155. package/es/point/models/simplePoint.js.map +1 -1
  156. package/es/point/models/text.d.ts +2 -3
  157. package/es/point/models/text.js +75 -108
  158. package/es/point/models/text.js.map +1 -1
  159. package/es/point/models/tile.d.ts +11 -2
  160. package/es/point/models/tile.js +25 -22
  161. package/es/point/models/tile.js.map +1 -1
  162. package/es/polygon/index.js +2 -12
  163. package/es/polygon/index.js.map +1 -1
  164. package/es/polygon/models/extrude.d.ts +2 -2
  165. package/es/polygon/models/extrude.js +5 -10
  166. package/es/polygon/models/extrude.js.map +1 -1
  167. package/es/polygon/models/fill.d.ts +2 -2
  168. package/es/polygon/models/fill.js +13 -27
  169. package/es/polygon/models/fill.js.map +1 -1
  170. package/es/polygon/models/ocean.d.ts +2 -2
  171. package/es/polygon/models/ocean.js +6 -12
  172. package/es/polygon/models/ocean.js.map +1 -1
  173. package/es/polygon/models/tile.d.ts +3 -2
  174. package/es/polygon/models/tile.js +27 -17
  175. package/es/polygon/models/tile.js.map +1 -1
  176. package/es/polygon/models/water.d.ts +2 -2
  177. package/es/polygon/models/water.js +6 -12
  178. package/es/polygon/models/water.js.map +1 -1
  179. package/es/raster/image.d.ts +0 -0
  180. package/es/raster/image.js +2 -0
  181. package/es/raster/image.js.map +1 -0
  182. package/es/raster/index.js +2 -12
  183. package/es/raster/index.js.map +1 -1
  184. package/es/raster/models/raster.d.ts +3 -3
  185. package/es/raster/models/raster.js +7 -11
  186. package/es/raster/models/raster.js.map +1 -1
  187. package/es/raster/raster2d.d.ts +27 -0
  188. package/es/raster/raster2d.js +158 -0
  189. package/es/raster/raster2d.js.map +1 -0
  190. package/es/tile/manager/tileLayerManager.js +21 -4
  191. package/es/tile/manager/tileLayerManager.js.map +1 -1
  192. package/es/tile/manager/tilePickerManager.js +0 -1
  193. package/es/tile/manager/tilePickerManager.js.map +1 -1
  194. package/es/tile/tileFactory/base.js.map +1 -1
  195. package/es/tile/tileFactory/point.js.map +1 -1
  196. package/es/tile/tileFactory/rasterDataLayer.js +2 -12
  197. package/es/tile/tileFactory/rasterDataLayer.js.map +1 -1
  198. package/es/tile/tileFactory/vectorLayer.js +2 -12
  199. package/es/tile/tileFactory/vectorLayer.js.map +1 -1
  200. package/es/utils/extrude_polyline.d.ts +0 -15
  201. package/es/utils/extrude_polyline.js +6 -138
  202. package/es/utils/extrude_polyline.js.map +1 -1
  203. package/es/utils/geo.d.ts +12 -0
  204. package/es/utils/geo.js +53 -0
  205. package/es/utils/geo.js.map +1 -0
  206. package/es/utils/simpleLine.d.ts +23 -0
  207. package/es/utils/simpleLine.js +105 -0
  208. package/es/utils/simpleLine.js.map +1 -0
  209. package/es/wind/index.js +2 -12
  210. package/es/wind/index.js.map +1 -1
  211. package/es/wind/models/wind.d.ts +2 -2
  212. package/es/wind/models/wind.js +33 -36
  213. package/es/wind/models/wind.js.map +1 -1
  214. package/lib/Geometry/index.js +2 -12
  215. package/lib/Geometry/index.js.map +1 -1
  216. package/lib/Geometry/models/billboard.js +6 -11
  217. package/lib/Geometry/models/billboard.js.map +1 -1
  218. package/lib/Geometry/models/plane.js +7 -12
  219. package/lib/Geometry/models/plane.js.map +1 -1
  220. package/lib/Geometry/models/sprite.js +6 -11
  221. package/lib/Geometry/models/sprite.js.map +1 -1
  222. package/lib/canvas/index.js +2 -12
  223. package/lib/canvas/index.js.map +1 -1
  224. package/lib/citybuliding/building.js +2 -12
  225. package/lib/citybuliding/building.js.map +1 -1
  226. package/lib/citybuliding/models/build.js +3 -16
  227. package/lib/citybuliding/models/build.js.map +1 -1
  228. package/lib/core/BaseLayer.js +57 -96
  229. package/lib/core/BaseLayer.js.map +1 -1
  230. package/lib/core/BaseModel.js +2 -2
  231. package/lib/core/BaseModel.js.map +1 -1
  232. package/lib/core/interface.js.map +1 -1
  233. package/lib/core/triangulation.js +16 -40
  234. package/lib/core/triangulation.js.map +1 -1
  235. package/lib/earth/index.js +2 -8
  236. package/lib/earth/index.js.map +1 -1
  237. package/lib/earth/models/atmosphere.js +6 -11
  238. package/lib/earth/models/atmosphere.js.map +1 -1
  239. package/lib/earth/models/base.js +6 -11
  240. package/lib/earth/models/base.js.map +1 -1
  241. package/lib/earth/models/bloomsphere.js +6 -11
  242. package/lib/earth/models/bloomsphere.js.map +1 -1
  243. package/lib/heatmap/index.js +5 -17
  244. package/lib/heatmap/index.js.map +1 -1
  245. package/lib/heatmap/models/grid.js +8 -12
  246. package/lib/heatmap/models/grid.js.map +1 -1
  247. package/lib/heatmap/models/grid3d.js +6 -12
  248. package/lib/heatmap/models/grid3d.js.map +1 -1
  249. package/lib/heatmap/models/heatmap.js +62 -113
  250. package/lib/heatmap/models/heatmap.js.map +1 -1
  251. package/lib/heatmap/models/hexagon.js +6 -11
  252. package/lib/heatmap/models/hexagon.js.map +1 -1
  253. package/lib/image/index.js +16 -14
  254. package/lib/image/index.js.map +1 -1
  255. package/lib/image/models/dataImage.js +245 -0
  256. package/lib/image/models/dataImage.js.map +1 -0
  257. package/lib/image/models/image.js +14 -11
  258. package/lib/image/models/image.js.map +1 -1
  259. package/lib/image/models/index.js +4 -1
  260. package/lib/image/models/index.js.map +1 -1
  261. package/lib/line/index.js +5 -12
  262. package/lib/line/index.js.map +1 -1
  263. package/lib/line/models/arc.js +10 -15
  264. package/lib/line/models/arc.js.map +1 -1
  265. package/lib/line/models/arc_3d.js +8 -13
  266. package/lib/line/models/arc_3d.js.map +1 -1
  267. package/lib/line/models/arcmini.js +161 -0
  268. package/lib/line/models/arcmini.js.map +1 -0
  269. package/lib/line/models/earthArc_3d.js +9 -17
  270. package/lib/line/models/earthArc_3d.js.map +1 -1
  271. package/lib/line/models/great_circle.js +8 -13
  272. package/lib/line/models/great_circle.js.map +1 -1
  273. package/lib/line/models/half.js +29 -48
  274. package/lib/line/models/half.js.map +1 -1
  275. package/lib/line/models/index.js +3 -0
  276. package/lib/line/models/index.js.map +1 -1
  277. package/lib/line/models/line.js +18 -29
  278. package/lib/line/models/line.js.map +1 -1
  279. package/lib/line/models/linearline.js +24 -14
  280. package/lib/line/models/linearline.js.map +1 -1
  281. package/lib/line/models/simpleLine.js +18 -66
  282. package/lib/line/models/simpleLine.js.map +1 -1
  283. package/lib/line/models/tile.js +39 -47
  284. package/lib/line/models/tile.js.map +1 -1
  285. package/lib/line/models/wall.js +9 -13
  286. package/lib/line/models/wall.js.map +1 -1
  287. package/lib/mask/index.js +2 -12
  288. package/lib/mask/index.js.map +1 -1
  289. package/lib/mask/models/fill.js +27 -55
  290. package/lib/mask/models/fill.js.map +1 -1
  291. package/lib/plugins/DataMappingPlugin.js +8 -29
  292. package/lib/plugins/DataMappingPlugin.js.map +1 -1
  293. package/lib/plugins/DataSourcePlugin.js +4 -13
  294. package/lib/plugins/DataSourcePlugin.js.map +1 -1
  295. package/lib/plugins/LayerModelPlugin.js +7 -33
  296. package/lib/plugins/LayerModelPlugin.js.map +1 -1
  297. package/lib/plugins/PixelPickingPlugin.js +13 -16
  298. package/lib/plugins/PixelPickingPlugin.js.map +1 -1
  299. package/lib/point/index.js +8 -15
  300. package/lib/point/index.js.map +1 -1
  301. package/lib/point/models/earthExtrude.js +15 -16
  302. package/lib/point/models/earthExtrude.js.map +1 -1
  303. package/lib/point/models/earthFill.js +22 -13
  304. package/lib/point/models/earthFill.js.map +1 -1
  305. package/lib/point/models/extrude.js +28 -51
  306. package/lib/point/models/extrude.js.map +1 -1
  307. package/lib/point/models/fill.js +42 -61
  308. package/lib/point/models/fill.js.map +1 -1
  309. package/lib/point/models/fillmage.js +22 -13
  310. package/lib/point/models/fillmage.js.map +1 -1
  311. package/lib/point/models/icon-font.js +196 -0
  312. package/lib/point/models/icon-font.js.map +1 -0
  313. package/lib/point/models/image.js +6 -11
  314. package/lib/point/models/image.js.map +1 -1
  315. package/lib/point/models/index.js +3 -0
  316. package/lib/point/models/index.js.map +1 -1
  317. package/lib/point/models/normal.js +6 -11
  318. package/lib/point/models/normal.js.map +1 -1
  319. package/lib/point/models/radar.js +22 -13
  320. package/lib/point/models/radar.js.map +1 -1
  321. package/lib/point/models/simplePoint.js +6 -11
  322. package/lib/point/models/simplePoint.js.map +1 -1
  323. package/lib/point/models/text.js +78 -110
  324. package/lib/point/models/text.js.map +1 -1
  325. package/lib/point/models/tile.js +25 -22
  326. package/lib/point/models/tile.js.map +1 -1
  327. package/lib/polygon/index.js +2 -12
  328. package/lib/polygon/index.js.map +1 -1
  329. package/lib/polygon/models/extrude.js +5 -10
  330. package/lib/polygon/models/extrude.js.map +1 -1
  331. package/lib/polygon/models/fill.js +11 -25
  332. package/lib/polygon/models/fill.js.map +1 -1
  333. package/lib/polygon/models/ocean.js +6 -12
  334. package/lib/polygon/models/ocean.js.map +1 -1
  335. package/lib/polygon/models/tile.js +27 -17
  336. package/lib/polygon/models/tile.js.map +1 -1
  337. package/lib/polygon/models/water.js +6 -12
  338. package/lib/polygon/models/water.js.map +1 -1
  339. package/lib/raster/image.js +2 -0
  340. package/lib/raster/image.js.map +1 -0
  341. package/lib/raster/index.js +2 -12
  342. package/lib/raster/index.js.map +1 -1
  343. package/lib/raster/models/raster.js +7 -11
  344. package/lib/raster/models/raster.js.map +1 -1
  345. package/lib/raster/raster2d.js +172 -0
  346. package/lib/raster/raster2d.js.map +1 -0
  347. package/lib/tile/manager/tileLayerManager.js +21 -4
  348. package/lib/tile/manager/tileLayerManager.js.map +1 -1
  349. package/lib/tile/manager/tilePickerManager.js +0 -1
  350. package/lib/tile/manager/tilePickerManager.js.map +1 -1
  351. package/lib/tile/tileFactory/base.js.map +1 -1
  352. package/lib/tile/tileFactory/point.js.map +1 -1
  353. package/lib/tile/tileFactory/rasterDataLayer.js +2 -12
  354. package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -1
  355. package/lib/tile/tileFactory/vectorLayer.js +2 -12
  356. package/lib/tile/tileFactory/vectorLayer.js.map +1 -1
  357. package/lib/utils/extrude_polyline.js +6 -140
  358. package/lib/utils/extrude_polyline.js.map +1 -1
  359. package/lib/utils/geo.js +65 -0
  360. package/lib/utils/geo.js.map +1 -0
  361. package/lib/utils/simpleLine.js +117 -0
  362. package/lib/utils/simpleLine.js.map +1 -0
  363. package/lib/wind/index.js +2 -12
  364. package/lib/wind/index.js.map +1 -1
  365. package/lib/wind/models/wind.js +33 -36
  366. package/lib/wind/models/wind.js.map +1 -1
  367. package/package.json +8 -9
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/wind/models/wind.ts"],"names":["defaultRampColors","WindModel","FrequencyController","frequency","run","drawWind","drawColorMode","Error","callbackModel","createTexture2D","rendererService","source","layer","getSource","texture","height","width","glContext","getGLContext","imageCoords","data","dataArray","coordinates","images","then","imageData","getLayerConfig","uMin","uMax","vMin","vMax","fadeOpacity","speedFactor","dropRate","dropRateBump","rampColors","sizeScale","getWindSize","imageWidth","imageHeight","options","wind","Wind","setWind","image","layerService","updateLayerRenderList","renderLayers","buildLayerModel","moduleName","vertexShader","WindVert","fragmentShader","WindFrag","triangulation","RasterImageTriangulation","primitive","gl","TRIANGLES","depth","enable","blend","getBlend","model","colorModel","catch","err","console","warn","p1","mapService","lngLatToPixel","p2","Math","floor","x","y","initModels","destroy","properties","opacity","type","minimum","maximum","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","numParticles","reSize","updateWindDir","updateParticelNum","updateColorRampTexture","draw","d","w","h","setBaseState","uniforms","u_opacity","u_texture","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n Point,\n} from '@antv/l7-core';\nimport { FrequencyController } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IWindLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport WindFrag from '../shaders/wind_frag.glsl';\nimport WindVert from '../shaders/wind_vert.glsl';\nimport { IWind, IWindProps, Wind } from './windRender';\n\nconst defaultRampColors = {\n 0.0: '#3288bd',\n 0.1: '#66c2a5',\n 0.2: '#abdda4',\n 0.3: '#e6f598',\n 0.4: '#fee08b',\n 0.5: '#fdae61',\n 0.6: '#f46d43',\n 1.0: '#d53e4f',\n};\n\nexport default class WindModel extends BaseModel {\n protected texture: ITexture2D;\n\n private colorModel: IModel;\n private wind: IWind;\n private imageCoords: [Point, Point];\n private sizeScale: number = 0.5;\n // https://mapbox.github.io/webgl-wind/demo/\n // source: 'http://nomads.ncep.noaa.gov',\n\n private frequency = new FrequencyController(7.2);\n\n public render() {\n // TODO: 控制风场的平均更新频率\n this.frequency.run(() => {\n this.drawWind();\n });\n this.drawColorMode();\n }\n\n public getUninforms(): IModelUniform {\n throw new Error('Method not implemented.');\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n const { createTexture2D } = this.rendererService;\n\n const source = this.layer.getSource();\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n\n const glContext = this.rendererService.getGLContext();\n this.imageCoords = source.data.dataArray[0].coordinates as [Point, Point];\n\n source.data.images.then((imageData: HTMLImageElement[]) => {\n const {\n uMin = -21.32,\n uMax = 26.8,\n vMin = -21.57,\n vMax = 21.42,\n fadeOpacity = 0.996,\n speedFactor = 0.25,\n dropRate = 0.003,\n dropRateBump = 0.01,\n rampColors = defaultRampColors,\n sizeScale = 0.5,\n } = this.layer.getLayerConfig() as IWindLayerStyleOptions;\n this.sizeScale = sizeScale;\n\n const { imageWidth, imageHeight } = this.getWindSize();\n\n const options: IWindProps = {\n glContext,\n imageWidth,\n imageHeight,\n fadeOpacity,\n speedFactor,\n dropRate,\n dropRateBump,\n rampColors,\n };\n\n this.wind = new Wind(options);\n\n // imageData[0] 风场图\n this.wind.setWind({\n uMin,\n uMax,\n vMin,\n vMax,\n image: imageData[0],\n });\n\n this.texture = createTexture2D({\n data: imageData[0],\n width: imageData[0].width,\n height: imageData[0].height,\n });\n\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n });\n\n this.layer\n .buildLayerModel({\n moduleName: 'wind',\n vertexShader: WindVert,\n fragmentShader: WindFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n })\n .then((model) => {\n this.colorModel = model;\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n\n public getWindSize() {\n const p1 = this.mapService.lngLatToPixel(this.imageCoords[0]);\n const p2 = this.mapService.lngLatToPixel(this.imageCoords[1]);\n\n const imageWidth = Math.floor((p2.x - p1.x) * this.sizeScale);\n const imageHeight = Math.floor((p1.y - p2.y) * this.sizeScale);\n return { imageWidth, imageHeight };\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n this.initModels(callbackModel);\n }\n\n public clearModels(): void {\n this.texture?.destroy();\n this.wind?.destroy();\n }\n\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\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 drawWind() {\n if (this.wind) {\n const {\n uMin = -21.32,\n uMax = 26.8,\n vMin = -21.57,\n vMax = 21.42,\n numParticles = 65535,\n fadeOpacity = 0.996,\n speedFactor = 0.25,\n dropRate = 0.003,\n dropRateBump = 0.01,\n rampColors = defaultRampColors,\n sizeScale = 0.5,\n } = this.layer.getLayerConfig() as IWindLayerStyleOptions;\n if (typeof sizeScale === 'number' && sizeScale !== this.sizeScale) {\n this.sizeScale = sizeScale;\n const { imageWidth, imageHeight } = this.getWindSize();\n this.wind.reSize(imageWidth, imageHeight);\n }\n\n this.wind.updateWindDir(uMin, uMax, vMin, vMax);\n\n this.wind.updateParticelNum(numParticles);\n\n this.wind.updateColorRampTexture(rampColors);\n\n this.wind.fadeOpacity = fadeOpacity;\n this.wind.speedFactor = speedFactor;\n this.wind.dropRate = dropRate;\n this.wind.dropRateBump = dropRateBump;\n\n const { d, w, h } = this.wind.draw();\n // TODO: 恢复 L7 渲染流程中 gl 状态\n this.rendererService.setBaseState();\n this.texture.update({\n data: d,\n width: w,\n height: h,\n });\n }\n }\n\n private drawColorMode() {\n const { opacity } = this.layer.getLayerConfig() as IWindLayerStyleOptions;\n this.colorModel?.draw({\n uniforms: {\n u_opacity: opacity || 1.0,\n u_texture: this.texture,\n },\n });\n }\n}\n"],"file":"wind.js"}
1
+ {"version":3,"sources":["../../../src/wind/models/wind.ts"],"names":["defaultRampColors","WindModel","FrequencyController","frequency","run","drawWind","drawColorMode","Error","layer","getLayerConfig","uMin","uMax","vMin","vMax","fadeOpacity","speedFactor","dropRate","dropRateBump","rampColors","sizeScale","mask","maskInside","createTexture2D","rendererService","source","getSource","texture","height","width","glContext","getGLContext","imageCoords","data","dataArray","coordinates","images","then","imageData","getWindSize","imageWidth","imageHeight","options","wind","Wind","setWind","image","layerService","updateLayerRenderList","renderLayers","colorModel","buildLayerModel","moduleName","vertexShader","WindVert","fragmentShader","WindFrag","triangulation","RasterImageTriangulation","primitive","gl","TRIANGLES","depth","enable","blend","getBlend","p1","mapService","lngLatToPixel","p2","Math","floor","x","y","initModels","destroy","properties","opacity","type","minimum","maximum","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","numParticles","reSize","updateWindDir","updateParticelNum","updateColorRampTexture","draw","d","w","h","setBaseState","uniforms","u_opacity","u_texture","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n Point,\n} from '@antv/l7-core';\nimport { FrequencyController, getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IWindLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport WindFrag from '../shaders/wind_frag.glsl';\nimport WindVert from '../shaders/wind_vert.glsl';\nimport { IWind, IWindProps, Wind } from './windRender';\n\nconst defaultRampColors = {\n 0.0: '#3288bd',\n 0.1: '#66c2a5',\n 0.2: '#abdda4',\n 0.3: '#e6f598',\n 0.4: '#fee08b',\n 0.5: '#fdae61',\n 0.6: '#f46d43',\n 1.0: '#d53e4f',\n};\n\nexport default class WindModel extends BaseModel {\n protected texture: ITexture2D;\n private colorModel: IModel;\n private wind: IWind;\n private imageCoords: [Point, Point];\n private sizeScale: number = 0.5;\n // https://mapbox.github.io/webgl-wind/demo/\n // source: 'http://nomads.ncep.noaa.gov',\n\n private frequency = new FrequencyController(7.2);\n\n public render() {\n // TODO: 控制风场的平均更新频率\n this.frequency.run(() => {\n this.drawWind();\n });\n this.drawColorMode();\n }\n\n public getUninforms(): IModelUniform {\n throw new Error('Method not implemented.');\n }\n\n public initModels() {\n const {\n uMin = -21.32,\n uMax = 26.8,\n vMin = -21.57,\n vMax = 21.42,\n fadeOpacity = 0.996,\n speedFactor = 0.25,\n dropRate = 0.003,\n dropRateBump = 0.01,\n rampColors = defaultRampColors,\n sizeScale = 0.5,\n // mask\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IWindLayerStyleOptions;\n const { createTexture2D } = this.rendererService;\n const source = this.layer.getSource();\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n\n const glContext = this.rendererService.getGLContext();\n this.imageCoords = source.data.dataArray[0].coordinates as [Point, Point];\n\n source.data.images.then((imageData: HTMLImageElement[]) => {\n this.sizeScale = sizeScale;\n\n const { imageWidth, imageHeight } = this.getWindSize();\n\n const options: IWindProps = {\n glContext,\n imageWidth,\n imageHeight,\n fadeOpacity,\n speedFactor,\n dropRate,\n dropRateBump,\n rampColors,\n };\n\n this.wind = new Wind(options);\n\n // imageData[0] 风场图\n this.wind.setWind({\n uMin,\n uMax,\n vMin,\n vMax,\n image: imageData[0],\n });\n\n this.texture = createTexture2D({\n data: imageData[0],\n width: imageData[0].width,\n height: imageData[0].height,\n });\n\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n });\n\n this.colorModel = this.layer.buildLayerModel({\n moduleName: 'WindLayer',\n vertexShader: WindVert,\n fragmentShader: WindFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n // stencil: getMask(mask, maskInside),\n });\n\n return [this.colorModel];\n }\n\n public getWindSize() {\n const p1 = this.mapService.lngLatToPixel(this.imageCoords[0]);\n const p2 = this.mapService.lngLatToPixel(this.imageCoords[1]);\n\n const imageWidth = Math.floor((p2.x - p1.x) * this.sizeScale);\n const imageHeight = Math.floor((p1.y - p2.y) * this.sizeScale);\n return { imageWidth, imageHeight };\n }\n\n public buildModels() {\n return this.initModels();\n }\n\n public clearModels(): void {\n this.texture?.destroy();\n this.wind?.destroy();\n }\n\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\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 drawWind() {\n if (this.wind) {\n const {\n uMin = -21.32,\n uMax = 26.8,\n vMin = -21.57,\n vMax = 21.42,\n numParticles = 65535,\n fadeOpacity = 0.996,\n speedFactor = 0.25,\n dropRate = 0.003,\n dropRateBump = 0.01,\n rampColors = defaultRampColors,\n sizeScale = 0.5,\n } = this.layer.getLayerConfig() as IWindLayerStyleOptions;\n if (typeof sizeScale === 'number' && sizeScale !== this.sizeScale) {\n this.sizeScale = sizeScale;\n const { imageWidth, imageHeight } = this.getWindSize();\n this.wind.reSize(imageWidth, imageHeight);\n }\n\n this.wind.updateWindDir(uMin, uMax, vMin, vMax);\n\n this.wind.updateParticelNum(numParticles);\n\n this.wind.updateColorRampTexture(rampColors);\n\n this.wind.fadeOpacity = fadeOpacity;\n this.wind.speedFactor = speedFactor;\n this.wind.dropRate = dropRate;\n this.wind.dropRateBump = dropRateBump;\n\n const { d, w, h } = this.wind.draw();\n // TODO: 恢复 L7 渲染流程中 gl 状态\n this.rendererService.setBaseState();\n this.texture.update({\n data: d,\n width: w,\n height: h,\n });\n }\n }\n\n private drawColorMode() {\n const { opacity } = this.layer.getLayerConfig() as IWindLayerStyleOptions;\n this.colorModel.draw({\n uniforms: {\n u_opacity: opacity || 1.0,\n u_texture: this.texture,\n },\n });\n }\n}\n"],"file":"wind.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antv/l7-layers",
3
- "version": "2.9.17-alpha.0",
3
+ "version": "2.9.17",
4
4
  "description": "L7's collection of built-in layers",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -9,7 +9,6 @@
9
9
  "./es/index.js"
10
10
  ],
11
11
  "files": [
12
- "dist",
13
12
  "lib",
14
13
  "es",
15
14
  "README.md"
@@ -18,17 +17,17 @@
18
17
  "tsc": "tsc --project tsconfig.build.json",
19
18
  "clean": "rimraf dist; rimraf es; rimraf lib;",
20
19
  "build": "run-p build:*",
21
- "build:cjs": "cross-env BABEL_ENV=cjs NODE_ENV=production babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
22
- "build:esm": "cross-env BABEL_ENV=esm NODE_ENV=production babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
23
- "watch": "cross-env BABEL_ENV=cjs NODE_ENV=production babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
20
+ "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
21
+ "build:esm": "BABEL_ENV=esm babel src --root-mode upward --out-dir es --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
22
+ "watch": "BABEL_ENV=cjs babel src --watch --root-mode upward --out-dir lib --source-maps --extensions .ts,.tsx --delete-dir-on-start --no-comments",
24
23
  "sync": "tnpm sync"
25
24
  },
26
25
  "author": "xiaoiver",
27
26
  "license": "ISC",
28
27
  "dependencies": {
29
- "@antv/l7-core": "2.9.17-alpha.0",
30
- "@antv/l7-source": "2.9.17-alpha.0",
31
- "@antv/l7-utils": "2.9.17-alpha.0",
28
+ "@antv/l7-core": "2.9.17",
29
+ "@antv/l7-source": "2.9.17",
30
+ "@antv/l7-utils": "2.9.17",
32
31
  "@babel/runtime": "^7.7.7",
33
32
  "@mapbox/martini": "^0.2.0",
34
33
  "@turf/helpers": "^6.1.4",
@@ -58,7 +57,7 @@
58
57
  "@types/gl-matrix": "^2.4.5",
59
58
  "@types/lodash": "^4.14.138"
60
59
  },
61
- "gitHead": "40e29ed8c7e46515bd76123a87f6b93c587f4f04",
60
+ "gitHead": "47d1b2e7fcd601a83e5270d19ceba9f18298377a",
62
61
  "publishConfig": {
63
62
  "access": "public"
64
63
  }