@antv/l7-layers 2.5.36 → 2.5.37-mini12

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 (286) hide show
  1. package/lib/core/BaseLayer.js +10 -4
  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/core/shape/Path.js +5 -4
  6. package/lib/core/shape/Path.js.map +1 -1
  7. package/lib/core/shape/extrude.js +1 -1
  8. package/lib/core/triangulation.js +13 -9
  9. package/lib/core/triangulation.js.map +1 -1
  10. package/lib/earth/utils.js +1 -1
  11. package/lib/heatmap/models/heatmap.js +13 -18
  12. package/lib/heatmap/models/heatmap.js.map +1 -1
  13. package/lib/image/models/image.js +28 -7
  14. package/lib/image/models/image.js.map +1 -1
  15. package/lib/imagetile/index.js +95 -0
  16. package/lib/imagetile/index.js.map +1 -0
  17. package/lib/imagetile/models/imagetile.js +177 -0
  18. package/lib/imagetile/models/imagetile.js.map +1 -0
  19. package/lib/imagetile/models/index.js +17 -0
  20. package/lib/imagetile/models/index.js.map +1 -0
  21. package/lib/imagetile/utils/ImageTile.js +99 -0
  22. package/lib/imagetile/utils/ImageTile.js.map +1 -0
  23. package/lib/imagetile/utils/Tile.js +324 -0
  24. package/lib/imagetile/utils/Tile.js.map +1 -0
  25. package/lib/imagetile/utils/lruCache.js +109 -0
  26. package/lib/imagetile/utils/lruCache.js.map +1 -0
  27. package/lib/imagetile/utils/tileCache.js +58 -0
  28. package/lib/imagetile/utils/tileCache.js.map +1 -0
  29. package/lib/index.js +16 -8
  30. package/lib/index.js.map +1 -1
  31. package/lib/line/index.js +3 -0
  32. package/lib/line/index.js.map +1 -1
  33. package/lib/line/models/arc.js +2 -2
  34. package/lib/line/models/arc_3d.js +2 -2
  35. package/lib/line/models/arcmini.js +160 -0
  36. package/lib/line/models/arcmini.js.map +1 -0
  37. package/lib/line/models/great_circle.js +2 -2
  38. package/lib/line/models/index.js +3 -0
  39. package/lib/line/models/index.js.map +1 -1
  40. package/lib/line/models/line.js +2 -2
  41. package/lib/plugins/DataMappingPlugin.js +1 -1
  42. package/lib/plugins/DataSourcePlugin.js +5 -1
  43. package/lib/plugins/DataSourcePlugin.js.map +1 -1
  44. package/lib/plugins/FeatureScalePlugin.js +5 -1
  45. package/lib/plugins/FeatureScalePlugin.js.map +1 -1
  46. package/lib/plugins/LayerAnimateStylePlugin.js +1 -1
  47. package/lib/plugins/LayerStylePlugin.js.map +1 -1
  48. package/lib/plugins/LightingPlugin.js +5 -3
  49. package/lib/plugins/LightingPlugin.js.map +1 -1
  50. package/lib/plugins/MultiPassRendererPlugin.js +1 -1
  51. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  52. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  53. package/lib/plugins/UpdateStyleAttributePlugin.js +6 -6
  54. package/lib/plugins/UpdateStyleAttributePlugin.js.map +1 -1
  55. package/lib/point/models/image.js.map +1 -1
  56. package/lib/point/shape/Path.js +5 -4
  57. package/lib/point/shape/Path.js.map +1 -1
  58. package/lib/raster/raster.js +1 -1
  59. package/lib/utils/dataMappingStyle.js +1 -1
  60. package/lib/utils/extrude_polyline.js +1 -1
  61. package/lib/utils/polylineNormal.js +1 -1
  62. package/lib/utils/symbol-layout.js +1 -1
  63. package/package.json +7 -6
  64. package/CHANGELOG.md +0 -492
  65. package/LICENSE.md +0 -21
  66. package/es/citybuliding/building.d.ts +0 -17
  67. package/es/citybuliding/building.js +0 -79
  68. package/es/citybuliding/building.js.map +0 -1
  69. package/es/citybuliding/models/build.d.ts +0 -13
  70. package/es/citybuliding/models/build.js +0 -124
  71. package/es/citybuliding/models/build.js.map +0 -1
  72. package/es/core/BaseLayer.d.ts +0 -174
  73. package/es/core/BaseLayer.js +0 -974
  74. package/es/core/BaseLayer.js.map +0 -1
  75. package/es/core/BaseModel.d.ts +0 -135
  76. package/es/core/BaseModel.js +0 -412
  77. package/es/core/BaseModel.js.map +0 -1
  78. package/es/core/interface.d.ts +0 -19
  79. package/es/core/interface.js +0 -7
  80. package/es/core/interface.js.map +0 -1
  81. package/es/core/schema.d.ts +0 -27
  82. package/es/core/schema.js +0 -23
  83. package/es/core/schema.js.map +0 -1
  84. package/es/core/shape/Path.d.ts +0 -39
  85. package/es/core/shape/Path.js +0 -57
  86. package/es/core/shape/Path.js.map +0 -1
  87. package/es/core/shape/extrude.d.ts +0 -17
  88. package/es/core/shape/extrude.js +0 -143
  89. package/es/core/shape/extrude.js.map +0 -1
  90. package/es/core/triangulation.d.ts +0 -109
  91. package/es/core/triangulation.js +0 -328
  92. package/es/core/triangulation.js.map +0 -1
  93. package/es/earth/index.d.ts +0 -17
  94. package/es/earth/index.js +0 -81
  95. package/es/earth/index.js.map +0 -1
  96. package/es/earth/models/atmosphere.d.ts +0 -9
  97. package/es/earth/models/atmosphere.js +0 -125
  98. package/es/earth/models/atmosphere.js.map +0 -1
  99. package/es/earth/models/base.d.ts +0 -16
  100. package/es/earth/models/base.js +0 -193
  101. package/es/earth/models/base.js.map +0 -1
  102. package/es/earth/models/bloomsphere.d.ts +0 -9
  103. package/es/earth/models/bloomsphere.js +0 -125
  104. package/es/earth/models/bloomsphere.js.map +0 -1
  105. package/es/earth/utils.d.ts +0 -26
  106. package/es/earth/utils.js +0 -81
  107. package/es/earth/utils.js.map +0 -1
  108. package/es/glsl.d.js +0 -2
  109. package/es/glsl.d.js.map +0 -1
  110. package/es/heatmap/index.d.ts +0 -22
  111. package/es/heatmap/index.js +0 -123
  112. package/es/heatmap/index.js.map +0 -1
  113. package/es/heatmap/models/grid.d.ts +0 -8
  114. package/es/heatmap/models/grid.js +0 -90
  115. package/es/heatmap/models/grid.js.map +0 -1
  116. package/es/heatmap/models/grid3d.d.ts +0 -8
  117. package/es/heatmap/models/grid3d.js +0 -122
  118. package/es/heatmap/models/grid3d.js.map +0 -1
  119. package/es/heatmap/models/heatmap.d.ts +0 -24
  120. package/es/heatmap/models/heatmap.js +0 -399
  121. package/es/heatmap/models/heatmap.js.map +0 -1
  122. package/es/heatmap/models/hexagon.d.ts +0 -8
  123. package/es/heatmap/models/hexagon.js +0 -90
  124. package/es/heatmap/models/hexagon.js.map +0 -1
  125. package/es/heatmap/models/index.d.ts +0 -5
  126. package/es/heatmap/models/index.js +0 -13
  127. package/es/heatmap/models/index.js.map +0 -1
  128. package/es/heatmap/triangulation.d.ts +0 -5
  129. package/es/heatmap/triangulation.js +0 -38
  130. package/es/heatmap/triangulation.js.map +0 -1
  131. package/es/image/index.d.ts +0 -22
  132. package/es/image/index.js +0 -82
  133. package/es/image/index.js.map +0 -1
  134. package/es/image/models/image.d.ts +0 -18
  135. package/es/image/models/image.js +0 -127
  136. package/es/image/models/image.js.map +0 -1
  137. package/es/image/models/index.d.ts +0 -5
  138. package/es/image/models/index.js +0 -6
  139. package/es/image/models/index.js.map +0 -1
  140. package/es/index.d.ts +0 -11
  141. package/es/index.js +0 -39
  142. package/es/index.js.map +0 -1
  143. package/es/line/index.d.ts +0 -25
  144. package/es/line/index.js +0 -95
  145. package/es/line/index.js.map +0 -1
  146. package/es/line/models/arc.d.ts +0 -12
  147. package/es/line/models/arc.js +0 -281
  148. package/es/line/models/arc.js.map +0 -1
  149. package/es/line/models/arc_3d.d.ts +0 -12
  150. package/es/line/models/arc_3d.js +0 -277
  151. package/es/line/models/arc_3d.js.map +0 -1
  152. package/es/line/models/great_circle.d.ts +0 -12
  153. package/es/line/models/great_circle.js +0 -269
  154. package/es/line/models/great_circle.js.map +0 -1
  155. package/es/line/models/index.d.ts +0 -5
  156. package/es/line/models/index.js +0 -12
  157. package/es/line/models/index.js.map +0 -1
  158. package/es/line/models/line.d.ts +0 -13
  159. package/es/line/models/line.js +0 -342
  160. package/es/line/models/line.js.map +0 -1
  161. package/es/plugins/DataMappingPlugin.d.ts +0 -13
  162. package/es/plugins/DataMappingPlugin.js +0 -199
  163. package/es/plugins/DataMappingPlugin.js.map +0 -1
  164. package/es/plugins/DataSourcePlugin.d.ts +0 -7
  165. package/es/plugins/DataSourcePlugin.js +0 -73
  166. package/es/plugins/DataSourcePlugin.js.map +0 -1
  167. package/es/plugins/FeatureScalePlugin.d.ts +0 -26
  168. package/es/plugins/FeatureScalePlugin.js +0 -270
  169. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  170. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -7
  171. package/es/plugins/LayerAnimateStylePlugin.js +0 -50
  172. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  173. package/es/plugins/LayerModelPlugin.d.ts +0 -8
  174. package/es/plugins/LayerModelPlugin.js +0 -34
  175. package/es/plugins/LayerModelPlugin.js.map +0 -1
  176. package/es/plugins/LayerStylePlugin.d.ts +0 -8
  177. package/es/plugins/LayerStylePlugin.js +0 -35
  178. package/es/plugins/LayerStylePlugin.js.map +0 -1
  179. package/es/plugins/LightingPlugin.d.ts +0 -36
  180. package/es/plugins/LightingPlugin.js +0 -100
  181. package/es/plugins/LightingPlugin.js.map +0 -1
  182. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -37
  183. package/es/plugins/MultiPassRendererPlugin.js +0 -79
  184. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  185. package/es/plugins/PixelPickingPlugin.d.ts +0 -8
  186. package/es/plugins/PixelPickingPlugin.js +0 -112
  187. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  188. package/es/plugins/RegisterStyleAttributePlugin.d.ts +0 -11
  189. package/es/plugins/RegisterStyleAttributePlugin.js +0 -98
  190. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  191. package/es/plugins/ShaderUniformPlugin.d.ts +0 -16
  192. package/es/plugins/ShaderUniformPlugin.js +0 -78
  193. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  194. package/es/plugins/UpdateModelPlugin.d.ts +0 -8
  195. package/es/plugins/UpdateModelPlugin.js +0 -27
  196. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  197. package/es/plugins/UpdateStyleAttributePlugin.d.ts +0 -12
  198. package/es/plugins/UpdateStyleAttributePlugin.js +0 -74
  199. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  200. package/es/point/index.d.ts +0 -30
  201. package/es/point/index.js +0 -130
  202. package/es/point/index.js.map +0 -1
  203. package/es/point/models/extrude.d.ts +0 -14
  204. package/es/point/models/extrude.js +0 -180
  205. package/es/point/models/extrude.js.map +0 -1
  206. package/es/point/models/fill.d.ts +0 -17
  207. package/es/point/models/fill.js +0 -247
  208. package/es/point/models/fill.js.map +0 -1
  209. package/es/point/models/icon-font.d.ts +0 -11
  210. package/es/point/models/icon-font.js +0 -181
  211. package/es/point/models/icon-font.js.map +0 -1
  212. package/es/point/models/image.d.ts +0 -11
  213. package/es/point/models/image.js +0 -207
  214. package/es/point/models/image.js.map +0 -1
  215. package/es/point/models/index.d.ts +0 -5
  216. package/es/point/models/index.js +0 -16
  217. package/es/point/models/index.js.map +0 -1
  218. package/es/point/models/normal.d.ts +0 -21
  219. package/es/point/models/normal.js +0 -155
  220. package/es/point/models/normal.js.map +0 -1
  221. package/es/point/models/text.d.ts +0 -56
  222. package/es/point/models/text.js +0 -522
  223. package/es/point/models/text.js.map +0 -1
  224. package/es/point/shape/Path.d.ts +0 -40
  225. package/es/point/shape/Path.js +0 -57
  226. package/es/point/shape/Path.js.map +0 -1
  227. package/es/point/shape/extrude.d.ts +0 -15
  228. package/es/point/shape/extrude.js +0 -58
  229. package/es/point/shape/extrude.js.map +0 -1
  230. package/es/polygon/index.d.ts +0 -22
  231. package/es/polygon/index.js +0 -124
  232. package/es/polygon/index.js.map +0 -1
  233. package/es/polygon/models/extrude.d.ts +0 -13
  234. package/es/polygon/models/extrude.js +0 -139
  235. package/es/polygon/models/extrude.js.map +0 -1
  236. package/es/polygon/models/fill.d.ts +0 -13
  237. package/es/polygon/models/fill.js +0 -108
  238. package/es/polygon/models/fill.js.map +0 -1
  239. package/es/polygon/models/index.d.ts +0 -5
  240. package/es/polygon/models/index.js +0 -20
  241. package/es/polygon/models/index.js.map +0 -1
  242. package/es/raster/buffers/triangulation.d.ts +0 -6
  243. package/es/raster/buffers/triangulation.js +0 -28
  244. package/es/raster/buffers/triangulation.js.map +0 -1
  245. package/es/raster/image.d.ts +0 -0
  246. package/es/raster/image.js +0 -2
  247. package/es/raster/image.js.map +0 -1
  248. package/es/raster/index.d.ts +0 -28
  249. package/es/raster/index.js +0 -83
  250. package/es/raster/index.js.map +0 -1
  251. package/es/raster/models/index.d.ts +0 -5
  252. package/es/raster/models/index.js +0 -7
  253. package/es/raster/models/index.js.map +0 -1
  254. package/es/raster/models/raster.d.ts +0 -19
  255. package/es/raster/models/raster.js +0 -152
  256. package/es/raster/models/raster.js.map +0 -1
  257. package/es/raster/raster.d.ts +0 -30
  258. package/es/raster/raster.js +0 -178
  259. package/es/raster/raster.js.map +0 -1
  260. package/es/raster/raster2d.d.ts +0 -27
  261. package/es/raster/raster2d.js +0 -158
  262. package/es/raster/raster2d.js.map +0 -1
  263. package/es/utils/blend.d.ts +0 -2
  264. package/es/utils/blend.js +0 -55
  265. package/es/utils/blend.js.map +0 -1
  266. package/es/utils/collision-index.d.ts +0 -47
  267. package/es/utils/collision-index.js +0 -87
  268. package/es/utils/collision-index.js.map +0 -1
  269. package/es/utils/dataMappingStyle.d.ts +0 -30
  270. package/es/utils/dataMappingStyle.js +0 -88
  271. package/es/utils/dataMappingStyle.js.map +0 -1
  272. package/es/utils/extrude_polyline.d.ts +0 -48
  273. package/es/utils/extrude_polyline.js +0 -405
  274. package/es/utils/extrude_polyline.js.map +0 -1
  275. package/es/utils/geo.d.ts +0 -3
  276. package/es/utils/geo.js +0 -24
  277. package/es/utils/geo.js.map +0 -1
  278. package/es/utils/grid-index.d.ts +0 -28
  279. package/es/utils/grid-index.js +0 -193
  280. package/es/utils/grid-index.js.map +0 -1
  281. package/es/utils/polylineNormal.d.ts +0 -9
  282. package/es/utils/polylineNormal.js +0 -171
  283. package/es/utils/polylineNormal.js.map +0 -1
  284. package/es/utils/symbol-layout.d.ts +0 -43
  285. package/es/utils/symbol-layout.js +0 -260
  286. 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":";;;;;;;;;;;;;;;;;AAAA,SAEEA,EAFF,QAYO,eAZP;AAcA,SAASC,iBAAT,QAA8C,gBAA9C;AACA,OAAOC,SAAP,MAAsB,mBAAtB;AACA,SAASC,mBAAT,QAAoC,yBAApC;;;;IAYqBC,W;;;;;;;;;;;;;;;;2DACG,a;;;;;;;;;;;WAItB,8BAA2C;AACzC,aAAO,EAAP;AACD;;;WAED,uBAAqB;AACnB,UAAMC,cAAc,GAAG,KAAKC,SAAL,GAAiBC,IAAjB,CAAsBC,SAAtB,CAAgC,CAAhC,CAAvB;AACA,UAAQC,eAAR,GAA4B,KAAKC,eAAjC,CAAQD,eAAR;AACA,WAAKE,aAAL,GAAqBF,eAAe,CAAC;AACnCF,QAAAA,IAAI,EAAEF,cAAc,CAACE,IADc;AAEnCK,QAAAA,KAAK,EAAEP,cAAc,CAACO,KAFa;AAGnCC,QAAAA,MAAM,EAAER,cAAc,CAACQ,MAHY;AAInCC,QAAAA,MAAM,EAAEd,EAAE,CAACe,SAJwB;AAKnCC,QAAAA,IAAI,EAAEhB,EAAE,CAACiB,KAL0B;AAMnCC,QAAAA,KAAK,EAAE;AAN4B,OAAD,CAApC;;AAQA,iCAAuB,KAAKC,cAAL,EAAvB;AAAA,UAAQC,UAAR,wBAAQA,UAAR;;AACA,UAAMC,SAAS,GAAGpB,iBAAiB,CAACmB,UAAD,CAAnC;AACA,WAAKE,YAAL,GAAoBb,eAAe,CAAC;AAClCF,QAAAA,IAAI,EAAEc,SAAS,CAACd,IADkB;AAElCK,QAAAA,KAAK,EAAES,SAAS,CAACT,KAFiB;AAGlCC,QAAAA,MAAM,EAAEQ,SAAS,CAACR,MAHgB;AAIlCU,QAAAA,KAAK,EAAE;AAJ2B,OAAD,CAAnC;AAMA,WAAKC,MAAL,GAAc,CAAC,KAAKC,gBAAL,EAAD,CAAd;AACD;;;WACD,wBAAsB;AAAA;;AACpB,kCAAsC,KAAKN,cAAL,EAAtC;AAAA,UAAQO,OAAR,yBAAQA,OAAR;AAAA,wDAAiBC,WAAjB;AAAA,UAAiBA,WAAjB,sCAA+B,EAA/B;;AACA,UAAMtB,cAAc,GAAG,KAAKC,SAAL,GAAiBC,IAAjB,CAAsBC,SAAtB,CAAgC,CAAhC,CAAvB;AACA,UAAQoB,WAAR,GAAiDvB,cAAjD,CAAQuB,WAAR;AAAA,UAAqBhB,KAArB,GAAiDP,cAAjD,CAAqBO,KAArB;AAAA,UAA4BC,MAA5B,GAAiDR,cAAjD,CAA4BQ,MAA5B;AAAA,UAAoCgB,GAApC,GAAiDxB,cAAjD,CAAoCwB,GAApC;AAAA,UAAyCC,GAAzC,GAAiDzB,cAAjD,CAAyCyB,GAAzC;AACA,WAAKN,MAAL,CAAYO,OAAZ,CAAoB,UAACC,KAAD;AAAA,eAClBA,KAAK,CAACC,IAAN,CAAW;AACTC,UAAAA,QAAQ,EAAE;AACRC,YAAAA,SAAS,EAAET,OAAO,IAAI,CADd;AAERU,YAAAA,SAAS,EAAE,MAAI,CAACzB,aAFR;AAGR0B,YAAAA,KAAK,EAAER,GAHC;AAIRS,YAAAA,OAAO,EAAE1B,KAJD;AAKR2B,YAAAA,QAAQ,EAAE1B,MALF;AAMR2B,YAAAA,KAAK,EAAEV,GANC;AAORW,YAAAA,aAAa,EAAEd,WAPP;AAQRe,YAAAA,cAAc,EAAE,MAAI,CAACpB,YARb;AASRqB,YAAAA,QAAQ,+BAAMf,WAAW,CAAC,CAAD,CAAjB,sBAAyBA,WAAW,CAAC,CAAD,CAApC;AATA;AADD,SAAX,CADkB;AAAA,OAApB;AAgBA,aAAO,IAAP;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLgB,QAAAA,UAAU,EAAE;AACVlB,UAAAA,OAAO,EAAE;AACPV,YAAAA,IAAI,EAAE,QADC;AAEP6B,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WAED,4BAA2B;AACzB,UAAMC,MAAM,GAAG,KAAKzC,SAAL,EAAf;AACA,UAAM0C,aAAa,GAAGD,MAAM,CAACxC,IAAP,CAAYC,SAAZ,CAAsB,CAAtB,CAAtB;AACA,UAAMyC,aAAa,GAAG9C,mBAAmB,CAAC6C,aAAD,CAAzC;AACA,WAAKE,mBAAL,CAAyBC,cAAzB,CAAwC,QAAxC,EAAkD;AAChDC,QAAAA,EAAE,EAAEC,UAD4C;AAEhDC,QAAAA,EAAE,EAAEC;AAF4C,OAAlD;;AAKA,kCAA6B,KAAKL,mBAAL,CAAyBM,SAAzB,CAAmC,QAAnC,CAA7B;AAAA,UAAQJ,EAAR,yBAAQA,EAAR;AAAA,UAAYE,EAAZ,yBAAYA,EAAZ;AAAA,UAAgBpB,QAAhB,yBAAgBA,QAAhB;;AACA,kCAKI,KAAKxB,eALT;AAAA,UACE+C,eADF,yBACEA,eADF;AAAA,UAEEC,cAFF,yBAEEA,cAFF;AAAA,UAGEC,YAHF,yBAGEA,YAHF;AAAA,UAIEC,WAJF,yBAIEA,WAJF;AAMA,aAAOA,WAAW,CAAC;AACjBR,QAAAA,EAAE,EAAFA,EADiB;AAEjBE,QAAAA,EAAE,EAAFA,EAFiB;AAGjBO,QAAAA,UAAU,EAAE;AACVC,UAAAA,UAAU,EAAEL,eAAe,CAAC;AAC1BM,YAAAA,MAAM,EAAEJ,YAAY,CAAC;AACnBpD,cAAAA,IAAI,EAAE0C,aAAa,CAACe,QADD;AAEnBhD,cAAAA,IAAI,EAAEhB,EAAE,CAACiB;AAFU,aAAD,CADM;AAK1BgD,YAAAA,IAAI,EAAE;AALoB,WAAD;AADjB,SAHK;AAYjBC,QAAAA,SAAS,EAAElE,EAAE,CAACmE,SAZG;AAajBjC,QAAAA,QAAQ,oBACHA,QADG,CAbS;AAgBjBkC,QAAAA,KAAK,EAAE;AACLC,UAAAA,MAAM,EAAE;AADH,SAhBU;AAmBjBC,QAAAA,QAAQ,EAAEZ,cAAc,CAAC;AACvBnD,UAAAA,IAAI,EAAE0C,aAAa,CAACsB,OADG;AAEvBvD,UAAAA,IAAI,EAAEhB,EAAE,CAACwE,YAFc;AAGvBC,UAAAA,KAAK,EAAExB,aAAa,CAACsB,OAAd,CAAsBG;AAHN,SAAD;AAnBP,OAAD,CAAlB;AAyBD;;;;EAzGsCxE,S;;SAApBE,W","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"}