@antv/l7-layers 2.10.6 → 2.10.9

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 (388) 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/index.d.ts +1 -1
  6. package/es/Geometry/models/plane.d.ts +2 -2
  7. package/es/Geometry/models/plane.js +80 -40
  8. package/es/Geometry/models/sprite.d.ts +2 -2
  9. package/es/Geometry/models/sprite.js +83 -45
  10. package/es/canvas/index.d.ts +2 -3
  11. package/es/canvas/index.js +29 -19
  12. package/es/canvas/models/canvas.d.ts +2 -2
  13. package/es/canvas/models/canvas.js +54 -15
  14. package/es/canvas/models/index.d.ts +1 -1
  15. package/es/citybuliding/building.d.ts +2 -3
  16. package/es/citybuliding/building.js +26 -17
  17. package/es/citybuliding/models/build.d.ts +2 -2
  18. package/es/citybuliding/models/build.js +70 -25
  19. package/es/core/BaseLayer.d.ts +22 -18
  20. package/es/core/BaseLayer.js +387 -266
  21. package/es/core/BaseModel.d.ts +5 -5
  22. package/es/core/BaseModel.js +47 -6
  23. package/es/core/LayerPickService.d.ts +12 -0
  24. package/es/core/LayerPickService.js +165 -0
  25. package/es/core/TextureService.d.ts +14 -0
  26. package/es/core/TextureService.js +67 -0
  27. package/es/core/shape/Path.d.ts +2 -2
  28. package/es/core/triangulation.js +8 -1
  29. package/es/earth/index.d.ts +3 -3
  30. package/es/earth/index.js +28 -9
  31. package/es/earth/models/atmosphere.d.ts +2 -2
  32. package/es/earth/models/atmosphere.js +67 -22
  33. package/es/earth/models/base.d.ts +2 -2
  34. package/es/earth/models/base.js +89 -43
  35. package/es/earth/models/bloomsphere.d.ts +2 -2
  36. package/es/earth/models/bloomsphere.js +67 -22
  37. package/es/heatmap/index.d.ts +2 -3
  38. package/es/heatmap/index.js +33 -24
  39. package/es/heatmap/models/grid.d.ts +2 -2
  40. package/es/heatmap/models/grid.js +68 -27
  41. package/es/heatmap/models/grid3d.d.ts +2 -2
  42. package/es/heatmap/models/grid3d.js +70 -29
  43. package/es/heatmap/models/heatmap.d.ts +2 -2
  44. package/es/heatmap/models/heatmap.js +40 -14
  45. package/es/heatmap/models/hexagon.d.ts +2 -2
  46. package/es/heatmap/models/hexagon.js +69 -28
  47. package/es/heatmap/models/index.d.ts +1 -1
  48. package/es/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
  49. package/es/image/index.d.ts +3 -4
  50. package/es/image/index.js +29 -34
  51. package/es/image/models/image.d.ts +2 -2
  52. package/es/image/models/image.js +117 -67
  53. package/es/image/models/index.d.ts +1 -1
  54. package/es/image/models/index.js +1 -5
  55. package/es/image/shaders/dataImage_frag.glsl +10 -16
  56. package/es/index.d.ts +2 -2
  57. package/es/index.js +2 -2
  58. package/es/line/index.d.ts +5 -4
  59. package/es/line/index.js +51 -25
  60. package/es/line/models/arc.d.ts +2 -2
  61. package/es/line/models/arc.js +73 -38
  62. package/es/line/models/arc_3d.d.ts +2 -2
  63. package/es/line/models/arc_3d.js +69 -34
  64. package/es/line/models/earthArc_3d.d.ts +2 -2
  65. package/es/line/models/earthArc_3d.js +72 -37
  66. package/es/line/models/great_circle.d.ts +2 -2
  67. package/es/line/models/great_circle.js +70 -29
  68. package/es/line/models/half.d.ts +2 -2
  69. package/es/line/models/half.js +40 -17
  70. package/es/line/models/index.d.ts +1 -1
  71. package/es/line/models/index.js +0 -2
  72. package/es/line/models/line.d.ts +2 -2
  73. package/es/line/models/line.js +79 -47
  74. package/es/line/models/linearline.d.ts +2 -2
  75. package/es/line/models/linearline.js +70 -31
  76. package/es/line/models/simpleLine.d.ts +2 -2
  77. package/es/line/models/simpleLine.js +71 -34
  78. package/es/line/models/simpleTileLine.d.ts +2 -2
  79. package/es/line/models/simpleTileLine.js +70 -30
  80. package/es/line/models/tile.d.ts +2 -2
  81. package/es/line/models/tile.js +40 -17
  82. package/es/line/models/wall.d.ts +2 -2
  83. package/es/line/models/wall.js +67 -22
  84. package/es/mask/index.d.ts +2 -4
  85. package/es/mask/index.js +27 -97
  86. package/es/mask/models/fill.d.ts +2 -2
  87. package/es/mask/models/fill.js +40 -16
  88. package/es/mask/models/index.d.ts +1 -1
  89. package/es/mask/models/index.js +1 -3
  90. package/es/plugins/DataMappingPlugin.d.ts +0 -2
  91. package/es/plugins/DataMappingPlugin.js +90 -152
  92. package/es/plugins/DataSourcePlugin.js +67 -30
  93. package/es/plugins/FeatureScalePlugin.d.ts +0 -1
  94. package/es/plugins/FeatureScalePlugin.js +85 -61
  95. package/es/plugins/LayerModelPlugin.d.ts +2 -2
  96. package/es/plugins/LayerModelPlugin.js +121 -37
  97. package/es/plugins/LayerStylePlugin.js +1 -6
  98. package/es/plugins/MultiPassRendererPlugin.js +1 -1
  99. package/es/plugins/PixelPickingPlugin.js +1 -1
  100. package/es/plugins/RegisterStyleAttributePlugin.js +1 -16
  101. package/es/plugins/UpdateModelPlugin.js +3 -0
  102. package/es/plugins/UpdateStyleAttributePlugin.js +3 -6
  103. package/es/point/index.d.ts +4 -4
  104. package/es/point/index.js +55 -23
  105. package/es/point/models/earthExtrude.d.ts +2 -2
  106. package/es/point/models/earthExtrude.js +73 -30
  107. package/es/point/models/earthFill.d.ts +2 -2
  108. package/es/point/models/earthFill.js +66 -21
  109. package/es/point/models/extrude.d.ts +2 -2
  110. package/es/point/models/extrude.js +40 -17
  111. package/es/point/models/fill.d.ts +2 -2
  112. package/es/point/models/fill.js +43 -20
  113. package/es/point/models/fillmage.d.ts +2 -2
  114. package/es/point/models/fillmage.js +82 -43
  115. package/es/point/models/image.d.ts +2 -2
  116. package/es/point/models/image.js +72 -31
  117. package/es/point/models/index.d.ts +1 -1
  118. package/es/point/models/index.js +0 -2
  119. package/es/point/models/normal.d.ts +2 -2
  120. package/es/point/models/normal.js +71 -30
  121. package/es/point/models/radar.d.ts +2 -2
  122. package/es/point/models/radar.js +75 -35
  123. package/es/point/models/simplePoint.d.ts +2 -2
  124. package/es/point/models/simplePoint.js +70 -29
  125. package/es/point/models/text.d.ts +3 -2
  126. package/es/point/models/text.js +185 -112
  127. package/es/point/models/tile.d.ts +2 -2
  128. package/es/point/models/tile.js +77 -35
  129. package/es/point/models/tileText.d.ts +2 -2
  130. package/es/point/models/tileText.js +151 -116
  131. package/es/polygon/index.d.ts +2 -3
  132. package/es/polygon/index.js +27 -24
  133. package/es/polygon/models/extrude.d.ts +2 -2
  134. package/es/polygon/models/extrude.js +66 -29
  135. package/es/polygon/models/fill.d.ts +2 -2
  136. package/es/polygon/models/fill.js +76 -43
  137. package/es/polygon/models/index.d.ts +1 -1
  138. package/es/polygon/models/index.js +0 -2
  139. package/es/polygon/models/ocean.d.ts +2 -2
  140. package/es/polygon/models/ocean.js +69 -28
  141. package/es/polygon/models/tile.d.ts +2 -2
  142. package/es/polygon/models/tile.js +70 -30
  143. package/es/polygon/models/water.d.ts +2 -2
  144. package/es/polygon/models/water.js +69 -28
  145. package/es/raster/index.d.ts +2 -3
  146. package/es/raster/index.js +30 -20
  147. package/es/raster/models/index.d.ts +1 -1
  148. package/es/raster/models/index.js +2 -2
  149. package/es/raster/models/raster.d.ts +2 -2
  150. package/es/raster/models/raster.js +39 -28
  151. package/es/raster/models/rasterRgb.d.ts +7 -8
  152. package/es/raster/models/rasterRgb.js +75 -45
  153. package/es/{image/models/tileDataImage.d.ts → raster/models/rasterTerrainRgb.d.ts} +3 -3
  154. package/es/raster/models/rasterTerrainRgb.js +184 -0
  155. package/es/raster/models/rasterTile.d.ts +2 -2
  156. package/es/raster/models/rasterTile.js +78 -37
  157. package/es/raster/shaders/raster_2d_frag.glsl +2 -38
  158. package/es/raster/shaders/raster_rgb_frag.glsl +10 -4
  159. package/es/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
  160. package/es/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
  161. package/es/tile/interaction/getRasterData.d.ts +2 -2
  162. package/es/tile/interaction/utils.js +3 -11
  163. package/es/tile/interface.d.ts +7 -6
  164. package/es/tile/manager/base.d.ts +17 -12
  165. package/es/tile/manager/base.js +212 -47
  166. package/es/tile/service/TileLayerService.d.ts +34 -0
  167. package/es/tile/service/TileLayerService.js +220 -0
  168. package/es/tile/service/TilePickService.d.ts +26 -0
  169. package/es/tile/service/TilePickService.js +174 -0
  170. package/es/tile/service/TileSourceService.d.ts +7 -0
  171. package/es/tile/service/TileSourceService.js +39 -0
  172. package/es/tile/style/constants.d.ts +1 -13
  173. package/es/tile/style/constants.js +6 -15
  174. package/es/tile/style/utils.d.ts +1 -8
  175. package/es/tile/style/utils.js +0 -126
  176. package/es/tile/tileFactory/DebugTile.d.ts +16 -0
  177. package/es/tile/tileFactory/DebugTile.js +100 -0
  178. package/es/tile/tileFactory/ImageTile.d.ts +14 -0
  179. package/es/tile/tileFactory/ImageTile.js +89 -0
  180. package/es/tile/tileFactory/MaskTile.d.ts +18 -0
  181. package/es/tile/tileFactory/MaskTile.js +105 -0
  182. package/es/tile/tileFactory/RasterRGBTile.d.ts +11 -0
  183. package/es/tile/tileFactory/RasterRGBTile.js +98 -0
  184. package/es/tile/tileFactory/RasterTerrainRGBTile.d.ts +14 -0
  185. package/es/tile/tileFactory/RasterTerrainRGBTile.js +89 -0
  186. package/es/tile/tileFactory/RasterTile.d.ts +18 -0
  187. package/es/tile/tileFactory/RasterTile.js +133 -0
  188. package/es/tile/tileFactory/Tile.d.ts +34 -0
  189. package/es/tile/tileFactory/Tile.js +161 -0
  190. package/es/tile/tileFactory/VectorTile.d.ts +27 -0
  191. package/es/tile/tileFactory/VectorTile.js +198 -0
  192. package/es/tile/tileFactory/index.d.ts +11 -4
  193. package/es/tile/tileFactory/index.js +34 -23
  194. package/es/tile/tileFactory/layers/{rasterDataLayer.d.ts → RasterDataLayer.d.ts} +3 -3
  195. package/es/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +34 -22
  196. package/es/tile/tileFactory/layers/{tileTest.d.ts → TileDebugLayer.d.ts} +2 -2
  197. package/es/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +23 -10
  198. package/es/tile/tileFactory/util.d.ts +5 -0
  199. package/es/tile/tileFactory/util.js +21 -0
  200. package/es/tile/tileLayer/BaseLayer.d.ts +45 -0
  201. package/es/tile/tileLayer/BaseLayer.js +348 -0
  202. package/es/tile/utils.d.ts +1 -11
  203. package/es/tile/utils.js +0 -129
  204. package/es/utils/dataMappingStyle.d.ts +4 -4
  205. package/es/utils/dataMappingStyle.js +16 -18
  206. package/es/utils/grid-index.d.ts +1 -1
  207. package/es/utils/layerData.js +5 -11
  208. package/es/utils/symbol-layout.d.ts +1 -1
  209. package/es/wind/index.d.ts +2 -3
  210. package/es/wind/index.js +27 -17
  211. package/es/wind/models/index.d.ts +1 -1
  212. package/es/wind/models/wind.d.ts +2 -2
  213. package/es/wind/models/wind.js +123 -104
  214. package/lib/Geometry/index.js +29 -17
  215. package/lib/Geometry/models/billboard.js +79 -37
  216. package/lib/Geometry/models/plane.js +82 -40
  217. package/lib/Geometry/models/sprite.js +85 -45
  218. package/lib/canvas/index.js +31 -19
  219. package/lib/canvas/models/canvas.js +56 -15
  220. package/lib/citybuliding/building.js +28 -17
  221. package/lib/citybuliding/models/build.js +72 -25
  222. package/lib/core/BaseLayer.js +388 -261
  223. package/lib/core/BaseModel.js +48 -6
  224. package/lib/core/LayerPickService.js +179 -0
  225. package/lib/core/TextureService.js +77 -0
  226. package/lib/core/triangulation.js +8 -1
  227. package/lib/earth/index.js +30 -9
  228. package/lib/earth/models/atmosphere.js +69 -22
  229. package/lib/earth/models/base.js +90 -42
  230. package/lib/earth/models/bloomsphere.js +69 -22
  231. package/lib/heatmap/index.js +35 -24
  232. package/lib/heatmap/models/grid.js +70 -27
  233. package/lib/heatmap/models/grid3d.js +72 -29
  234. package/lib/heatmap/models/heatmap.js +40 -14
  235. package/lib/heatmap/models/hexagon.js +71 -28
  236. package/lib/heatmap/shaders/hexagon_3d_vert.glsl +2 -13
  237. package/lib/image/index.js +31 -34
  238. package/lib/image/models/image.js +119 -67
  239. package/lib/image/models/index.js +1 -7
  240. package/lib/image/shaders/dataImage_frag.glsl +10 -16
  241. package/lib/index.js +5 -5
  242. package/lib/line/index.js +53 -26
  243. package/lib/line/models/arc.js +75 -38
  244. package/lib/line/models/arc_3d.js +71 -34
  245. package/lib/line/models/earthArc_3d.js +74 -37
  246. package/lib/line/models/great_circle.js +72 -29
  247. package/lib/line/models/half.js +40 -17
  248. package/lib/line/models/index.js +0 -3
  249. package/lib/line/models/line.js +81 -47
  250. package/lib/line/models/linearline.js +72 -31
  251. package/lib/line/models/simpleLine.js +73 -34
  252. package/lib/line/models/simpleTileLine.js +72 -30
  253. package/lib/line/models/tile.js +40 -17
  254. package/lib/line/models/wall.js +69 -22
  255. package/lib/mask/index.js +28 -99
  256. package/lib/mask/models/fill.js +40 -16
  257. package/lib/mask/models/index.js +1 -4
  258. package/lib/plugins/DataMappingPlugin.js +91 -149
  259. package/lib/plugins/DataSourcePlugin.js +69 -30
  260. package/lib/plugins/FeatureScalePlugin.js +87 -61
  261. package/lib/plugins/LayerModelPlugin.js +128 -41
  262. package/lib/plugins/LayerStylePlugin.js +1 -6
  263. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  264. package/lib/plugins/PixelPickingPlugin.js +1 -1
  265. package/lib/plugins/RegisterStyleAttributePlugin.js +1 -16
  266. package/lib/plugins/UpdateModelPlugin.js +3 -0
  267. package/lib/plugins/UpdateStyleAttributePlugin.js +3 -6
  268. package/lib/point/index.js +56 -24
  269. package/lib/point/models/earthExtrude.js +75 -30
  270. package/lib/point/models/earthFill.js +68 -21
  271. package/lib/point/models/extrude.js +40 -17
  272. package/lib/point/models/fill.js +44 -21
  273. package/lib/point/models/fillmage.js +84 -43
  274. package/lib/point/models/image.js +74 -31
  275. package/lib/point/models/index.js +0 -3
  276. package/lib/point/models/normal.js +73 -30
  277. package/lib/point/models/radar.js +77 -35
  278. package/lib/point/models/simplePoint.js +72 -29
  279. package/lib/point/models/text.js +185 -111
  280. package/lib/point/models/tile.js +79 -35
  281. package/lib/point/models/tileText.js +151 -115
  282. package/lib/polygon/index.js +29 -25
  283. package/lib/polygon/models/extrude.js +68 -29
  284. package/lib/polygon/models/fill.js +78 -43
  285. package/lib/polygon/models/index.js +0 -3
  286. package/lib/polygon/models/ocean.js +71 -28
  287. package/lib/polygon/models/tile.js +72 -30
  288. package/lib/polygon/models/water.js +71 -28
  289. package/lib/raster/index.js +32 -20
  290. package/lib/raster/models/index.js +3 -3
  291. package/lib/raster/models/raster.js +39 -29
  292. package/lib/raster/models/rasterRgb.js +78 -43
  293. package/lib/raster/models/rasterTerrainRgb.js +200 -0
  294. package/lib/raster/models/rasterTile.js +80 -37
  295. package/lib/raster/shaders/raster_2d_frag.glsl +2 -38
  296. package/lib/raster/shaders/raster_rgb_frag.glsl +10 -4
  297. package/lib/raster/shaders/raster_terrain_rgb_frag.glsl +31 -0
  298. package/lib/raster/shaders/rater_terrain_rgb_vert.glsl +17 -0
  299. package/lib/tile/interaction/utils.js +3 -11
  300. package/lib/tile/manager/base.js +213 -47
  301. package/lib/tile/service/TileLayerService.js +233 -0
  302. package/lib/tile/service/TilePickService.js +190 -0
  303. package/lib/tile/service/TileSourceService.js +59 -0
  304. package/lib/tile/style/constants.js +8 -19
  305. package/lib/tile/style/utils.js +0 -140
  306. package/lib/tile/tileFactory/DebugTile.js +115 -0
  307. package/lib/tile/tileFactory/ImageTile.js +104 -0
  308. package/lib/tile/tileFactory/MaskTile.js +120 -0
  309. package/lib/tile/tileFactory/RasterRGBTile.js +112 -0
  310. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +104 -0
  311. package/lib/tile/tileFactory/RasterTile.js +149 -0
  312. package/lib/tile/tileFactory/Tile.js +171 -0
  313. package/lib/tile/tileFactory/VectorTile.js +214 -0
  314. package/lib/tile/tileFactory/index.js +46 -23
  315. package/lib/tile/tileFactory/layers/{rasterDataLayer.js → RasterDataLayer.js} +36 -22
  316. package/lib/tile/tileFactory/layers/{tileTest.js → TileDebugLayer.js} +24 -11
  317. package/lib/tile/tileFactory/util.js +35 -0
  318. package/lib/tile/tileLayer/BaseLayer.js +363 -0
  319. package/lib/tile/utils.js +0 -148
  320. package/lib/utils/dataMappingStyle.js +18 -20
  321. package/lib/utils/layerData.js +4 -10
  322. package/lib/wind/index.js +29 -17
  323. package/lib/wind/models/wind.js +125 -104
  324. package/package.json +7 -7
  325. package/es/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  326. package/es/image/models/dataImage.d.ts +0 -13
  327. package/es/image/models/dataImage.js +0 -186
  328. package/es/image/models/tileDataImage.js +0 -160
  329. package/es/raster/raster.d.ts +0 -21
  330. package/es/raster/raster.js +0 -161
  331. package/es/tile/interaction/TilePickService.d.ts +0 -16
  332. package/es/tile/interaction/TilePickService.js +0 -129
  333. package/es/tile/manager/layerManager.d.ts +0 -19
  334. package/es/tile/manager/layerManager.js +0 -254
  335. package/es/tile/manager/mapLayerManager.d.ts +0 -7
  336. package/es/tile/manager/mapLayerManager.js +0 -119
  337. package/es/tile/models/tileModel.d.ts +0 -10
  338. package/es/tile/models/tileModel.js +0 -81
  339. package/es/tile/render/TileRenderService.d.ts +0 -10
  340. package/es/tile/render/TileRenderService.js +0 -68
  341. package/es/tile/style/TileStyleService.d.ts +0 -17
  342. package/es/tile/style/TileStyleService.js +0 -118
  343. package/es/tile/tileFactory/base.d.ts +0 -45
  344. package/es/tile/tileFactory/base.js +0 -403
  345. package/es/tile/tileFactory/layers/vectorLayer.d.ts +0 -30
  346. package/es/tile/tileFactory/layers/vectorLayer.js +0 -253
  347. package/es/tile/tileFactory/line.d.ts +0 -12
  348. package/es/tile/tileFactory/line.js +0 -59
  349. package/es/tile/tileFactory/mask.d.ts +0 -12
  350. package/es/tile/tileFactory/mask.js +0 -60
  351. package/es/tile/tileFactory/point.d.ts +0 -12
  352. package/es/tile/tileFactory/point.js +0 -60
  353. package/es/tile/tileFactory/polygon.d.ts +0 -12
  354. package/es/tile/tileFactory/polygon.js +0 -59
  355. package/es/tile/tileFactory/raster.d.ts +0 -12
  356. package/es/tile/tileFactory/raster.js +0 -55
  357. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  358. package/es/tile/tileFactory/rasterData.js +0 -81
  359. package/es/tile/tileFactory/test.d.ts +0 -12
  360. package/es/tile/tileFactory/test.js +0 -94
  361. package/es/tile/tileLayer/MapTileLayer.d.ts +0 -6
  362. package/es/tile/tileLayer/MapTileLayer.js +0 -48
  363. package/es/tile/tileLayer/TileLayer.d.ts +0 -22
  364. package/es/tile/tileLayer/TileLayer.js +0 -198
  365. package/es/tile/tileLayer/base.d.ts +0 -33
  366. package/es/tile/tileLayer/base.js +0 -212
  367. package/lib/heatmap/shaders/hexagon_3d_frag.glsl +0 -0
  368. package/lib/image/models/dataImage.js +0 -201
  369. package/lib/image/models/tileDataImage.js +0 -174
  370. package/lib/raster/raster.js +0 -178
  371. package/lib/tile/interaction/TilePickService.js +0 -143
  372. package/lib/tile/manager/layerManager.js +0 -275
  373. package/lib/tile/manager/mapLayerManager.js +0 -134
  374. package/lib/tile/models/tileModel.js +0 -94
  375. package/lib/tile/render/TileRenderService.js +0 -78
  376. package/lib/tile/style/TileStyleService.js +0 -133
  377. package/lib/tile/tileFactory/base.js +0 -427
  378. package/lib/tile/tileFactory/layers/vectorLayer.js +0 -268
  379. package/lib/tile/tileFactory/line.js +0 -70
  380. package/lib/tile/tileFactory/mask.js +0 -71
  381. package/lib/tile/tileFactory/point.js +0 -71
  382. package/lib/tile/tileFactory/polygon.js +0 -70
  383. package/lib/tile/tileFactory/raster.js +0 -68
  384. package/lib/tile/tileFactory/rasterData.js +0 -93
  385. package/lib/tile/tileFactory/test.js +0 -106
  386. package/lib/tile/tileLayer/MapTileLayer.js +0 -63
  387. package/lib/tile/tileLayer/TileLayer.js +0 -215
  388. package/lib/tile/tileLayer/base.js +0 -225
@@ -1,10 +1,10 @@
1
- import RasterTileModel from "../../tile/models/tileModel";
2
1
  import RasterModel from "./raster";
3
2
  import RasterRgbModel from "./rasterRgb";
3
+ import RasterTerrainRGB from "./rasterTerrainRgb";
4
4
  var RasterModels = {
5
5
  raster: RasterModel,
6
6
  rasterRgb: RasterRgbModel,
7
7
  raster3d: RasterModel,
8
- rasterTile: RasterTileModel
8
+ rasterTerrainRgb: RasterTerrainRGB
9
9
  };
10
10
  export default RasterModels;
@@ -14,8 +14,8 @@ export default class RasterModel extends BaseModel {
14
14
  u_colorTexture: ITexture2D;
15
15
  };
16
16
  private getRasterData;
17
- initModels(callbackModel: (models: IModel[]) => void): Promise<void>;
18
- buildModels(callbackModel: (models: IModel[]) => void): void;
17
+ initModels(): Promise<IModel[]>;
18
+ buildModels(): Promise<IModel[]>;
19
19
  clearModels(): void;
20
20
  protected registerBuiltinAttributes(): void;
21
21
  private updateColorTexture;
@@ -12,12 +12,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
12
12
 
13
13
  import { AttributeType, gl } from '@antv/l7-core';
14
14
  import { generateColorRamp, getMask } from '@antv/l7-utils';
15
- import { isEqual } from 'lodash';
16
15
  import BaseModel from "../../core/BaseModel";
17
16
  import { RasterImageTriangulation } from "../../core/triangulation";
18
17
 
19
18
  /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
20
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\n\n\n// float getBlurIndusty() {\n// vec2 u_ViewportSize = vec2(1024);\n\n// float vW = 2.0/u_ViewportSize.x;\n// float vH = 2.0/u_ViewportSize.y;\n// vec2 vUv = v_texCoord;\n// float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n// float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;\n// float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;\n\n// float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;\n// float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;\n// float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;\n\n// float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;\n// float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;\n// float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;\n\n// return(\n// i11 + \n// i12 + \n// i13 + \n// i21 + \n// i21 + \n// i22 + \n// i23 + \n// i31 + \n// i32 + \n// i33\n// )/9.0;\n// }\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n\n // float value = getBlurIndusty();\n\n\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
19
+ var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\nbool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }\n\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue || isnan_emu(value))\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
21
20
 
22
21
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
23
22
  var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
@@ -49,11 +48,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
49
48
  domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
50
49
  rampColors = _ref.rampColors;
51
50
 
52
- if (!isEqual(this.rampColors, rampColors)) {
53
- this.updateColorTexture();
54
- this.rampColors = rampColors;
55
- }
56
-
51
+ this.colorTexture = this.layer.textureService.getColorTexture(rampColors);
57
52
  return {
58
53
  u_opacity: opacity || 1,
59
54
  u_texture: this.texture,
@@ -117,14 +112,14 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
117
112
  }, {
118
113
  key: "initModels",
119
114
  value: function () {
120
- var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(callbackModel) {
121
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, rampColorsData, rampColors, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, imageData;
115
+ var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
116
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
122
117
 
123
118
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
124
119
  while (1) {
125
120
  switch (_context2.prev = _context2.next) {
126
121
  case 0:
127
- _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside, rampColorsData = _ref2.rampColorsData, rampColors = _ref2.rampColors;
122
+ _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
128
123
  source = this.layer.getSource();
129
124
  createTexture2D = this.rendererService.createTexture2D;
130
125
  parserDataItem = source.data.dataArray[0];
@@ -144,14 +139,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
144
139
  type: gl.FLOAT // aniso: 4,
145
140
 
146
141
  });
147
- imageData = rampColorsData ? rampColorsData : generateColorRamp(rampColors);
148
- this.colorTexture = createTexture2D({
149
- data: imageData.data,
150
- width: imageData.width,
151
- height: imageData.height,
152
- flipY: false
153
- });
154
- this.layer.buildLayerModel({
142
+ _context2.next = 13;
143
+ return this.layer.buildLayerModel({
155
144
  moduleName: 'rasterImageData',
156
145
  vertexShader: rasterVert,
157
146
  fragmentShader: rasterFrag,
@@ -161,14 +150,13 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
161
150
  enable: false
162
151
  },
163
152
  stencil: getMask(mask, maskInside)
164
- }).then(function (model) {
165
- callbackModel([model]);
166
- }).catch(function (err) {
167
- console.warn(err);
168
- callbackModel([]);
169
153
  });
170
154
 
171
- case 14:
155
+ case 13:
156
+ model = _context2.sent;
157
+ return _context2.abrupt("return", [model]);
158
+
159
+ case 15:
172
160
  case "end":
173
161
  return _context2.stop();
174
162
  }
@@ -176,7 +164,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
176
164
  }, _callee2, this);
177
165
  }));
178
166
 
179
- function initModels(_x2) {
167
+ function initModels() {
180
168
  return _initModels.apply(this, arguments);
181
169
  }
182
170
 
@@ -184,9 +172,32 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
184
172
  }()
185
173
  }, {
186
174
  key: "buildModels",
187
- value: function buildModels(callbackModel) {
188
- this.initModels(callbackModel);
189
- }
175
+ value: function () {
176
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
177
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
178
+ while (1) {
179
+ switch (_context3.prev = _context3.next) {
180
+ case 0:
181
+ _context3.next = 2;
182
+ return this.initModels();
183
+
184
+ case 2:
185
+ return _context3.abrupt("return", _context3.sent);
186
+
187
+ case 3:
188
+ case "end":
189
+ return _context3.stop();
190
+ }
191
+ }
192
+ }, _callee3, this);
193
+ }));
194
+
195
+ function buildModels() {
196
+ return _buildModels.apply(this, arguments);
197
+ }
198
+
199
+ return buildModels;
200
+ }()
190
201
  }, {
191
202
  key: "clearModels",
192
203
  value: function clearModels() {
@@ -2,19 +2,18 @@ import { IModel, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
3
  export default class RasterModel extends BaseModel {
4
4
  protected texture: ITexture2D;
5
- protected channelRMax: number;
6
- protected channelGMax: number;
7
- protected channelBMax: number;
5
+ protected dataOption: any;
8
6
  getUninforms(): {
9
7
  u_opacity: number;
10
8
  u_texture: ITexture2D;
11
- u_channelRMax: number;
12
- u_channelGMax: number;
13
- u_channelBMax: number;
9
+ u_noDataValue: number;
10
+ u_rminmax: any;
11
+ u_gminmax: any;
12
+ u_bminmax: any;
14
13
  };
15
14
  private getRasterData;
16
- initModels(callbackModel: (models: IModel[]) => void): Promise<void>;
17
- buildModels(callbackModel: (models: IModel[]) => void): void;
15
+ initModels(): Promise<IModel[]>;
16
+ buildModels(): Promise<IModel[]>;
18
17
  clearModels(): void;
19
18
  protected registerBuiltinAttributes(): void;
20
19
  }
@@ -1,3 +1,5 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
1
3
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
4
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
5
  import _createClass from "@babel/runtime/helpers/esm/createClass";
@@ -6,6 +8,8 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
8
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
7
9
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
10
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
11
+ var _excluded = ["data"],
12
+ _excluded2 = ["rasterData"];
9
13
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
14
 
11
15
  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); }; }
@@ -18,7 +22,7 @@ import BaseModel from "../../core/BaseModel";
18
22
  import { RasterImageTriangulation } from "../../core/triangulation";
19
23
 
20
24
  /* babel-plugin-inline-import '../shaders/raster_rgb_frag.glsl' */
21
- var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform float u_channelRMax: 256.;\nuniform float u_channelGMax: 256.;\nuniform float u_channelBMax: 256.;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;\n gl_FragColor = vec4(rgb.r/u_channelRMax, rgb.g/u_channelGMax, rgb.b/u_channelBMax, u_opacity);\n}";
25
+ var rasterFrag = "precision mediump float;\nuniform vec2 u_rminmax: vec2(0,255); \nuniform vec2 u_gminmax: vec2(0,255);\nuniform vec2 u_bminmax: vec2(0,255);\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform float u_noDataValue : 0.0;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;\n if(rgb == vec3(u_noDataValue)) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n gl_FragColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);\n }\n \n}";
22
26
 
23
27
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
24
28
  var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
@@ -39,11 +43,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
39
43
 
40
44
  _this = _super.call.apply(_super, [this].concat(args));
41
45
 
42
- _defineProperty(_assertThisInitialized(_this), "channelRMax", 256);
43
-
44
- _defineProperty(_assertThisInitialized(_this), "channelGMax", 256);
45
-
46
- _defineProperty(_assertThisInitialized(_this), "channelBMax", 256);
46
+ _defineProperty(_assertThisInitialized(_this), "dataOption", {});
47
47
 
48
48
  return _this;
49
49
  }
@@ -54,23 +54,27 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
54
54
  var _ref = this.layer.getLayerConfig(),
55
55
  _ref$opacity = _ref.opacity,
56
56
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
57
- channelRMax = _ref.channelRMax,
58
- channelGMax = _ref.channelGMax,
59
- channelBMax = _ref.channelBMax;
57
+ _ref$noDataValue = _ref.noDataValue,
58
+ noDataValue = _ref$noDataValue === void 0 ? 0 : _ref$noDataValue;
60
59
 
60
+ var _this$dataOption = this.dataOption,
61
+ rMinMax = _this$dataOption.rMinMax,
62
+ gMinMax = _this$dataOption.gMinMax,
63
+ bMinMax = _this$dataOption.bMinMax;
61
64
  return {
62
65
  u_opacity: opacity || 1,
63
66
  u_texture: this.texture,
64
- u_channelRMax: channelRMax !== undefined ? channelRMax : this.channelRMax,
65
- u_channelGMax: channelGMax !== undefined ? channelGMax : this.channelGMax,
66
- u_channelBMax: channelBMax !== undefined ? channelBMax : this.channelBMax
67
+ u_noDataValue: noDataValue,
68
+ u_rminmax: rMinMax,
69
+ u_gminmax: gMinMax,
70
+ u_bminmax: bMinMax
67
71
  };
68
72
  }
69
73
  }, {
70
74
  key: "getRasterData",
71
75
  value: function () {
72
76
  var _getRasterData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(parserDataItem) {
73
- var _yield$parserDataItem, rasterData, width, height, channelR, channelG, channelB;
77
+ var data, rescfg, _yield$parserDataItem, rasterData, rest;
74
78
 
75
79
  return _regeneratorRuntime.wrap(function _callee$(_context) {
76
80
  while (1) {
@@ -81,11 +85,11 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
81
85
  break;
82
86
  }
83
87
 
84
- return _context.abrupt("return", {
85
- data: parserDataItem.data,
86
- width: parserDataItem.width,
87
- height: parserDataItem.height
88
- });
88
+ data = parserDataItem.data, rescfg = _objectWithoutProperties(parserDataItem, _excluded);
89
+ this.dataOption = rescfg;
90
+ return _context.abrupt("return", _objectSpread({
91
+ data: data
92
+ }, rescfg));
89
93
 
90
94
  case 4:
91
95
  _context.next = 6;
@@ -94,21 +98,24 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
94
98
  case 6:
95
99
  _yield$parserDataItem = _context.sent;
96
100
  rasterData = _yield$parserDataItem.rasterData;
97
- width = _yield$parserDataItem.width;
98
- height = _yield$parserDataItem.height;
99
- channelR = _yield$parserDataItem.channelR;
100
- channelG = _yield$parserDataItem.channelG;
101
- channelB = _yield$parserDataItem.channelB;
102
- this.channelRMax = channelR;
103
- this.channelGMax = channelG;
104
- this.channelBMax = channelB;
105
- return _context.abrupt("return", {
106
- data: Array.from(rasterData),
107
- width: width,
108
- height: height
109
- });
101
+ rest = _objectWithoutProperties(_yield$parserDataItem, _excluded2);
102
+ this.dataOption = rest;
110
103
 
111
- case 17:
104
+ if (!Array.isArray(rasterData)) {
105
+ _context.next = 14;
106
+ break;
107
+ }
108
+
109
+ return _context.abrupt("return", _objectSpread({
110
+ data: rasterData
111
+ }, rest));
112
+
113
+ case 14:
114
+ return _context.abrupt("return", _objectSpread({
115
+ data: Array.from(rasterData)
116
+ }, rest));
117
+
118
+ case 15:
112
119
  case "end":
113
120
  return _context.stop();
114
121
  }
@@ -125,8 +132,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
125
132
  }, {
126
133
  key: "initModels",
127
134
  value: function () {
128
- var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(callbackModel) {
129
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height;
135
+ var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
136
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
130
137
 
131
138
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
132
139
  while (1) {
@@ -152,7 +159,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
152
159
  format: gl.RGB,
153
160
  type: gl.FLOAT
154
161
  });
155
- this.layer.buildLayerModel({
162
+ _context2.next = 13;
163
+ return this.layer.buildLayerModel({
156
164
  moduleName: 'rasterImageDataRGBA',
157
165
  vertexShader: rasterVert,
158
166
  fragmentShader: rasterFrag,
@@ -162,14 +170,13 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
162
170
  enable: false
163
171
  },
164
172
  stencil: getMask(mask, maskInside)
165
- }).then(function (model) {
166
- callbackModel([model]);
167
- }).catch(function (err) {
168
- console.warn(err);
169
- callbackModel([]);
170
173
  });
171
174
 
172
- case 12:
175
+ case 13:
176
+ model = _context2.sent;
177
+ return _context2.abrupt("return", [model]);
178
+
179
+ case 15:
173
180
  case "end":
174
181
  return _context2.stop();
175
182
  }
@@ -177,7 +184,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
177
184
  }, _callee2, this);
178
185
  }));
179
186
 
180
- function initModels(_x2) {
187
+ function initModels() {
181
188
  return _initModels.apply(this, arguments);
182
189
  }
183
190
 
@@ -185,9 +192,32 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
185
192
  }()
186
193
  }, {
187
194
  key: "buildModels",
188
- value: function buildModels(callbackModel) {
189
- this.initModels(callbackModel);
190
- }
195
+ value: function () {
196
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
197
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
198
+ while (1) {
199
+ switch (_context3.prev = _context3.next) {
200
+ case 0:
201
+ _context3.next = 2;
202
+ return this.initModels();
203
+
204
+ case 2:
205
+ return _context3.abrupt("return", _context3.sent);
206
+
207
+ case 3:
208
+ case "end":
209
+ return _context3.stop();
210
+ }
211
+ }
212
+ }, _callee3, this);
213
+ }));
214
+
215
+ function buildModels() {
216
+ return _buildModels.apply(this, arguments);
217
+ }
218
+
219
+ return buildModels;
220
+ }()
191
221
  }, {
192
222
  key: "clearModels",
193
223
  value: function clearModels() {
@@ -1,10 +1,10 @@
1
1
  import { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
2
2
  import BaseModel from '../../core/BaseModel';
3
- export default class ImageDataModel extends BaseModel {
3
+ export default class RasterTerrainRGB extends BaseModel {
4
4
  protected texture: ITexture2D;
5
5
  getUninforms(): IModelUniform;
6
- initModels(callbackModel: (models: IModel[]) => void): void;
6
+ initModels(): Promise<IModel[]>;
7
7
  clearModels(): void;
8
- buildModels(callbackModel: (models: IModel[]) => void): void;
8
+ buildModels(): Promise<IModel[]>;
9
9
  protected registerBuiltinAttributes(): void;
10
10
  }
@@ -0,0 +1,184 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
+
9
+ 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); }; }
10
+
11
+ 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; } }
12
+
13
+ import { AttributeType, gl } from '@antv/l7-core';
14
+ import { getMask } from '@antv/l7-utils';
15
+ import BaseModel from "../../core/BaseModel";
16
+ import { RasterImageTriangulation } from "../../core/triangulation";
17
+
18
+ /* babel-plugin-inline-import '../shaders/raster_terrain_rgb_frag.glsl' */
19
+ var Raster_terrainFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\n\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\n\nvarying vec2 v_texCoord;\n\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\n\nvoid main() {\n vec4 baseColor = texture2D(u_texture, vec2(v_texCoord.x, v_texCoord.y)) * 256.0;\n float r = baseColor.r * 256.0 * 256.0;\n float g = baseColor.g * 256.0;\n float b = baseColor.b;\n float value = (r + g + b) * 0.1 - 10000.0;\n \n if (value == u_noDataValue) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] - u_domain[0]);\n vec4 color = texture2D(u_colorTexture, vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n}\n";
20
+
21
+ /* babel-plugin-inline-import '../shaders/rater_terrain_rgb_vert.glsl' */
22
+ var Raster_terrainVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
23
+
24
+ var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
25
+ _inherits(RasterTerrainRGB, _BaseModel);
26
+
27
+ var _super = _createSuper(RasterTerrainRGB);
28
+
29
+ function RasterTerrainRGB() {
30
+ _classCallCheck(this, RasterTerrainRGB);
31
+
32
+ return _super.apply(this, arguments);
33
+ }
34
+
35
+ _createClass(RasterTerrainRGB, [{
36
+ key: "getUninforms",
37
+ value: function getUninforms() {
38
+ var _ref = this.layer.getLayerConfig(),
39
+ opacity = _ref.opacity,
40
+ _ref$clampLow = _ref.clampLow,
41
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
42
+ _ref$clampHigh = _ref.clampHigh,
43
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
44
+ _ref$noDataValue = _ref.noDataValue,
45
+ noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
46
+ _ref$domain = _ref.domain,
47
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
48
+ rampColors = _ref.rampColors,
49
+ colorTexture = _ref.colorTexture;
50
+
51
+ var texture = colorTexture;
52
+
53
+ if (!colorTexture) {
54
+ texture = this.layer.textureService.getColorTexture(rampColors);
55
+ } else {
56
+ this.layer.textureService.setColorTexture(colorTexture, rampColors);
57
+ }
58
+
59
+ return {
60
+ u_opacity: opacity || 1,
61
+ u_texture: this.texture,
62
+ u_domain: domain,
63
+ u_clampLow: clampLow,
64
+ u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
65
+ u_noDataValue: noDataValue,
66
+ u_colorTexture: texture
67
+ };
68
+ }
69
+ }, {
70
+ key: "initModels",
71
+ value: function () {
72
+ var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
73
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, imageData, model;
74
+
75
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
76
+ while (1) {
77
+ switch (_context.prev = _context.next) {
78
+ case 0:
79
+ _ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
80
+ source = this.layer.getSource();
81
+ createTexture2D = this.rendererService.createTexture2D;
82
+ _context.next = 5;
83
+ return source.data.images;
84
+
85
+ case 5:
86
+ imageData = _context.sent;
87
+ this.texture = createTexture2D({
88
+ data: imageData[0],
89
+ width: imageData[0].width,
90
+ height: imageData[0].height
91
+ });
92
+ _context.next = 9;
93
+ return this.layer.buildLayerModel({
94
+ moduleName: 'RasterTileDataImage',
95
+ vertexShader: Raster_terrainVert,
96
+ fragmentShader: Raster_terrainFrag,
97
+ triangulation: RasterImageTriangulation,
98
+ primitive: gl.TRIANGLES,
99
+ depth: {
100
+ enable: false
101
+ },
102
+ blend: this.getBlend(),
103
+ stencil: getMask(mask, maskInside)
104
+ });
105
+
106
+ case 9:
107
+ model = _context.sent;
108
+ return _context.abrupt("return", [model]);
109
+
110
+ case 11:
111
+ case "end":
112
+ return _context.stop();
113
+ }
114
+ }
115
+ }, _callee, this);
116
+ }));
117
+
118
+ function initModels() {
119
+ return _initModels.apply(this, arguments);
120
+ }
121
+
122
+ return initModels;
123
+ }()
124
+ }, {
125
+ key: "clearModels",
126
+ value: function clearModels() {
127
+ var _this$texture;
128
+
129
+ (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
130
+ }
131
+ }, {
132
+ key: "buildModels",
133
+ value: function () {
134
+ var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
135
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
136
+ while (1) {
137
+ switch (_context2.prev = _context2.next) {
138
+ case 0:
139
+ _context2.next = 2;
140
+ return this.initModels();
141
+
142
+ case 2:
143
+ return _context2.abrupt("return", _context2.sent);
144
+
145
+ case 3:
146
+ case "end":
147
+ return _context2.stop();
148
+ }
149
+ }
150
+ }, _callee2, this);
151
+ }));
152
+
153
+ function buildModels() {
154
+ return _buildModels.apply(this, arguments);
155
+ }
156
+
157
+ return buildModels;
158
+ }()
159
+ }, {
160
+ key: "registerBuiltinAttributes",
161
+ value: function registerBuiltinAttributes() {
162
+ this.styleAttributeService.registerStyleAttribute({
163
+ name: 'uv',
164
+ type: AttributeType.Attribute,
165
+ descriptor: {
166
+ name: 'a_Uv',
167
+ buffer: {
168
+ usage: gl.DYNAMIC_DRAW,
169
+ data: [],
170
+ type: gl.FLOAT
171
+ },
172
+ size: 2,
173
+ update: function update(feature, featureIdx, vertex) {
174
+ return [vertex[3], vertex[4]];
175
+ }
176
+ }
177
+ });
178
+ }
179
+ }]);
180
+
181
+ return RasterTerrainRGB;
182
+ }(BaseModel);
183
+
184
+ export { RasterTerrainRGB as default };
@@ -11,8 +11,8 @@ export default class RasterModel extends BaseModel {
11
11
  u_noDataValue: number;
12
12
  u_colorTexture: ITexture2D;
13
13
  };
14
- initModels(callbackModel: (models: IModel[]) => void): void;
15
- buildModels(callbackModel: (models: IModel[]) => void): void;
14
+ initModels(): Promise<IModel[]>;
15
+ buildModels(): Promise<IModel[]>;
16
16
  clearModels(): void;
17
17
  protected registerBuiltinAttributes(): void;
18
18
  }