@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
@@ -9,6 +9,10 @@ exports.default = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
12
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
17
 
14
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -33,12 +37,15 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
33
37
 
34
38
  var _triangulation = require("../../core/triangulation");
35
39
 
40
+ var _excluded = ["data"],
41
+ _excluded2 = ["rasterData"];
42
+
36
43
  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); }; }
37
44
 
38
45
  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; } }
39
46
 
40
47
  /* babel-plugin-inline-import '../shaders/raster_rgb_frag.glsl' */
41
- 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}";
48
+ 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}";
42
49
 
43
50
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
44
51
  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";
@@ -58,9 +65,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
58
65
  }
59
66
 
60
67
  _this = _super.call.apply(_super, [this].concat(args));
61
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "channelRMax", 256);
62
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "channelGMax", 256);
63
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "channelBMax", 256);
68
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataOption", {});
64
69
  return _this;
65
70
  }
66
71
 
@@ -70,23 +75,27 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
70
75
  var _ref = this.layer.getLayerConfig(),
71
76
  _ref$opacity = _ref.opacity,
72
77
  opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
73
- channelRMax = _ref.channelRMax,
74
- channelGMax = _ref.channelGMax,
75
- channelBMax = _ref.channelBMax;
78
+ _ref$noDataValue = _ref.noDataValue,
79
+ noDataValue = _ref$noDataValue === void 0 ? 0 : _ref$noDataValue;
76
80
 
81
+ var _this$dataOption = this.dataOption,
82
+ rMinMax = _this$dataOption.rMinMax,
83
+ gMinMax = _this$dataOption.gMinMax,
84
+ bMinMax = _this$dataOption.bMinMax;
77
85
  return {
78
86
  u_opacity: opacity || 1,
79
87
  u_texture: this.texture,
80
- u_channelRMax: channelRMax !== undefined ? channelRMax : this.channelRMax,
81
- u_channelGMax: channelGMax !== undefined ? channelGMax : this.channelGMax,
82
- u_channelBMax: channelBMax !== undefined ? channelBMax : this.channelBMax
88
+ u_noDataValue: noDataValue,
89
+ u_rminmax: rMinMax,
90
+ u_gminmax: gMinMax,
91
+ u_bminmax: bMinMax
83
92
  };
84
93
  }
85
94
  }, {
86
95
  key: "getRasterData",
87
96
  value: function () {
88
97
  var _getRasterData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(parserDataItem) {
89
- var _yield$parserDataItem, rasterData, width, height, channelR, channelG, channelB;
98
+ var data, rescfg, _yield$parserDataItem, rasterData, rest;
90
99
 
91
100
  return _regenerator.default.wrap(function _callee$(_context) {
92
101
  while (1) {
@@ -97,11 +106,11 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
97
106
  break;
98
107
  }
99
108
 
100
- return _context.abrupt("return", {
101
- data: parserDataItem.data,
102
- width: parserDataItem.width,
103
- height: parserDataItem.height
104
- });
109
+ data = parserDataItem.data, rescfg = (0, _objectWithoutProperties2.default)(parserDataItem, _excluded);
110
+ this.dataOption = rescfg;
111
+ return _context.abrupt("return", (0, _objectSpread2.default)({
112
+ data: data
113
+ }, rescfg));
105
114
 
106
115
  case 4:
107
116
  _context.next = 6;
@@ -110,21 +119,24 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
110
119
  case 6:
111
120
  _yield$parserDataItem = _context.sent;
112
121
  rasterData = _yield$parserDataItem.rasterData;
113
- width = _yield$parserDataItem.width;
114
- height = _yield$parserDataItem.height;
115
- channelR = _yield$parserDataItem.channelR;
116
- channelG = _yield$parserDataItem.channelG;
117
- channelB = _yield$parserDataItem.channelB;
118
- this.channelRMax = channelR;
119
- this.channelGMax = channelG;
120
- this.channelBMax = channelB;
121
- return _context.abrupt("return", {
122
- data: Array.from(rasterData),
123
- width: width,
124
- height: height
125
- });
122
+ rest = (0, _objectWithoutProperties2.default)(_yield$parserDataItem, _excluded2);
123
+ this.dataOption = rest;
126
124
 
127
- case 17:
125
+ if (!Array.isArray(rasterData)) {
126
+ _context.next = 14;
127
+ break;
128
+ }
129
+
130
+ return _context.abrupt("return", (0, _objectSpread2.default)({
131
+ data: rasterData
132
+ }, rest));
133
+
134
+ case 14:
135
+ return _context.abrupt("return", (0, _objectSpread2.default)({
136
+ data: Array.from(rasterData)
137
+ }, rest));
138
+
139
+ case 15:
128
140
  case "end":
129
141
  return _context.stop();
130
142
  }
@@ -141,8 +153,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
141
153
  }, {
142
154
  key: "initModels",
143
155
  value: function () {
144
- var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(callbackModel) {
145
- var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height;
156
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
157
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
146
158
 
147
159
  return _regenerator.default.wrap(function _callee2$(_context2) {
148
160
  while (1) {
@@ -168,7 +180,8 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
168
180
  format: _l7Core.gl.RGB,
169
181
  type: _l7Core.gl.FLOAT
170
182
  });
171
- this.layer.buildLayerModel({
183
+ _context2.next = 13;
184
+ return this.layer.buildLayerModel({
172
185
  moduleName: 'rasterImageDataRGBA',
173
186
  vertexShader: rasterVert,
174
187
  fragmentShader: rasterFrag,
@@ -178,14 +191,13 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
178
191
  enable: false
179
192
  },
180
193
  stencil: (0, _l7Utils.getMask)(mask, maskInside)
181
- }).then(function (model) {
182
- callbackModel([model]);
183
- }).catch(function (err) {
184
- console.warn(err);
185
- callbackModel([]);
186
194
  });
187
195
 
188
- case 12:
196
+ case 13:
197
+ model = _context2.sent;
198
+ return _context2.abrupt("return", [model]);
199
+
200
+ case 15:
189
201
  case "end":
190
202
  return _context2.stop();
191
203
  }
@@ -193,7 +205,7 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
193
205
  }, _callee2, this);
194
206
  }));
195
207
 
196
- function initModels(_x2) {
208
+ function initModels() {
197
209
  return _initModels.apply(this, arguments);
198
210
  }
199
211
 
@@ -201,9 +213,32 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
201
213
  }()
202
214
  }, {
203
215
  key: "buildModels",
204
- value: function buildModels(callbackModel) {
205
- this.initModels(callbackModel);
206
- }
216
+ value: function () {
217
+ var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
218
+ return _regenerator.default.wrap(function _callee3$(_context3) {
219
+ while (1) {
220
+ switch (_context3.prev = _context3.next) {
221
+ case 0:
222
+ _context3.next = 2;
223
+ return this.initModels();
224
+
225
+ case 2:
226
+ return _context3.abrupt("return", _context3.sent);
227
+
228
+ case 3:
229
+ case "end":
230
+ return _context3.stop();
231
+ }
232
+ }
233
+ }, _callee3, this);
234
+ }));
235
+
236
+ function buildModels() {
237
+ return _buildModels.apply(this, arguments);
238
+ }
239
+
240
+ return buildModels;
241
+ }()
207
242
  }, {
208
243
  key: "clearModels",
209
244
  value: function clearModels() {
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _l7Core = require("@antv/l7-core");
25
+
26
+ var _l7Utils = require("@antv/l7-utils");
27
+
28
+ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
29
+
30
+ var _triangulation = require("../../core/triangulation");
31
+
32
+ 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); }; }
33
+
34
+ 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; } }
35
+
36
+ /* babel-plugin-inline-import '../shaders/raster_terrain_rgb_frag.glsl' */
37
+ 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";
38
+
39
+ /* babel-plugin-inline-import '../shaders/rater_terrain_rgb_vert.glsl' */
40
+ 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";
41
+
42
+ var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
43
+ (0, _inherits2.default)(RasterTerrainRGB, _BaseModel);
44
+
45
+ var _super = _createSuper(RasterTerrainRGB);
46
+
47
+ function RasterTerrainRGB() {
48
+ (0, _classCallCheck2.default)(this, RasterTerrainRGB);
49
+ return _super.apply(this, arguments);
50
+ }
51
+
52
+ (0, _createClass2.default)(RasterTerrainRGB, [{
53
+ key: "getUninforms",
54
+ value: function getUninforms() {
55
+ var _ref = this.layer.getLayerConfig(),
56
+ opacity = _ref.opacity,
57
+ _ref$clampLow = _ref.clampLow,
58
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
59
+ _ref$clampHigh = _ref.clampHigh,
60
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
61
+ _ref$noDataValue = _ref.noDataValue,
62
+ noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
63
+ _ref$domain = _ref.domain,
64
+ domain = _ref$domain === void 0 ? [0, 1] : _ref$domain,
65
+ rampColors = _ref.rampColors,
66
+ colorTexture = _ref.colorTexture;
67
+
68
+ var texture = colorTexture;
69
+
70
+ if (!colorTexture) {
71
+ texture = this.layer.textureService.getColorTexture(rampColors);
72
+ } else {
73
+ this.layer.textureService.setColorTexture(colorTexture, rampColors);
74
+ }
75
+
76
+ return {
77
+ u_opacity: opacity || 1,
78
+ u_texture: this.texture,
79
+ u_domain: domain,
80
+ u_clampLow: clampLow,
81
+ u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,
82
+ u_noDataValue: noDataValue,
83
+ u_colorTexture: texture
84
+ };
85
+ }
86
+ }, {
87
+ key: "initModels",
88
+ value: function () {
89
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
90
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, imageData, model;
91
+
92
+ return _regenerator.default.wrap(function _callee$(_context) {
93
+ while (1) {
94
+ switch (_context.prev = _context.next) {
95
+ case 0:
96
+ _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;
97
+ source = this.layer.getSource();
98
+ createTexture2D = this.rendererService.createTexture2D;
99
+ _context.next = 5;
100
+ return source.data.images;
101
+
102
+ case 5:
103
+ imageData = _context.sent;
104
+ this.texture = createTexture2D({
105
+ data: imageData[0],
106
+ width: imageData[0].width,
107
+ height: imageData[0].height
108
+ });
109
+ _context.next = 9;
110
+ return this.layer.buildLayerModel({
111
+ moduleName: 'RasterTileDataImage',
112
+ vertexShader: Raster_terrainVert,
113
+ fragmentShader: Raster_terrainFrag,
114
+ triangulation: _triangulation.RasterImageTriangulation,
115
+ primitive: _l7Core.gl.TRIANGLES,
116
+ depth: {
117
+ enable: false
118
+ },
119
+ blend: this.getBlend(),
120
+ stencil: (0, _l7Utils.getMask)(mask, maskInside)
121
+ });
122
+
123
+ case 9:
124
+ model = _context.sent;
125
+ return _context.abrupt("return", [model]);
126
+
127
+ case 11:
128
+ case "end":
129
+ return _context.stop();
130
+ }
131
+ }
132
+ }, _callee, this);
133
+ }));
134
+
135
+ function initModels() {
136
+ return _initModels.apply(this, arguments);
137
+ }
138
+
139
+ return initModels;
140
+ }()
141
+ }, {
142
+ key: "clearModels",
143
+ value: function clearModels() {
144
+ var _this$texture;
145
+
146
+ (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
147
+ }
148
+ }, {
149
+ key: "buildModels",
150
+ value: function () {
151
+ var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
152
+ return _regenerator.default.wrap(function _callee2$(_context2) {
153
+ while (1) {
154
+ switch (_context2.prev = _context2.next) {
155
+ case 0:
156
+ _context2.next = 2;
157
+ return this.initModels();
158
+
159
+ case 2:
160
+ return _context2.abrupt("return", _context2.sent);
161
+
162
+ case 3:
163
+ case "end":
164
+ return _context2.stop();
165
+ }
166
+ }
167
+ }, _callee2, this);
168
+ }));
169
+
170
+ function buildModels() {
171
+ return _buildModels.apply(this, arguments);
172
+ }
173
+
174
+ return buildModels;
175
+ }()
176
+ }, {
177
+ key: "registerBuiltinAttributes",
178
+ value: function registerBuiltinAttributes() {
179
+ this.styleAttributeService.registerStyleAttribute({
180
+ name: 'uv',
181
+ type: _l7Core.AttributeType.Attribute,
182
+ descriptor: {
183
+ name: 'a_Uv',
184
+ buffer: {
185
+ usage: _l7Core.gl.DYNAMIC_DRAW,
186
+ data: [],
187
+ type: _l7Core.gl.FLOAT
188
+ },
189
+ size: 2,
190
+ update: function update(feature, featureIdx, vertex) {
191
+ return [vertex[3], vertex[4]];
192
+ }
193
+ }
194
+ });
195
+ }
196
+ }]);
197
+ return RasterTerrainRGB;
198
+ }(_BaseModel2.default);
199
+
200
+ exports.default = RasterTerrainRGB;
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
15
 
12
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -30,7 +34,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
30
34
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
35
 
32
36
  /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
33
- 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";
37
+ 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";
34
38
 
35
39
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
36
40
  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";
@@ -81,44 +85,83 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
81
85
  }
82
86
  }, {
83
87
  key: "initModels",
84
- value: function initModels(callbackModel) {
85
- var _ref2 = this.layer.getLayerConfig(),
86
- _ref2$mask = _ref2.mask,
87
- mask = _ref2$mask === void 0 ? false : _ref2$mask,
88
- _ref2$maskInside = _ref2.maskInside,
89
- maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
90
-
91
- var source = this.layer.getSource();
92
- var createTexture2D = this.rendererService.createTexture2D;
93
- var parserDataItem = source.data.dataArray[0];
94
- this.texture = createTexture2D({
95
- data: parserDataItem.data,
96
- width: parserDataItem.width,
97
- height: parserDataItem.height,
98
- format: _l7Core.gl.LUMINANCE,
99
- type: _l7Core.gl.FLOAT
100
- });
101
- this.layer.buildLayerModel({
102
- moduleName: 'rasterTileImageData',
103
- vertexShader: rasterVert,
104
- fragmentShader: rasterFrag,
105
- triangulation: _triangulation.RasterImageTriangulation,
106
- depth: {
107
- enable: false
108
- },
109
- stencil: (0, _l7Utils.getMask)(mask, maskInside)
110
- }).then(function (model) {
111
- callbackModel([model]);
112
- }).catch(function (err) {
113
- console.warn(err);
114
- callbackModel([]);
115
- });
116
- }
88
+ value: function () {
89
+ var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
90
+ var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, source, createTexture2D, parserDataItem, model;
91
+
92
+ return _regenerator.default.wrap(function _callee$(_context) {
93
+ while (1) {
94
+ switch (_context.prev = _context.next) {
95
+ case 0:
96
+ _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;
97
+ source = this.layer.getSource();
98
+ createTexture2D = this.rendererService.createTexture2D;
99
+ parserDataItem = source.data.dataArray[0];
100
+ this.texture = createTexture2D({
101
+ data: parserDataItem.data,
102
+ width: parserDataItem.width,
103
+ height: parserDataItem.height,
104
+ format: _l7Core.gl.LUMINANCE,
105
+ type: _l7Core.gl.FLOAT
106
+ });
107
+ _context.next = 7;
108
+ return this.layer.buildLayerModel({
109
+ moduleName: 'rasterTileImageData',
110
+ vertexShader: rasterVert,
111
+ fragmentShader: rasterFrag,
112
+ triangulation: _triangulation.RasterImageTriangulation,
113
+ depth: {
114
+ enable: false
115
+ },
116
+ stencil: (0, _l7Utils.getMask)(mask, maskInside)
117
+ });
118
+
119
+ case 7:
120
+ model = _context.sent;
121
+ return _context.abrupt("return", [model]);
122
+
123
+ case 9:
124
+ case "end":
125
+ return _context.stop();
126
+ }
127
+ }
128
+ }, _callee, this);
129
+ }));
130
+
131
+ function initModels() {
132
+ return _initModels.apply(this, arguments);
133
+ }
134
+
135
+ return initModels;
136
+ }()
117
137
  }, {
118
138
  key: "buildModels",
119
- value: function buildModels(callbackModel) {
120
- this.initModels(callbackModel);
121
- }
139
+ value: function () {
140
+ var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
141
+ return _regenerator.default.wrap(function _callee2$(_context2) {
142
+ while (1) {
143
+ switch (_context2.prev = _context2.next) {
144
+ case 0:
145
+ _context2.next = 2;
146
+ return this.initModels();
147
+
148
+ case 2:
149
+ return _context2.abrupt("return", _context2.sent);
150
+
151
+ case 3:
152
+ case "end":
153
+ return _context2.stop();
154
+ }
155
+ }
156
+ }, _callee2, this);
157
+ }));
158
+
159
+ function buildModels() {
160
+ return _buildModels.apply(this, arguments);
161
+ }
162
+
163
+ return buildModels;
164
+ }()
122
165
  }, {
123
166
  key: "clearModels",
124
167
  value: function clearModels() {
@@ -9,49 +9,13 @@ uniform float u_noDataValue;
9
9
  uniform bool u_clampLow: true;
10
10
  uniform bool u_clampHigh: true;
11
11
  varying vec2 v_texCoord;
12
+ bool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }
12
13
 
13
14
 
14
-
15
- // float getBlurIndusty() {
16
- // vec2 u_ViewportSize = vec2(1024);
17
-
18
- // float vW = 2.0/u_ViewportSize.x;
19
- // float vH = 2.0/u_ViewportSize.y;
20
- // vec2 vUv = v_texCoord;
21
- // float i11 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y + 1.0 * vH) ).r;
22
- // float i12 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y + 1.0 * vH) ).r;
23
- // float i13 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y + 1.0 * vH) ).r;
24
-
25
- // float i21 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y) ).r;
26
- // float i22 = texture2D( u_texture, vec2( vUv.x , vUv.y) ).r;
27
- // float i23 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y) ).r;
28
-
29
- // float i31 = texture2D( u_texture, vec2( vUv.x - 1.0 * vW, vUv.y-1.0*vH) ).r;
30
- // float i32 = texture2D( u_texture, vec2( vUv.x - 0.0 * vW, vUv.y-1.0*vH) ).r;
31
- // float i33 = texture2D( u_texture, vec2( vUv.x + 1.0 * vW, vUv.y-1.0*vH) ).r;
32
-
33
- // return(
34
- // i11 +
35
- // i12 +
36
- // i13 +
37
- // i21 +
38
- // i21 +
39
- // i22 +
40
- // i23 +
41
- // i31 +
42
- // i32 +
43
- // i33
44
- // )/9.0;
45
- // }
46
-
47
15
  void main() {
48
16
 
49
17
  float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;
50
-
51
- // float value = getBlurIndusty();
52
-
53
-
54
- if (value == u_noDataValue)
18
+ if (value == u_noDataValue || isnan_emu(value))
55
19
  gl_FragColor = vec4(0.0, 0, 0, 0.0);
56
20
  else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))
57
21
  gl_FragColor = vec4(0, 0, 0, 0);
@@ -1,12 +1,18 @@
1
1
  precision mediump float;
2
+ uniform vec2 u_rminmax: vec2(0,255);
3
+ uniform vec2 u_gminmax: vec2(0,255);
4
+ uniform vec2 u_bminmax: vec2(0,255);
2
5
  uniform float u_opacity: 1.0;
3
6
  uniform sampler2D u_texture;
4
- uniform float u_channelRMax: 256.;
5
- uniform float u_channelGMax: 256.;
6
- uniform float u_channelBMax: 256.;
7
+ uniform float u_noDataValue : 0.0;
7
8
  varying vec2 v_texCoord;
8
9
 
9
10
  void main() {
10
11
  vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;
11
- gl_FragColor = vec4(rgb.r/u_channelRMax, rgb.g/u_channelGMax, rgb.b/u_channelBMax, u_opacity);
12
+ if(rgb == vec3(u_noDataValue)) {
13
+ gl_FragColor = vec4(0.0, 0, 0, 0.0);
14
+ } else {
15
+ 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);
16
+ }
17
+
12
18
  }