@antv/l7-layers 2.5.36 → 2.5.37-mini4

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 (262) hide show
  1. package/lib/core/BaseLayer.js +4 -1
  2. package/lib/core/BaseLayer.js.map +1 -1
  3. package/lib/core/BaseModel.js +1 -1
  4. package/lib/core/BaseModel.js.map +1 -1
  5. package/lib/heatmap/models/heatmap.js +12 -17
  6. package/lib/heatmap/models/heatmap.js.map +1 -1
  7. package/lib/image/models/image.js +28 -7
  8. package/lib/image/models/image.js.map +1 -1
  9. package/lib/imagetile/index.js +95 -0
  10. package/lib/imagetile/index.js.map +1 -0
  11. package/lib/imagetile/models/imagetile.js +177 -0
  12. package/lib/imagetile/models/imagetile.js.map +1 -0
  13. package/lib/imagetile/models/index.js +17 -0
  14. package/lib/imagetile/models/index.js.map +1 -0
  15. package/lib/imagetile/utils/ImageTile.js +99 -0
  16. package/lib/imagetile/utils/ImageTile.js.map +1 -0
  17. package/lib/imagetile/utils/Tile.js +324 -0
  18. package/lib/imagetile/utils/Tile.js.map +1 -0
  19. package/lib/imagetile/utils/lruCache.js +109 -0
  20. package/lib/imagetile/utils/lruCache.js.map +1 -0
  21. package/lib/imagetile/utils/tileCache.js +58 -0
  22. package/lib/imagetile/utils/tileCache.js.map +1 -0
  23. package/lib/index.js +8 -0
  24. package/lib/index.js.map +1 -1
  25. package/lib/line/index.js +3 -0
  26. package/lib/line/index.js.map +1 -1
  27. package/lib/line/models/arc.js +2 -2
  28. package/lib/line/models/arc_3d.js +2 -2
  29. package/lib/line/models/arcmini.js +160 -0
  30. package/lib/line/models/arcmini.js.map +1 -0
  31. package/lib/line/models/great_circle.js +2 -2
  32. package/lib/line/models/index.js +3 -0
  33. package/lib/line/models/index.js.map +1 -1
  34. package/lib/line/models/line.js +2 -2
  35. package/lib/plugins/LayerStylePlugin.js.map +1 -1
  36. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  37. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  38. package/lib/point/models/image.js.map +1 -1
  39. package/package.json +6 -5
  40. package/CHANGELOG.md +0 -492
  41. package/LICENSE.md +0 -21
  42. package/es/citybuliding/building.d.ts +0 -17
  43. package/es/citybuliding/building.js +0 -79
  44. package/es/citybuliding/building.js.map +0 -1
  45. package/es/citybuliding/models/build.d.ts +0 -13
  46. package/es/citybuliding/models/build.js +0 -124
  47. package/es/citybuliding/models/build.js.map +0 -1
  48. package/es/core/BaseLayer.d.ts +0 -174
  49. package/es/core/BaseLayer.js +0 -974
  50. package/es/core/BaseLayer.js.map +0 -1
  51. package/es/core/BaseModel.d.ts +0 -135
  52. package/es/core/BaseModel.js +0 -412
  53. package/es/core/BaseModel.js.map +0 -1
  54. package/es/core/interface.d.ts +0 -19
  55. package/es/core/interface.js +0 -7
  56. package/es/core/interface.js.map +0 -1
  57. package/es/core/schema.d.ts +0 -27
  58. package/es/core/schema.js +0 -23
  59. package/es/core/schema.js.map +0 -1
  60. package/es/core/shape/Path.d.ts +0 -39
  61. package/es/core/shape/Path.js +0 -57
  62. package/es/core/shape/Path.js.map +0 -1
  63. package/es/core/shape/extrude.d.ts +0 -17
  64. package/es/core/shape/extrude.js +0 -143
  65. package/es/core/shape/extrude.js.map +0 -1
  66. package/es/core/triangulation.d.ts +0 -109
  67. package/es/core/triangulation.js +0 -328
  68. package/es/core/triangulation.js.map +0 -1
  69. package/es/earth/index.d.ts +0 -17
  70. package/es/earth/index.js +0 -81
  71. package/es/earth/index.js.map +0 -1
  72. package/es/earth/models/atmosphere.d.ts +0 -9
  73. package/es/earth/models/atmosphere.js +0 -125
  74. package/es/earth/models/atmosphere.js.map +0 -1
  75. package/es/earth/models/base.d.ts +0 -16
  76. package/es/earth/models/base.js +0 -193
  77. package/es/earth/models/base.js.map +0 -1
  78. package/es/earth/models/bloomsphere.d.ts +0 -9
  79. package/es/earth/models/bloomsphere.js +0 -125
  80. package/es/earth/models/bloomsphere.js.map +0 -1
  81. package/es/earth/utils.d.ts +0 -26
  82. package/es/earth/utils.js +0 -81
  83. package/es/earth/utils.js.map +0 -1
  84. package/es/glsl.d.js +0 -2
  85. package/es/glsl.d.js.map +0 -1
  86. package/es/heatmap/index.d.ts +0 -22
  87. package/es/heatmap/index.js +0 -123
  88. package/es/heatmap/index.js.map +0 -1
  89. package/es/heatmap/models/grid.d.ts +0 -8
  90. package/es/heatmap/models/grid.js +0 -90
  91. package/es/heatmap/models/grid.js.map +0 -1
  92. package/es/heatmap/models/grid3d.d.ts +0 -8
  93. package/es/heatmap/models/grid3d.js +0 -122
  94. package/es/heatmap/models/grid3d.js.map +0 -1
  95. package/es/heatmap/models/heatmap.d.ts +0 -24
  96. package/es/heatmap/models/heatmap.js +0 -399
  97. package/es/heatmap/models/heatmap.js.map +0 -1
  98. package/es/heatmap/models/hexagon.d.ts +0 -8
  99. package/es/heatmap/models/hexagon.js +0 -90
  100. package/es/heatmap/models/hexagon.js.map +0 -1
  101. package/es/heatmap/models/index.d.ts +0 -5
  102. package/es/heatmap/models/index.js +0 -13
  103. package/es/heatmap/models/index.js.map +0 -1
  104. package/es/heatmap/triangulation.d.ts +0 -5
  105. package/es/heatmap/triangulation.js +0 -38
  106. package/es/heatmap/triangulation.js.map +0 -1
  107. package/es/image/index.d.ts +0 -22
  108. package/es/image/index.js +0 -82
  109. package/es/image/index.js.map +0 -1
  110. package/es/image/models/image.d.ts +0 -18
  111. package/es/image/models/image.js +0 -127
  112. package/es/image/models/image.js.map +0 -1
  113. package/es/image/models/index.d.ts +0 -5
  114. package/es/image/models/index.js +0 -6
  115. package/es/image/models/index.js.map +0 -1
  116. package/es/index.d.ts +0 -11
  117. package/es/index.js +0 -39
  118. package/es/index.js.map +0 -1
  119. package/es/line/index.d.ts +0 -25
  120. package/es/line/index.js +0 -95
  121. package/es/line/index.js.map +0 -1
  122. package/es/line/models/arc.d.ts +0 -12
  123. package/es/line/models/arc.js +0 -281
  124. package/es/line/models/arc.js.map +0 -1
  125. package/es/line/models/arc_3d.d.ts +0 -12
  126. package/es/line/models/arc_3d.js +0 -277
  127. package/es/line/models/arc_3d.js.map +0 -1
  128. package/es/line/models/great_circle.d.ts +0 -12
  129. package/es/line/models/great_circle.js +0 -269
  130. package/es/line/models/great_circle.js.map +0 -1
  131. package/es/line/models/index.d.ts +0 -5
  132. package/es/line/models/index.js +0 -12
  133. package/es/line/models/index.js.map +0 -1
  134. package/es/line/models/line.d.ts +0 -13
  135. package/es/line/models/line.js +0 -342
  136. package/es/line/models/line.js.map +0 -1
  137. package/es/plugins/DataMappingPlugin.d.ts +0 -13
  138. package/es/plugins/DataMappingPlugin.js +0 -199
  139. package/es/plugins/DataMappingPlugin.js.map +0 -1
  140. package/es/plugins/DataSourcePlugin.d.ts +0 -7
  141. package/es/plugins/DataSourcePlugin.js +0 -73
  142. package/es/plugins/DataSourcePlugin.js.map +0 -1
  143. package/es/plugins/FeatureScalePlugin.d.ts +0 -26
  144. package/es/plugins/FeatureScalePlugin.js +0 -270
  145. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  146. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -7
  147. package/es/plugins/LayerAnimateStylePlugin.js +0 -50
  148. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  149. package/es/plugins/LayerModelPlugin.d.ts +0 -8
  150. package/es/plugins/LayerModelPlugin.js +0 -34
  151. package/es/plugins/LayerModelPlugin.js.map +0 -1
  152. package/es/plugins/LayerStylePlugin.d.ts +0 -8
  153. package/es/plugins/LayerStylePlugin.js +0 -35
  154. package/es/plugins/LayerStylePlugin.js.map +0 -1
  155. package/es/plugins/LightingPlugin.d.ts +0 -36
  156. package/es/plugins/LightingPlugin.js +0 -100
  157. package/es/plugins/LightingPlugin.js.map +0 -1
  158. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -37
  159. package/es/plugins/MultiPassRendererPlugin.js +0 -79
  160. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  161. package/es/plugins/PixelPickingPlugin.d.ts +0 -8
  162. package/es/plugins/PixelPickingPlugin.js +0 -112
  163. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  164. package/es/plugins/RegisterStyleAttributePlugin.d.ts +0 -11
  165. package/es/plugins/RegisterStyleAttributePlugin.js +0 -98
  166. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  167. package/es/plugins/ShaderUniformPlugin.d.ts +0 -16
  168. package/es/plugins/ShaderUniformPlugin.js +0 -78
  169. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  170. package/es/plugins/UpdateModelPlugin.d.ts +0 -8
  171. package/es/plugins/UpdateModelPlugin.js +0 -27
  172. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  173. package/es/plugins/UpdateStyleAttributePlugin.d.ts +0 -12
  174. package/es/plugins/UpdateStyleAttributePlugin.js +0 -74
  175. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  176. package/es/point/index.d.ts +0 -30
  177. package/es/point/index.js +0 -130
  178. package/es/point/index.js.map +0 -1
  179. package/es/point/models/extrude.d.ts +0 -14
  180. package/es/point/models/extrude.js +0 -180
  181. package/es/point/models/extrude.js.map +0 -1
  182. package/es/point/models/fill.d.ts +0 -17
  183. package/es/point/models/fill.js +0 -247
  184. package/es/point/models/fill.js.map +0 -1
  185. package/es/point/models/icon-font.d.ts +0 -11
  186. package/es/point/models/icon-font.js +0 -181
  187. package/es/point/models/icon-font.js.map +0 -1
  188. package/es/point/models/image.d.ts +0 -11
  189. package/es/point/models/image.js +0 -207
  190. package/es/point/models/image.js.map +0 -1
  191. package/es/point/models/index.d.ts +0 -5
  192. package/es/point/models/index.js +0 -16
  193. package/es/point/models/index.js.map +0 -1
  194. package/es/point/models/normal.d.ts +0 -21
  195. package/es/point/models/normal.js +0 -155
  196. package/es/point/models/normal.js.map +0 -1
  197. package/es/point/models/text.d.ts +0 -56
  198. package/es/point/models/text.js +0 -522
  199. package/es/point/models/text.js.map +0 -1
  200. package/es/point/shape/Path.d.ts +0 -40
  201. package/es/point/shape/Path.js +0 -57
  202. package/es/point/shape/Path.js.map +0 -1
  203. package/es/point/shape/extrude.d.ts +0 -15
  204. package/es/point/shape/extrude.js +0 -58
  205. package/es/point/shape/extrude.js.map +0 -1
  206. package/es/polygon/index.d.ts +0 -22
  207. package/es/polygon/index.js +0 -124
  208. package/es/polygon/index.js.map +0 -1
  209. package/es/polygon/models/extrude.d.ts +0 -13
  210. package/es/polygon/models/extrude.js +0 -139
  211. package/es/polygon/models/extrude.js.map +0 -1
  212. package/es/polygon/models/fill.d.ts +0 -13
  213. package/es/polygon/models/fill.js +0 -108
  214. package/es/polygon/models/fill.js.map +0 -1
  215. package/es/polygon/models/index.d.ts +0 -5
  216. package/es/polygon/models/index.js +0 -20
  217. package/es/polygon/models/index.js.map +0 -1
  218. package/es/raster/buffers/triangulation.d.ts +0 -6
  219. package/es/raster/buffers/triangulation.js +0 -28
  220. package/es/raster/buffers/triangulation.js.map +0 -1
  221. package/es/raster/image.d.ts +0 -0
  222. package/es/raster/image.js +0 -2
  223. package/es/raster/image.js.map +0 -1
  224. package/es/raster/index.d.ts +0 -28
  225. package/es/raster/index.js +0 -83
  226. package/es/raster/index.js.map +0 -1
  227. package/es/raster/models/index.d.ts +0 -5
  228. package/es/raster/models/index.js +0 -7
  229. package/es/raster/models/index.js.map +0 -1
  230. package/es/raster/models/raster.d.ts +0 -19
  231. package/es/raster/models/raster.js +0 -152
  232. package/es/raster/models/raster.js.map +0 -1
  233. package/es/raster/raster.d.ts +0 -30
  234. package/es/raster/raster.js +0 -178
  235. package/es/raster/raster.js.map +0 -1
  236. package/es/raster/raster2d.d.ts +0 -27
  237. package/es/raster/raster2d.js +0 -158
  238. package/es/raster/raster2d.js.map +0 -1
  239. package/es/utils/blend.d.ts +0 -2
  240. package/es/utils/blend.js +0 -55
  241. package/es/utils/blend.js.map +0 -1
  242. package/es/utils/collision-index.d.ts +0 -47
  243. package/es/utils/collision-index.js +0 -87
  244. package/es/utils/collision-index.js.map +0 -1
  245. package/es/utils/dataMappingStyle.d.ts +0 -30
  246. package/es/utils/dataMappingStyle.js +0 -88
  247. package/es/utils/dataMappingStyle.js.map +0 -1
  248. package/es/utils/extrude_polyline.d.ts +0 -48
  249. package/es/utils/extrude_polyline.js +0 -405
  250. package/es/utils/extrude_polyline.js.map +0 -1
  251. package/es/utils/geo.d.ts +0 -3
  252. package/es/utils/geo.js +0 -24
  253. package/es/utils/geo.js.map +0 -1
  254. package/es/utils/grid-index.d.ts +0 -28
  255. package/es/utils/grid-index.js +0 -193
  256. package/es/utils/grid-index.js.map +0 -1
  257. package/es/utils/polylineNormal.d.ts +0 -9
  258. package/es/utils/polylineNormal.js +0 -171
  259. package/es/utils/polylineNormal.js.map +0 -1
  260. package/es/utils/symbol-layout.d.ts +0 -43
  261. package/es/utils/symbol-layout.js +0 -260
  262. package/es/utils/symbol-layout.js.map +0 -1
@@ -1,20 +0,0 @@
1
- import LineModel from '../../line/models/line';
2
- import PointExtrudeModel from '../../point/models/extrude';
3
- import PointFillModel from '../../point/models/fill';
4
- import IMageModel from '../../point/models/image';
5
- import NormalModel from '../../point/models/normal';
6
- import TextModel from '../../point/models/text';
7
- import ExtrudeModel from './extrude';
8
- import FillModel from './fill';
9
- var PolygonModels = {
10
- fill: FillModel,
11
- line: LineModel,
12
- extrude: ExtrudeModel,
13
- text: TextModel,
14
- point_fill: PointFillModel,
15
- point_image: IMageModel,
16
- point_normal: NormalModel,
17
- point_extrude: PointExtrudeModel
18
- };
19
- export default PolygonModels;
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/polygon/models/index.ts"],"names":["LineModel","PointExtrudeModel","PointFillModel","IMageModel","NormalModel","TextModel","ExtrudeModel","FillModel","PolygonModels","fill","line","extrude","text","point_fill","point_image","point_normal","point_extrude"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,wBAAtB;AACA,OAAOC,iBAAP,MAA8B,4BAA9B;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,UAAP,MAAuB,0BAAvB;AACA,OAAOC,WAAP,MAAwB,2BAAxB;AACA,OAAOC,SAAP,MAAsB,yBAAtB;AACA,OAAOC,YAAP,MAAyB,WAAzB;AACA,OAAOC,SAAP,MAAsB,QAAtB;AAYA,IAAMC,aAAiD,GAAG;AACxDC,EAAAA,IAAI,EAAEF,SADkD;AAExDG,EAAAA,IAAI,EAAEV,SAFkD;AAGxDW,EAAAA,OAAO,EAAEL,YAH+C;AAIxDM,EAAAA,IAAI,EAAEP,SAJkD;AAKxDQ,EAAAA,UAAU,EAAEX,cAL4C;AAMxDY,EAAAA,WAAW,EAAEX,UAN2C;AAOxDY,EAAAA,YAAY,EAAEX,WAP0C;AAQxDY,EAAAA,aAAa,EAAEf;AARyC,CAA1D;AAYA,eAAeO,aAAf","sourcesContent":["import LineModel from '../../line/models/line';\nimport PointExtrudeModel from '../../point/models/extrude';\nimport PointFillModel from '../../point/models/fill';\nimport IMageModel from '../../point/models/image';\nimport NormalModel from '../../point/models/normal';\nimport TextModel from '../../point/models/text';\nimport ExtrudeModel from './extrude';\nimport FillModel from './fill';\n\nexport type PolygonModelType =\n | 'fill'\n | 'extrude'\n | 'line'\n | 'point_fill'\n | 'point_image'\n | 'point_normal'\n | 'point_extrude'\n | 'text';\n\nconst PolygonModels: { [key in PolygonModelType]: any } = {\n fill: FillModel,\n line: LineModel,\n extrude: ExtrudeModel,\n text: TextModel,\n point_fill: PointFillModel,\n point_image: IMageModel,\n point_normal: NormalModel,\n point_extrude: PointExtrudeModel,\n\n // point_fill: PointModels.fill,\n};\nexport default PolygonModels;\n"],"file":"index.js"}
@@ -1,6 +0,0 @@
1
- import { IParseDataItem } from '@antv/l7-core';
2
- export declare function RasterTriangulation(parserData: IParseDataItem): {
3
- vertices: number[];
4
- indices: number[];
5
- size: number;
6
- };
@@ -1,28 +0,0 @@
1
- import Martini from '@mapbox/martini';
2
- export function RasterTriangulation(parserData) {
3
- var coordinates = parserData.coordinates,
4
- data = parserData.data,
5
- min = parserData.min,
6
- max = parserData.max,
7
- width = parserData.width,
8
- height = parserData.height;
9
- var maxlength = Math.max(width, height);
10
- var gridSize = Math.pow(2, Math.ceil(Math.log2(maxlength))) + 1;
11
- var terrain = new Float32Array(gridSize * gridSize);
12
-
13
- for (var i = 0; i < width; i++) {
14
- for (var j = 0; j < height; j++) {
15
- terrain[i * gridSize + j] = data[i * width + j];
16
- }
17
- }
18
-
19
- var martini = new Martini(gridSize);
20
- var tile = martini.createTile(terrain);
21
- var mesh = tile.getMesh(gridSize / 2);
22
- return {
23
- vertices: Array.from(mesh.vertices),
24
- indices: Array.from(mesh.triangles),
25
- size: 2
26
- };
27
- }
28
- //# sourceMappingURL=triangulation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/raster/buffers/triangulation.ts"],"names":["Martini","RasterTriangulation","parserData","coordinates","data","min","max","width","height","maxlength","Math","gridSize","pow","ceil","log2","terrain","Float32Array","i","j","martini","tile","createTile","mesh","getMesh","vertices","Array","from","indices","triangles","size"],"mappings":"AAEA,OAAOA,OAAP,MAAoB,iBAApB;AACA,OAAO,SAASC,mBAAT,CAA6BC,UAA7B,EAAyD;AAC9D,MAAQC,WAAR,GAAuDD,UAAvD,CAAQC,WAAR;AAAA,MAAqBC,IAArB,GAAuDF,UAAvD,CAAqBE,IAArB;AAAA,MAA2BC,GAA3B,GAAuDH,UAAvD,CAA2BG,GAA3B;AAAA,MAAgCC,GAAhC,GAAuDJ,UAAvD,CAAgCI,GAAhC;AAAA,MAAqCC,KAArC,GAAuDL,UAAvD,CAAqCK,KAArC;AAAA,MAA4CC,MAA5C,GAAuDN,UAAvD,CAA4CM,MAA5C;AACA,MAAMC,SAAS,GAAGC,IAAI,CAACJ,GAAL,CAASC,KAAT,EAAgBC,MAAhB,CAAlB;AACA,MAAMG,QAAQ,GAAGD,IAAI,CAACE,GAAL,CAAS,CAAT,EAAYF,IAAI,CAACG,IAAL,CAAUH,IAAI,CAACI,IAAL,CAAUL,SAAV,CAAV,CAAZ,IAA+C,CAAhE;AACA,MAAMM,OAAO,GAAG,IAAIC,YAAJ,CAAiBL,QAAQ,GAAGA,QAA5B,CAAhB;;AACA,OAAK,IAAIM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,KAApB,EAA2BU,CAAC,EAA5B,EAAgC;AAC9B,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,MAApB,EAA4BU,CAAC,EAA7B,EAAiC;AAC/BH,MAAAA,OAAO,CAACE,CAAC,GAAGN,QAAJ,GAAeO,CAAhB,CAAP,GAA4Bd,IAAI,CAACa,CAAC,GAAGV,KAAJ,GAAYW,CAAb,CAAhC;AACD;AACF;;AACD,MAAMC,OAAO,GAAG,IAAInB,OAAJ,CAAYW,QAAZ,CAAhB;AACA,MAAMS,IAAI,GAAGD,OAAO,CAACE,UAAR,CAAmBN,OAAnB,CAAb;AACA,MAAMO,IAAI,GAAGF,IAAI,CAACG,OAAL,CAAaZ,QAAQ,GAAG,CAAxB,CAAb;AACA,SAAO;AACLa,IAAAA,QAAQ,EAAEC,KAAK,CAACC,IAAN,CAAWJ,IAAI,CAACE,QAAhB,CADL;AAELG,IAAAA,OAAO,EAAEF,KAAK,CAACC,IAAN,CAAWJ,IAAI,CAACM,SAAhB,CAFJ;AAGLC,IAAAA,IAAI,EAAE;AAHD,GAAP;AAKD","sourcesContent":["import { IEncodeFeature, IParseDataItem } from '@antv/l7-core';\n// @ts-ignore\nimport Martini from '@mapbox/martini';\nexport function RasterTriangulation(parserData: IParseDataItem) {\n const { coordinates, data, min, max, width, height } = parserData;\n const maxlength = Math.max(width, height);\n const gridSize = Math.pow(2, Math.ceil(Math.log2(maxlength))) + 1;\n const terrain = new Float32Array(gridSize * gridSize);\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n terrain[i * gridSize + j] = data[i * width + j];\n }\n }\n const martini = new Martini(gridSize);\n const tile = martini.createTile(terrain);\n const mesh = tile.getMesh(gridSize / 2);\n return {\n vertices: Array.from(mesh.vertices) as number[],\n indices: Array.from(mesh.triangles) as number[],\n size: 2,\n };\n}\n"],"file":"triangulation.js"}
File without changes
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"image.js"}
@@ -1,28 +0,0 @@
1
- import { IColorRamp } from '@antv/l7-utils';
2
- import BaseLayer from '../core/BaseLayer';
3
- import { RasterModelType } from './models/index';
4
- interface IRasterLayerStyleOptions {
5
- opacity: number;
6
- domain: [number, number];
7
- noDataValue: number;
8
- clampLow: boolean;
9
- clampHigh: boolean;
10
- rampColors: IColorRamp;
11
- }
12
- export default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {
13
- type: string;
14
- buildModels(): void;
15
- rebuildModels(): void;
16
- protected getConfigSchema(): {
17
- properties: {
18
- opacity: {
19
- type: string;
20
- minimum: number;
21
- maximum: number;
22
- };
23
- };
24
- };
25
- protected getDefaultConfig(): {} | {};
26
- protected getModelType(): RasterModelType;
27
- }
28
- export {};
@@ -1,83 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
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 BaseLayer from '../core/BaseLayer';
14
- import RasterModels from './models/index';
15
-
16
- var RaterLayer = function (_BaseLayer) {
17
- _inherits(RaterLayer, _BaseLayer);
18
-
19
- var _super = _createSuper(RaterLayer);
20
-
21
- function RaterLayer() {
22
- var _this;
23
-
24
- _classCallCheck(this, RaterLayer);
25
-
26
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
27
- args[_key] = arguments[_key];
28
- }
29
-
30
- _this = _super.call.apply(_super, [this].concat(args));
31
-
32
- _defineProperty(_assertThisInitialized(_this), "type", 'RasterLayer');
33
-
34
- return _this;
35
- }
36
-
37
- _createClass(RaterLayer, [{
38
- key: "buildModels",
39
- value: function buildModels() {
40
- var modelType = this.getModelType();
41
- this.layerModel = new RasterModels[modelType](this);
42
- this.models = this.layerModel.initModels();
43
- }
44
- }, {
45
- key: "rebuildModels",
46
- value: function rebuildModels() {
47
- this.models = this.layerModel.buildModels();
48
- }
49
- }, {
50
- key: "getConfigSchema",
51
- value: function getConfigSchema() {
52
- return {
53
- properties: {
54
- opacity: {
55
- type: 'number',
56
- minimum: 0,
57
- maximum: 1
58
- }
59
- }
60
- };
61
- }
62
- }, {
63
- key: "getDefaultConfig",
64
- value: function getDefaultConfig() {
65
- var type = this.getModelType();
66
- var defaultConfig = {
67
- raster: {},
68
- raster3d: {}
69
- };
70
- return defaultConfig[type];
71
- }
72
- }, {
73
- key: "getModelType",
74
- value: function getModelType() {
75
- return 'raster';
76
- }
77
- }]);
78
-
79
- return RaterLayer;
80
- }(BaseLayer);
81
-
82
- export { RaterLayer as default };
83
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/raster/index.ts"],"names":["BaseLayer","RasterModels","RaterLayer","modelType","getModelType","layerModel","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d"],"mappings":";;;;;;;;;;;;AACA,OAAOA,SAAP,MAAsB,mBAAtB;AACA,OAAOC,YAAP,MAA8C,gBAA9C;;IASqBC,U;;;;;;;;;;;;;;;;2DACG,a;;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,YAAY,CAACE,SAAD,CAAhB,CAA4B,IAA5B,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKD,UAAL,CAAgBG,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKP,YAAL,EAAb;AACA,UAAMU,aAAa,GAAG;AACpBC,QAAAA,MAAM,EAAE,EADY;AAEpBC,QAAAA,QAAQ,EAAE;AAFU,OAAtB;AAIA,aAAOF,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA0C;AACxC,aAAO,QAAP;AACD;;;;EAhCqCX,S;;SAAnBE,U","sourcesContent":["import { IColorRamp } from '@antv/l7-utils';\nimport BaseLayer from '../core/BaseLayer';\nimport RasterModels, { RasterModelType } from './models/index';\ninterface IRasterLayerStyleOptions {\n opacity: number;\n domain: [number, number];\n noDataValue: number;\n clampLow: boolean;\n clampHigh: boolean;\n rampColors: IColorRamp;\n}\nexport default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new RasterModels[modelType](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n raster: {},\n raster3d: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): RasterModelType {\n return 'raster';\n }\n}\n"],"file":"index.js"}
@@ -1,5 +0,0 @@
1
- export declare type RasterModelType = 'raster' | 'raster3d';
2
- declare const RasterModels: {
3
- [key in RasterModelType]: any;
4
- };
5
- export default RasterModels;
@@ -1,7 +0,0 @@
1
- import RasterModel from './raster';
2
- var RasterModels = {
3
- raster: RasterModel,
4
- raster3d: RasterModel
5
- };
6
- export default RasterModels;
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterModel","RasterModels","raster","raster3d"],"mappings":"AAAA,OAAOA,WAAP,MAAwB,UAAxB;AAGA,IAAMC,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEF,WAD8C;AAEtDG,EAAAA,QAAQ,EAAEH;AAF4C,CAAxD;AAKA,eAAeC,YAAf","sourcesContent":["import RasterModel from './raster';\nexport type RasterModelType = 'raster' | 'raster3d';\n\nconst RasterModels: { [key in RasterModelType]: any } = {\n raster: RasterModel,\n raster3d: RasterModel,\n};\n\nexport default RasterModels;\n"],"file":"index.js"}
@@ -1,19 +0,0 @@
1
- import { IModel, ITexture2D } from '@antv/l7-core';
2
- import BaseModel from '../../core/BaseModel';
3
- export default class RasterModel extends BaseModel {
4
- protected texture: ITexture2D;
5
- protected colorTexture: ITexture2D;
6
- getUninforms(): {
7
- u_opacity: number;
8
- u_texture: ITexture2D;
9
- u_domain: [number, number];
10
- u_clampLow: boolean;
11
- u_clampHigh: boolean;
12
- u_noDataValue: number;
13
- u_colorTexture: ITexture2D;
14
- };
15
- initModels(): IModel[];
16
- buildModels(): IModel[];
17
- protected registerBuiltinAttributes(): void;
18
- private updateColorTexure;
19
- }
@@ -1,152 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
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 { generateColorRamp } from '@antv/l7-utils';
15
- import BaseModel from '../../core/BaseModel';
16
- import { RasterImageTriangulation } from '../../core/triangulation';
17
- 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\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\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\n}\n";
18
- 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 gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 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";
19
-
20
- var RasterModel = function (_BaseModel) {
21
- _inherits(RasterModel, _BaseModel);
22
-
23
- var _super = _createSuper(RasterModel);
24
-
25
- function RasterModel() {
26
- var _this;
27
-
28
- _classCallCheck(this, RasterModel);
29
-
30
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
31
- args[_key] = arguments[_key];
32
- }
33
-
34
- _this = _super.call.apply(_super, [this].concat(args));
35
-
36
- _defineProperty(_assertThisInitialized(_this), "texture", void 0);
37
-
38
- _defineProperty(_assertThisInitialized(_this), "colorTexture", void 0);
39
-
40
- return _this;
41
- }
42
-
43
- _createClass(RasterModel, [{
44
- key: "getUninforms",
45
- value: function getUninforms() {
46
- var _ref = this.layer.getLayerConfig(),
47
- _ref$opacity = _ref.opacity,
48
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
49
- _ref$clampLow = _ref.clampLow,
50
- clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
51
- _ref$clampHigh = _ref.clampHigh,
52
- clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
53
- _ref$noDataValue = _ref.noDataValue,
54
- noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
55
- _ref$domain = _ref.domain,
56
- domain = _ref$domain === void 0 ? [0, 1] : _ref$domain;
57
-
58
- this.updateColorTexure();
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: this.colorTexture
67
- };
68
- }
69
- }, {
70
- key: "initModels",
71
- value: function initModels() {
72
- var source = this.layer.getSource();
73
- var createTexture2D = this.rendererService.createTexture2D;
74
- var parserDataItem = source.data.dataArray[0];
75
- this.texture = createTexture2D({
76
- data: parserDataItem.data,
77
- width: parserDataItem.width,
78
- height: parserDataItem.height,
79
- format: gl.LUMINANCE,
80
- type: gl.FLOAT
81
- });
82
-
83
- var _ref2 = this.layer.getLayerConfig(),
84
- rampColors = _ref2.rampColors;
85
-
86
- var imageData = generateColorRamp(rampColors);
87
- this.colorTexture = createTexture2D({
88
- data: imageData.data,
89
- width: imageData.width,
90
- height: imageData.height,
91
- flipY: false
92
- });
93
- return [this.layer.buildLayerModel({
94
- moduleName: 'RasterImageData',
95
- vertexShader: rasterVert,
96
- fragmentShader: rasterFrag,
97
- triangulation: RasterImageTriangulation,
98
- primitive: gl.TRIANGLES,
99
- depth: {
100
- enable: false
101
- },
102
- blend: this.getBlend()
103
- })];
104
- }
105
- }, {
106
- key: "buildModels",
107
- value: function buildModels() {
108
- return this.initModels();
109
- }
110
- }, {
111
- key: "registerBuiltinAttributes",
112
- value: function registerBuiltinAttributes() {
113
- this.styleAttributeService.registerStyleAttribute({
114
- name: 'uv',
115
- type: AttributeType.Attribute,
116
- descriptor: {
117
- name: 'a_Uv',
118
- buffer: {
119
- usage: gl.DYNAMIC_DRAW,
120
- data: [],
121
- type: gl.FLOAT
122
- },
123
- size: 2,
124
- update: function update(feature, featureIdx, vertex, attributeIdx) {
125
- return [vertex[3], vertex[4]];
126
- }
127
- }
128
- });
129
- }
130
- }, {
131
- key: "updateColorTexure",
132
- value: function updateColorTexure() {
133
- var createTexture2D = this.rendererService.createTexture2D;
134
-
135
- var _ref3 = this.layer.getLayerConfig(),
136
- rampColors = _ref3.rampColors;
137
-
138
- var imageData = generateColorRamp(rampColors);
139
- this.colorTexture = createTexture2D({
140
- data: imageData.data,
141
- width: imageData.width,
142
- height: imageData.height,
143
- flipY: false
144
- });
145
- }
146
- }]);
147
-
148
- return RasterModel;
149
- }(BaseModel);
150
-
151
- export { RasterModel as default };
152
- //# sourceMappingURL=raster.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["AttributeType","gl","generateColorRamp","BaseModel","RasterImageTriangulation","RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","width","height","format","LUMINANCE","type","FLOAT","rampColors","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","initModels","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n ILayer,\n ILayerPlugin,\n IModel,\n IModelUniform,\n IRasterParserDataItem,\n IStyleAttributeService,\n ITexture2D,\n lazyInject,\n TYPES,\n} from '@antv/l7-core';\nimport { generateColorRamp, IColorRamp } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport rasterFrag from '../shaders/raster_2d_frag.glsl';\nimport rasterVert from '../shaders/raster_2d_vert.glsl';\n\ninterface IRasterLayerStyleOptions {\n opacity: number;\n domain: [number, number];\n noDataValue: number;\n clampLow: boolean;\n clampHigh: boolean;\n rampColors: IColorRamp;\n}\nexport default class RasterModel extends BaseModel {\n protected texture: ITexture2D;\n protected colorTexture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n clampLow = true,\n clampHigh = true,\n noDataValue = -9999999,\n domain = [0, 1],\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n this.updateColorTexure();\n return {\n u_opacity: opacity || 1,\n u_texture: this.texture,\n u_domain: domain,\n u_clampLow: clampLow,\n u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,\n u_noDataValue: noDataValue,\n u_colorTexture: this.colorTexture,\n };\n }\n\n public initModels() {\n const source = this.layer.getSource();\n const { createTexture2D } = this.rendererService;\n const parserDataItem = source.data.dataArray[0];\n this.texture = createTexture2D({\n data: parserDataItem.data,\n width: parserDataItem.width,\n height: parserDataItem.height,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n // aniso: 4,\n });\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n return [\n this.layer.buildLayerModel({\n moduleName: 'RasterImageData',\n vertexShader: rasterVert,\n fragmentShader: rasterFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n }),\n ];\n }\n\n public buildModels() {\n return this.initModels();\n }\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n\n private updateColorTexure() {\n const { createTexture2D } = this.rendererService;\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n }\n}\n"],"file":"raster.js"}
@@ -1,30 +0,0 @@
1
- import { IModelUniform, ITexture2D } from '@antv/l7-core';
2
- import { IColorRamp } from '@antv/l7-utils';
3
- import BaseLayer from '../core/BaseLayer';
4
- interface IRasterLayerStyleOptions {
5
- opacity: number;
6
- min: number;
7
- max: number;
8
- extent: [number, number, number, number];
9
- rampColors: IColorRamp;
10
- heightRatio: number;
11
- }
12
- export default class RasterLayer extends BaseLayer<IRasterLayerStyleOptions> {
13
- type: string;
14
- protected rasterTexture: ITexture2D;
15
- protected colorTexture: ITexture2D;
16
- getAnimateUniforms(): IModelUniform;
17
- buildModels(): void;
18
- renderModels(): this;
19
- protected getConfigSchema(): {
20
- properties: {
21
- opacity: {
22
- type: string;
23
- minimum: number;
24
- maximum: number;
25
- };
26
- };
27
- };
28
- private buildRasterModel;
29
- }
30
- export {};
@@ -1,178 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
-
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
11
-
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
-
14
- 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); }; }
15
-
16
- 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; } }
17
-
18
- import { gl } from '@antv/l7-core';
19
- import { generateColorRamp } from '@antv/l7-utils';
20
- import BaseLayer from '../core/BaseLayer';
21
- import { RasterTriangulation } from './buffers/triangulation';
22
- var rasterFrag = "varying vec4 v_color;\nuniform float u_opacity: 1.0;\n#define PI 3.141592653589793\n\nvoid main() {\n gl_FragColor = v_color;\n gl_FragColor.a *= u_opacity;\n\n}\n";
23
- var rasterVert = "precision highp float;\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform vec4 u_extent;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform float u_width;\nuniform float u_height;\nuniform float u_heightRatio;\n\nvarying vec2 v_texCoord;\nvarying vec4 v_color;\n\n#pragma include \"projection\"\nvoid main() {\n vec2 uv = a_Position.xy / vec2(u_width, u_height);\n vec2 minxy = project_position(vec4(u_extent.xy, 0, 1.0)).xy;\n vec2 maxxy = project_position(vec4(u_extent.zw, 0, 1.0)).xy;\n float value = texture2D(u_texture, vec2(uv.x,1.0 - uv.y)).x;\n vec2 step = (maxxy - minxy) / vec2(u_width, u_height);\n vec2 pos = minxy + vec2(a_Position.x, a_Position.y ) * step;\n // v_texCoord = a_Uv;\n value = clamp(value,u_min,u_max);\n float value1 = (value - u_min) / (u_max -u_min);\n vec4 color = texture2D(u_colorTexture,vec2(intensity, 0));\n\n // if(uv.x > 1.0 || uv.y > 1.0) {\n // v_color = vec4(0.);\n // }\n\n // vec2 range = u_extent.zw - u_extent.xy;\n // vec4 project_pos = project_position(vec4(pos, 0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(pos.xy, project_scale(value) * u_heightRatio, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(pos.xy, project_scale(value) * u_heightRatio, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(pos.xy, project_scale(value) * u_heightRatio, 1.0));\n }\n\n}\n";
24
-
25
- var RasterLayer = function (_BaseLayer) {
26
- _inherits(RasterLayer, _BaseLayer);
27
-
28
- var _super = _createSuper(RasterLayer);
29
-
30
- function RasterLayer() {
31
- var _this;
32
-
33
- _classCallCheck(this, RasterLayer);
34
-
35
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
- args[_key] = arguments[_key];
37
- }
38
-
39
- _this = _super.call.apply(_super, [this].concat(args));
40
-
41
- _defineProperty(_assertThisInitialized(_this), "type", 'RasterLayer');
42
-
43
- _defineProperty(_assertThisInitialized(_this), "rasterTexture", void 0);
44
-
45
- _defineProperty(_assertThisInitialized(_this), "colorTexture", void 0);
46
-
47
- return _this;
48
- }
49
-
50
- _createClass(RasterLayer, [{
51
- key: "getAnimateUniforms",
52
- value: function getAnimateUniforms() {
53
- return {};
54
- }
55
- }, {
56
- key: "buildModels",
57
- value: function buildModels() {
58
- var parserDataItem = this.getSource().data.dataArray[0];
59
- var createTexture2D = this.rendererService.createTexture2D;
60
- this.rasterTexture = createTexture2D({
61
- data: parserDataItem.data,
62
- width: parserDataItem.width,
63
- height: parserDataItem.height,
64
- format: gl.LUMINANCE,
65
- type: gl.FLOAT,
66
- aniso: 4
67
- });
68
-
69
- var _this$getLayerConfig = this.getLayerConfig(),
70
- rampColors = _this$getLayerConfig.rampColors;
71
-
72
- var imageData = generateColorRamp(rampColors);
73
- this.colorTexture = createTexture2D({
74
- data: imageData.data,
75
- width: imageData.width,
76
- height: imageData.height,
77
- flipY: false
78
- });
79
- this.models = [this.buildRasterModel()];
80
- }
81
- }, {
82
- key: "renderModels",
83
- value: function renderModels() {
84
- var _this2 = this;
85
-
86
- var _this$getLayerConfig2 = this.getLayerConfig(),
87
- opacity = _this$getLayerConfig2.opacity,
88
- _this$getLayerConfig3 = _this$getLayerConfig2.heightRatio,
89
- heightRatio = _this$getLayerConfig3 === void 0 ? 10 : _this$getLayerConfig3;
90
-
91
- var parserDataItem = this.getSource().data.dataArray[0];
92
- var coordinates = parserDataItem.coordinates,
93
- width = parserDataItem.width,
94
- height = parserDataItem.height,
95
- min = parserDataItem.min,
96
- max = parserDataItem.max;
97
- this.models.forEach(function (model) {
98
- return model.draw({
99
- uniforms: {
100
- u_opacity: opacity || 1,
101
- u_texture: _this2.rasterTexture,
102
- u_min: min,
103
- u_width: width,
104
- u_height: height,
105
- u_max: max,
106
- u_heightRatio: heightRatio,
107
- u_colorTexture: _this2.colorTexture,
108
- u_extent: [].concat(_toConsumableArray(coordinates[0]), _toConsumableArray(coordinates[1]))
109
- }
110
- });
111
- });
112
- return this;
113
- }
114
- }, {
115
- key: "getConfigSchema",
116
- value: function getConfigSchema() {
117
- return {
118
- properties: {
119
- opacity: {
120
- type: 'number',
121
- minimum: 0,
122
- maximum: 1
123
- }
124
- }
125
- };
126
- }
127
- }, {
128
- key: "buildRasterModel",
129
- value: function buildRasterModel() {
130
- var source = this.getSource();
131
- var sourceFeature = source.data.dataArray[0];
132
- var triangulation = RasterTriangulation(sourceFeature);
133
- this.shaderModuleService.registerModule('raster', {
134
- vs: rasterVert,
135
- fs: rasterFrag
136
- });
137
-
138
- var _this$shaderModuleSer = this.shaderModuleService.getModule('raster'),
139
- vs = _this$shaderModuleSer.vs,
140
- fs = _this$shaderModuleSer.fs,
141
- uniforms = _this$shaderModuleSer.uniforms;
142
-
143
- var _this$rendererService = this.rendererService,
144
- createAttribute = _this$rendererService.createAttribute,
145
- createElements = _this$rendererService.createElements,
146
- createBuffer = _this$rendererService.createBuffer,
147
- createModel = _this$rendererService.createModel;
148
- return createModel({
149
- vs: vs,
150
- fs: fs,
151
- attributes: {
152
- a_Position: createAttribute({
153
- buffer: createBuffer({
154
- data: triangulation.vertices,
155
- type: gl.FLOAT
156
- }),
157
- size: 2
158
- })
159
- },
160
- primitive: gl.TRIANGLES,
161
- uniforms: _objectSpread({}, uniforms),
162
- depth: {
163
- enable: true
164
- },
165
- elements: createElements({
166
- data: triangulation.indices,
167
- type: gl.UNSIGNED_INT,
168
- count: triangulation.indices.length
169
- })
170
- });
171
- }
172
- }]);
173
-
174
- return RasterLayer;
175
- }(BaseLayer);
176
-
177
- export { RasterLayer as default };
178
- //# sourceMappingURL=raster.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/raster/raster.ts"],"names":["gl","generateColorRamp","BaseLayer","RasterTriangulation","RasterLayer","parserDataItem","getSource","data","dataArray","createTexture2D","rendererService","rasterTexture","width","height","format","LUMINANCE","type","FLOAT","aniso","getLayerConfig","rampColors","imageData","colorTexture","flipY","models","buildRasterModel","opacity","heightRatio","coordinates","min","max","forEach","model","draw","uniforms","u_opacity","u_texture","u_min","u_width","u_height","u_max","u_heightRatio","u_colorTexture","u_extent","properties","minimum","maximum","source","sourceFeature","triangulation","shaderModuleService","registerModule","vs","rasterVert","fs","rasterFrag","getModule","createAttribute","createElements","createBuffer","createModel","attributes","a_Position","buffer","vertices","size","primitive","TRIANGLES","depth","enable","elements","indices","UNSIGNED_INT","count","length"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n ILayer,\n ILayerPlugin,\n IModelUniform,\n IRasterParserDataItem,\n IStyleAttributeService,\n ITexture2D,\n lazyInject,\n TYPES,\n} from '@antv/l7-core';\n\nimport { generateColorRamp, IColorRamp } from '@antv/l7-utils';\nimport BaseLayer from '../core/BaseLayer';\nimport { RasterTriangulation } from './buffers/triangulation';\nimport rasterFrag from './shaders/raster_frag.glsl';\nimport rasterVert from './shaders/raster_vert.glsl';\ninterface IRasterLayerStyleOptions {\n opacity: number;\n min: number;\n max: number;\n extent: [number, number, number, number];\n rampColors: IColorRamp;\n heightRatio: number;\n}\n\nexport default class RasterLayer extends BaseLayer<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n protected rasterTexture: ITexture2D;\n protected colorTexture: ITexture2D;\n\n public getAnimateUniforms(): IModelUniform {\n return {};\n }\n\n public buildModels() {\n const parserDataItem = this.getSource().data.dataArray[0];\n const { createTexture2D } = this.rendererService;\n this.rasterTexture = createTexture2D({\n data: parserDataItem.data,\n width: parserDataItem.width,\n height: parserDataItem.height,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n aniso: 4,\n });\n const { rampColors } = this.getLayerConfig();\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n this.models = [this.buildRasterModel()];\n }\n public renderModels() {\n const { opacity, heightRatio = 10 } = this.getLayerConfig();\n const parserDataItem = this.getSource().data.dataArray[0];\n const { coordinates, width, height, min, max } = parserDataItem;\n this.models.forEach((model) =>\n model.draw({\n uniforms: {\n u_opacity: opacity || 1,\n u_texture: this.rasterTexture,\n u_min: min,\n u_width: width,\n u_height: height,\n u_max: max,\n u_heightRatio: heightRatio,\n u_colorTexture: this.colorTexture,\n u_extent: [...coordinates[0], ...coordinates[1]],\n },\n }),\n );\n\n return this;\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n private buildRasterModel() {\n const source = this.getSource();\n const sourceFeature = source.data.dataArray[0];\n const triangulation = RasterTriangulation(sourceFeature);\n this.shaderModuleService.registerModule('raster', {\n vs: rasterVert,\n fs: rasterFrag,\n });\n\n const { vs, fs, uniforms } = this.shaderModuleService.getModule('raster');\n const {\n createAttribute,\n createElements,\n createBuffer,\n createModel,\n } = this.rendererService;\n return createModel({\n vs,\n fs,\n attributes: {\n a_Position: createAttribute({\n buffer: createBuffer({\n data: triangulation.vertices,\n type: gl.FLOAT,\n }),\n size: 2,\n }),\n },\n primitive: gl.TRIANGLES,\n uniforms: {\n ...uniforms,\n },\n depth: {\n enable: true,\n },\n elements: createElements({\n data: triangulation.indices,\n type: gl.UNSIGNED_INT,\n count: triangulation.indices.length,\n }),\n });\n }\n}\n"],"file":"raster.js"}