@antv/l7-layers 2.17.3 → 2.17.4

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 (242) hide show
  1. package/es/Geometry/index.js +31 -9
  2. package/es/Geometry/models/billboard.js +89 -51
  3. package/es/Geometry/models/plane.js +143 -81
  4. package/es/Geometry/models/sprite.js +118 -60
  5. package/es/canvas/index.js +33 -10
  6. package/es/canvas/models/canvas.js +97 -41
  7. package/es/citybuliding/building.js +27 -8
  8. package/es/citybuliding/models/build.js +82 -57
  9. package/es/core/BaseLayer.js +478 -313
  10. package/es/core/BaseModel.js +80 -51
  11. package/es/core/CommonStyleAttribute.js +5 -2
  12. package/es/core/LayerPickService.js +32 -21
  13. package/es/core/TextureService.js +13 -0
  14. package/es/core/interface.js +24 -17
  15. package/es/core/shape/Path.js +20 -13
  16. package/es/core/shape/extrude.js +39 -27
  17. package/es/core/triangulation.js +136 -99
  18. package/es/earth/index.js +33 -9
  19. package/es/earth/models/atmosphere.js +54 -30
  20. package/es/earth/models/base.js +85 -47
  21. package/es/earth/models/bloomsphere.js +54 -30
  22. package/es/earth/utils.js +13 -9
  23. package/es/heatmap/index.js +40 -10
  24. package/es/heatmap/models/grid.js +52 -28
  25. package/es/heatmap/models/grid3d.js +52 -28
  26. package/es/heatmap/models/heatmap.js +149 -92
  27. package/es/heatmap/models/hexagon.js +52 -28
  28. package/es/heatmap/triangulation.js +4 -0
  29. package/es/image/index.js +28 -9
  30. package/es/image/models/image.js +100 -66
  31. package/es/index.js +17 -9
  32. package/es/line/index.js +35 -9
  33. package/es/line/models/arc.js +112 -63
  34. package/es/line/models/arc_3d.js +102 -58
  35. package/es/line/models/earthArc_3d.js +105 -60
  36. package/es/line/models/flow.js +60 -36
  37. package/es/line/models/great_circle.js +94 -53
  38. package/es/line/models/line.js +136 -85
  39. package/es/line/models/linearline.js +74 -42
  40. package/es/line/models/simpleLine.js +67 -38
  41. package/es/line/models/wall.js +92 -52
  42. package/es/mask/index.js +28 -9
  43. package/es/mask/models/fill.js +54 -29
  44. package/es/plugins/DataMappingPlugin.js +114 -78
  45. package/es/plugins/DataSourcePlugin.js +68 -45
  46. package/es/plugins/FeatureScalePlugin.js +122 -67
  47. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  48. package/es/plugins/LayerMaskPlugin.js +11 -3
  49. package/es/plugins/LayerModelPlugin.js +108 -69
  50. package/es/plugins/LayerStylePlugin.js +9 -3
  51. package/es/plugins/LightingPlugin.js +18 -12
  52. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  53. package/es/plugins/PixelPickingPlugin.js +21 -12
  54. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  55. package/es/plugins/ShaderUniformPlugin.js +27 -13
  56. package/es/plugins/UpdateModelPlugin.js +5 -0
  57. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  58. package/es/point/index.js +78 -26
  59. package/es/point/models/earthExtrude.js +95 -58
  60. package/es/point/models/earthFill.js +80 -52
  61. package/es/point/models/extrude.js +94 -57
  62. package/es/point/models/fill.js +81 -56
  63. package/es/point/models/fillmage.js +100 -60
  64. package/es/point/models/image.js +83 -47
  65. package/es/point/models/index.js +2 -2
  66. package/es/point/models/normal.js +54 -30
  67. package/es/point/models/radar.js +63 -38
  68. package/es/point/models/simplePoint.js +62 -38
  69. package/es/point/models/text.js +296 -199
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +41 -11
  72. package/es/polygon/models/extrude.js +135 -87
  73. package/es/polygon/models/fill.js +79 -50
  74. package/es/polygon/models/index.js +2 -3
  75. package/es/polygon/models/ocean.js +76 -42
  76. package/es/polygon/models/water.js +71 -37
  77. package/es/raster/buffers/triangulation.js +4 -2
  78. package/es/raster/index.js +32 -9
  79. package/es/raster/models/raster.js +116 -80
  80. package/es/raster/models/rasterRgb.js +127 -84
  81. package/es/raster/models/rasterTerrainRgb.js +84 -56
  82. package/es/tile/interaction/getRasterData.js +20 -14
  83. package/es/tile/interaction/utils.js +9 -7
  84. package/es/tile/manager/base.js +96 -63
  85. package/es/tile/service/TileLayerService.js +55 -33
  86. package/es/tile/service/TilePickService.js +40 -26
  87. package/es/tile/service/TileSourceService.js +7 -3
  88. package/es/tile/tileFactory/DebugTile.js +46 -29
  89. package/es/tile/tileFactory/ImageTile.js +38 -20
  90. package/es/tile/tileFactory/MaskTile.js +43 -22
  91. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  93. package/es/tile/tileFactory/RasterTile.js +53 -30
  94. package/es/tile/tileFactory/Tile.js +97 -63
  95. package/es/tile/tileFactory/VectorTile.js +68 -41
  96. package/es/tile/tileFactory/index.js +11 -0
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  98. package/es/tile/tileFactory/util.js +3 -0
  99. package/es/tile/tileLayer/BaseLayer.js +146 -105
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +2 -0
  102. package/es/utils/collision-index.js +16 -9
  103. package/es/utils/extrude_polyline.js +149 -101
  104. package/es/utils/grid-index.js +27 -2
  105. package/es/utils/identityScale.js +8 -0
  106. package/es/utils/layerData.js +44 -30
  107. package/es/utils/multiPassRender.js +13 -11
  108. package/es/utils/polylineNormal.js +37 -31
  109. package/es/utils/simpleLine.js +16 -2
  110. package/es/utils/stencil.js +3 -2
  111. package/es/utils/symbol-layout.js +53 -27
  112. package/es/wind/index.js +29 -9
  113. package/es/wind/models/utils.js +51 -26
  114. package/es/wind/models/wind.js +147 -101
  115. package/es/wind/models/windRender.js +66 -53
  116. package/lib/Geometry/index.js +38 -9
  117. package/lib/Geometry/models/billboard.js +97 -51
  118. package/lib/Geometry/models/index.js +5 -0
  119. package/lib/Geometry/models/plane.js +151 -79
  120. package/lib/Geometry/models/sprite.js +127 -60
  121. package/lib/canvas/index.js +40 -10
  122. package/lib/canvas/models/canvas.js +101 -41
  123. package/lib/canvas/models/index.js +3 -0
  124. package/lib/citybuliding/building.js +35 -8
  125. package/lib/citybuliding/models/build.js +92 -57
  126. package/lib/core/BaseLayer.js +469 -313
  127. package/lib/core/BaseModel.js +90 -51
  128. package/lib/core/CommonStyleAttribute.js +7 -2
  129. package/lib/core/LayerPickService.js +37 -21
  130. package/lib/core/TextureService.js +16 -0
  131. package/lib/core/interface.js +31 -21
  132. package/lib/core/schema.js +1 -0
  133. package/lib/core/shape/Path.js +31 -14
  134. package/lib/core/shape/extrude.js +62 -27
  135. package/lib/core/triangulation.js +177 -98
  136. package/lib/earth/index.js +43 -9
  137. package/lib/earth/models/atmosphere.js +63 -30
  138. package/lib/earth/models/base.js +90 -47
  139. package/lib/earth/models/bloomsphere.js +63 -30
  140. package/lib/earth/utils.js +31 -7
  141. package/lib/heatmap/index.js +48 -10
  142. package/lib/heatmap/models/grid.js +60 -28
  143. package/lib/heatmap/models/grid3d.js +60 -28
  144. package/lib/heatmap/models/heatmap.js +166 -92
  145. package/lib/heatmap/models/hexagon.js +60 -28
  146. package/lib/heatmap/models/index.js +6 -0
  147. package/lib/heatmap/triangulation.js +5 -0
  148. package/lib/image/index.js +36 -9
  149. package/lib/image/models/image.js +109 -66
  150. package/lib/image/models/index.js +3 -0
  151. package/lib/index.js +61 -7
  152. package/lib/line/index.js +40 -9
  153. package/lib/line/models/arc.js +122 -61
  154. package/lib/line/models/arc_3d.js +113 -56
  155. package/lib/line/models/earthArc_3d.js +115 -58
  156. package/lib/line/models/flow.js +70 -36
  157. package/lib/line/models/great_circle.js +104 -53
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +144 -83
  160. package/lib/line/models/linearline.js +86 -42
  161. package/lib/line/models/simpleLine.js +77 -38
  162. package/lib/line/models/wall.js +103 -52
  163. package/lib/mask/index.js +36 -9
  164. package/lib/mask/models/fill.js +63 -29
  165. package/lib/mask/models/index.js +3 -0
  166. package/lib/plugins/DataMappingPlugin.js +125 -78
  167. package/lib/plugins/DataSourcePlugin.js +76 -45
  168. package/lib/plugins/FeatureScalePlugin.js +138 -67
  169. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  170. package/lib/plugins/LayerMaskPlugin.js +17 -4
  171. package/lib/plugins/LayerModelPlugin.js +117 -70
  172. package/lib/plugins/LayerStylePlugin.js +14 -4
  173. package/lib/plugins/LightingPlugin.js +25 -12
  174. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  175. package/lib/plugins/PixelPickingPlugin.js +27 -12
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  177. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  178. package/lib/plugins/UpdateModelPlugin.js +10 -1
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  180. package/lib/point/index.js +83 -26
  181. package/lib/point/models/earthExtrude.js +106 -58
  182. package/lib/point/models/earthFill.js +110 -52
  183. package/lib/point/models/extrude.js +103 -57
  184. package/lib/point/models/fill.js +90 -54
  185. package/lib/point/models/fillmage.js +107 -58
  186. package/lib/point/models/image.js +92 -47
  187. package/lib/point/models/index.js +12 -1
  188. package/lib/point/models/normal.js +64 -30
  189. package/lib/point/models/radar.js +72 -38
  190. package/lib/point/models/simplePoint.js +72 -38
  191. package/lib/point/models/text.js +305 -199
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +146 -87
  195. package/lib/polygon/models/fill.js +89 -50
  196. package/lib/polygon/models/index.js +14 -2
  197. package/lib/polygon/models/ocean.js +88 -42
  198. package/lib/polygon/models/water.js +82 -37
  199. package/lib/raster/buffers/triangulation.js +7 -3
  200. package/lib/raster/index.js +40 -9
  201. package/lib/raster/models/index.js +5 -0
  202. package/lib/raster/models/raster.js +125 -80
  203. package/lib/raster/models/rasterRgb.js +139 -84
  204. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  205. package/lib/tile/interaction/getRasterData.js +25 -14
  206. package/lib/tile/interaction/utils.js +19 -7
  207. package/lib/tile/manager/base.js +104 -63
  208. package/lib/tile/service/TileLayerService.js +60 -33
  209. package/lib/tile/service/TilePickService.js +48 -26
  210. package/lib/tile/service/TileSourceService.js +16 -2
  211. package/lib/tile/style/utils.js +3 -0
  212. package/lib/tile/tileFactory/DebugTile.js +54 -29
  213. package/lib/tile/tileFactory/ImageTile.js +46 -20
  214. package/lib/tile/tileFactory/MaskTile.js +51 -22
  215. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  217. package/lib/tile/tileFactory/RasterTile.js +63 -30
  218. package/lib/tile/tileFactory/Tile.js +102 -63
  219. package/lib/tile/tileFactory/VectorTile.js +76 -41
  220. package/lib/tile/tileFactory/index.js +25 -0
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  222. package/lib/tile/tileFactory/util.js +9 -0
  223. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  224. package/lib/tile/utils.js +5 -1
  225. package/lib/utils/blend.js +5 -0
  226. package/lib/utils/collision-index.js +25 -9
  227. package/lib/utils/extrude_polyline.js +181 -101
  228. package/lib/utils/grid-index.js +28 -2
  229. package/lib/utils/identityScale.js +9 -0
  230. package/lib/utils/layerData.js +49 -30
  231. package/lib/utils/multiPassRender.js +16 -11
  232. package/lib/utils/polylineNormal.js +66 -31
  233. package/lib/utils/simpleLine.js +21 -2
  234. package/lib/utils/stencil.js +4 -0
  235. package/lib/utils/symbol-layout.js +55 -27
  236. package/lib/wind/index.js +37 -9
  237. package/lib/wind/models/index.js +3 -0
  238. package/lib/wind/models/utils.js +62 -26
  239. package/lib/wind/models/wind.js +157 -101
  240. package/lib/wind/models/windRender.js +71 -53
  241. package/lib/wind/models/windShader.js +1 -0
  242. package/package.json +7 -7
@@ -1,48 +1,69 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
11
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
12
18
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
13
20
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
14
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
15
24
  var _l7Core = require("@antv/l7-core");
25
+
16
26
  var _l7Utils = require("@antv/l7-utils");
27
+
17
28
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
29
+
18
30
  var _triangulation = require("../../core/triangulation");
31
+
19
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
33
+
20
34
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
+
21
36
  /* babel-plugin-inline-import '../shaders/raster_2d_frag.glsl' */
22
37
  var rasterFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\nbool isnan_emu(float x) { return (x > 0.0 || x < 0.0) ? x != x : x != 0.0; }\n\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue || isnan_emu(value))\n discard;\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n discard;\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 \n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n if(gl_FragColor.a < 0.01)\n discard;\n \n }\n}\n";
38
+
23
39
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
24
40
  var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
41
+
25
42
  var RasterModel = /*#__PURE__*/function (_BaseModel) {
26
43
  (0, _inherits2.default)(RasterModel, _BaseModel);
44
+
27
45
  var _super = _createSuper(RasterModel);
46
+
28
47
  function RasterModel() {
29
48
  (0, _classCallCheck2.default)(this, RasterModel);
30
49
  return _super.apply(this, arguments);
31
50
  }
51
+
32
52
  (0, _createClass2.default)(RasterModel, [{
33
53
  key: "getUninforms",
34
54
  value: function getUninforms() {
35
55
  var _ref = this.layer.getLayerConfig(),
36
- _ref$opacity = _ref.opacity,
37
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
38
- _ref$clampLow = _ref.clampLow,
39
- clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
40
- _ref$clampHigh = _ref.clampHigh,
41
- clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
42
- _ref$noDataValue = _ref.noDataValue,
43
- noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
44
- domain = _ref.domain,
45
- rampColors = _ref.rampColors;
56
+ _ref$opacity = _ref.opacity,
57
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
58
+ _ref$clampLow = _ref.clampLow,
59
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
60
+ _ref$clampHigh = _ref.clampHigh,
61
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
62
+ _ref$noDataValue = _ref.noDataValue,
63
+ noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
64
+ domain = _ref.domain,
65
+ rampColors = _ref.rampColors;
66
+
46
67
  var newdomain = domain || (0, _l7Utils.getDefaultDomain)(rampColors);
47
68
  this.colorTexture = this.layer.textureService.getColorTexture(rampColors, newdomain);
48
69
  return {
@@ -60,40 +81,49 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
60
81
  value: function () {
61
82
  var _getRasterData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(parserDataItem) {
62
83
  var _yield$parserDataItem, rasterData, width, height;
84
+
63
85
  return _regenerator.default.wrap(function _callee$(_context) {
64
- while (1) switch (_context.prev = _context.next) {
65
- case 0:
66
- if (!Array.isArray(parserDataItem.data)) {
67
- _context.next = 4;
68
- break;
69
- }
70
- return _context.abrupt("return", {
71
- data: parserDataItem.data,
72
- width: parserDataItem.width,
73
- height: parserDataItem.height
74
- });
75
- case 4:
76
- _context.next = 6;
77
- return parserDataItem.data;
78
- case 6:
79
- _yield$parserDataItem = _context.sent;
80
- rasterData = _yield$parserDataItem.rasterData;
81
- width = _yield$parserDataItem.width;
82
- height = _yield$parserDataItem.height;
83
- return _context.abrupt("return", {
84
- data: Array.from(rasterData),
85
- width: width,
86
- height: height
87
- });
88
- case 11:
89
- case "end":
90
- return _context.stop();
86
+ while (1) {
87
+ switch (_context.prev = _context.next) {
88
+ case 0:
89
+ if (!Array.isArray(parserDataItem.data)) {
90
+ _context.next = 4;
91
+ break;
92
+ }
93
+
94
+ return _context.abrupt("return", {
95
+ data: parserDataItem.data,
96
+ width: parserDataItem.width,
97
+ height: parserDataItem.height
98
+ });
99
+
100
+ case 4:
101
+ _context.next = 6;
102
+ return parserDataItem.data;
103
+
104
+ case 6:
105
+ _yield$parserDataItem = _context.sent;
106
+ rasterData = _yield$parserDataItem.rasterData;
107
+ width = _yield$parserDataItem.width;
108
+ height = _yield$parserDataItem.height;
109
+ return _context.abrupt("return", {
110
+ data: Array.from(rasterData),
111
+ width: width,
112
+ height: height
113
+ });
114
+
115
+ case 11:
116
+ case "end":
117
+ return _context.stop();
118
+ }
91
119
  }
92
120
  }, _callee);
93
121
  }));
122
+
94
123
  function getRasterData(_x) {
95
124
  return _getRasterData.apply(this, arguments);
96
125
  }
126
+
97
127
  return getRasterData;
98
128
  }()
99
129
  }, {
@@ -101,50 +131,58 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
101
131
  value: function () {
102
132
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
103
133
  var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
134
+
104
135
  return _regenerator.default.wrap(function _callee2$(_context2) {
105
- while (1) switch (_context2.prev = _context2.next) {
106
- case 0:
107
- source = this.layer.getSource();
108
- createTexture2D = this.rendererService.createTexture2D;
109
- parserDataItem = source.data.dataArray[0];
110
- _context2.next = 5;
111
- return this.getRasterData(parserDataItem);
112
- case 5:
113
- _yield$this$getRaster = _context2.sent;
114
- data = _yield$this$getRaster.data;
115
- width = _yield$this$getRaster.width;
116
- height = _yield$this$getRaster.height;
117
- this.texture = createTexture2D({
118
- data: data,
119
- width: width,
120
- height: height,
121
- format: _l7Core.gl.LUMINANCE,
122
- type: _l7Core.gl.FLOAT
123
- // aniso: 4,
124
- });
125
- _context2.next = 12;
126
- return this.layer.buildLayerModel({
127
- moduleName: 'rasterImageData',
128
- vertexShader: rasterVert,
129
- fragmentShader: rasterFrag,
130
- triangulation: _triangulation.RasterImageTriangulation,
131
- primitive: _l7Core.gl.TRIANGLES,
132
- depth: {
133
- enable: false
134
- }
135
- });
136
- case 12:
137
- model = _context2.sent;
138
- return _context2.abrupt("return", [model]);
139
- case 14:
140
- case "end":
141
- return _context2.stop();
136
+ while (1) {
137
+ switch (_context2.prev = _context2.next) {
138
+ case 0:
139
+ source = this.layer.getSource();
140
+ createTexture2D = this.rendererService.createTexture2D;
141
+ parserDataItem = source.data.dataArray[0];
142
+ _context2.next = 5;
143
+ return this.getRasterData(parserDataItem);
144
+
145
+ case 5:
146
+ _yield$this$getRaster = _context2.sent;
147
+ data = _yield$this$getRaster.data;
148
+ width = _yield$this$getRaster.width;
149
+ height = _yield$this$getRaster.height;
150
+ this.texture = createTexture2D({
151
+ data: data,
152
+ width: width,
153
+ height: height,
154
+ format: _l7Core.gl.LUMINANCE,
155
+ type: _l7Core.gl.FLOAT // aniso: 4,
156
+
157
+ });
158
+ _context2.next = 12;
159
+ return this.layer.buildLayerModel({
160
+ moduleName: 'rasterImageData',
161
+ vertexShader: rasterVert,
162
+ fragmentShader: rasterFrag,
163
+ triangulation: _triangulation.RasterImageTriangulation,
164
+ primitive: _l7Core.gl.TRIANGLES,
165
+ depth: {
166
+ enable: false
167
+ }
168
+ });
169
+
170
+ case 12:
171
+ model = _context2.sent;
172
+ return _context2.abrupt("return", [model]);
173
+
174
+ case 14:
175
+ case "end":
176
+ return _context2.stop();
177
+ }
142
178
  }
143
179
  }, _callee2, this);
144
180
  }));
181
+
145
182
  function initModels() {
146
183
  return _initModels.apply(this, arguments);
147
184
  }
185
+
148
186
  return initModels;
149
187
  }()
150
188
  }, {
@@ -152,24 +190,30 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
152
190
  value: function () {
153
191
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
154
192
  return _regenerator.default.wrap(function _callee3$(_context3) {
155
- while (1) switch (_context3.prev = _context3.next) {
156
- case 0:
157
- return _context3.abrupt("return", this.initModels());
158
- case 1:
159
- case "end":
160
- return _context3.stop();
193
+ while (1) {
194
+ switch (_context3.prev = _context3.next) {
195
+ case 0:
196
+ return _context3.abrupt("return", this.initModels());
197
+
198
+ case 1:
199
+ case "end":
200
+ return _context3.stop();
201
+ }
161
202
  }
162
203
  }, _callee3, this);
163
204
  }));
205
+
164
206
  function buildModels() {
165
207
  return _buildModels.apply(this, arguments);
166
208
  }
209
+
167
210
  return buildModels;
168
211
  }()
169
212
  }, {
170
213
  key: "clearModels",
171
214
  value: function clearModels() {
172
215
  var _this$texture, _this$colorTexture;
216
+
173
217
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
174
218
  (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
175
219
  }
@@ -198,4 +242,5 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
198
242
  }]);
199
243
  return RasterModel;
200
244
  }(_BaseModel2.default);
245
+
201
246
  exports.default = RasterModel;
@@ -1,57 +1,85 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
9
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
10
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
11
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
12
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
+
13
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
+
14
22
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
+
15
24
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
+
16
26
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
+
17
28
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
+
18
30
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
+
19
32
  var _l7Core = require("@antv/l7-core");
33
+
20
34
  var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
35
+
21
36
  var _triangulation = require("../../core/triangulation");
37
+
22
38
  var _excluded = ["data"],
23
- _excluded2 = ["rasterData"];
39
+ _excluded2 = ["rasterData"];
40
+
24
41
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
42
+
25
43
  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; } }
44
+
26
45
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
27
46
  var rasterVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
47
+
28
48
  /* babel-plugin-inline-import '../shaders/raster_rgb_frag.glsl' */
29
49
  var rasterFrag = "precision mediump float;\nuniform vec2 u_rminmax: vec2(0,255); \nuniform vec2 u_gminmax: vec2(0,255);\nuniform vec2 u_bminmax: vec2(0,255);\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform float u_noDataValue : 0.0;\nvarying vec2 v_texCoord;\n\nvoid main() {\n vec3 rgb = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).rgb;\n if(rgb == vec3(u_noDataValue)) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n gl_FragColor = vec4(rgb.r / (u_rminmax.y -u_rminmax.x), rgb.g /(u_gminmax.y -u_gminmax.x), rgb.b/ (u_bminmax.y - u_bminmax.x), u_opacity);\n }\n if(gl_FragColor.a < 0.01)\n discard;\n \n}";
50
+
30
51
  var RasterModel = /*#__PURE__*/function (_BaseModel) {
31
52
  (0, _inherits2.default)(RasterModel, _BaseModel);
53
+
32
54
  var _super = _createSuper(RasterModel);
55
+
33
56
  function RasterModel() {
34
57
  var _this;
58
+
35
59
  (0, _classCallCheck2.default)(this, RasterModel);
60
+
36
61
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37
62
  args[_key] = arguments[_key];
38
63
  }
64
+
39
65
  _this = _super.call.apply(_super, [this].concat(args));
40
66
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "dataOption", {});
41
67
  return _this;
42
68
  }
69
+
43
70
  (0, _createClass2.default)(RasterModel, [{
44
71
  key: "getUninforms",
45
72
  value: function getUninforms() {
46
73
  var _ref = this.layer.getLayerConfig(),
47
- _ref$opacity = _ref.opacity,
48
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
49
- _ref$noDataValue = _ref.noDataValue,
50
- noDataValue = _ref$noDataValue === void 0 ? 0 : _ref$noDataValue;
74
+ _ref$opacity = _ref.opacity,
75
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
76
+ _ref$noDataValue = _ref.noDataValue,
77
+ noDataValue = _ref$noDataValue === void 0 ? 0 : _ref$noDataValue;
78
+
51
79
  var _this$dataOption = this.dataOption,
52
- rMinMax = _this$dataOption.rMinMax,
53
- gMinMax = _this$dataOption.gMinMax,
54
- bMinMax = _this$dataOption.bMinMax;
80
+ rMinMax = _this$dataOption.rMinMax,
81
+ gMinMax = _this$dataOption.gMinMax,
82
+ bMinMax = _this$dataOption.bMinMax;
55
83
  return {
56
84
  u_opacity: opacity || 1,
57
85
  u_texture: this.texture,
@@ -66,46 +94,58 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
66
94
  value: function () {
67
95
  var _getRasterData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(parserDataItem) {
68
96
  var data, rescfg, _yield$parserDataItem, rasterData, rest;
97
+
69
98
  return _regenerator.default.wrap(function _callee$(_context) {
70
- while (1) switch (_context.prev = _context.next) {
71
- case 0:
72
- if (!Array.isArray(parserDataItem.data)) {
73
- _context.next = 4;
74
- break;
75
- }
76
- data = parserDataItem.data, rescfg = (0, _objectWithoutProperties2.default)(parserDataItem, _excluded);
77
- this.dataOption = rescfg;
78
- return _context.abrupt("return", (0, _objectSpread2.default)({
79
- data: data
80
- }, rescfg));
81
- case 4:
82
- _context.next = 6;
83
- return parserDataItem.data;
84
- case 6:
85
- _yield$parserDataItem = _context.sent;
86
- rasterData = _yield$parserDataItem.rasterData;
87
- rest = (0, _objectWithoutProperties2.default)(_yield$parserDataItem, _excluded2);
88
- this.dataOption = rest;
89
- if (!Array.isArray(rasterData)) {
90
- _context.next = 14;
91
- break;
92
- }
93
- return _context.abrupt("return", (0, _objectSpread2.default)({
94
- data: rasterData
95
- }, rest));
96
- case 14:
97
- return _context.abrupt("return", (0, _objectSpread2.default)({
98
- data: Array.from(rasterData)
99
- }, rest));
100
- case 15:
101
- case "end":
102
- return _context.stop();
99
+ while (1) {
100
+ switch (_context.prev = _context.next) {
101
+ case 0:
102
+ if (!Array.isArray(parserDataItem.data)) {
103
+ _context.next = 4;
104
+ break;
105
+ }
106
+
107
+ data = parserDataItem.data, rescfg = (0, _objectWithoutProperties2.default)(parserDataItem, _excluded);
108
+ this.dataOption = rescfg;
109
+ return _context.abrupt("return", (0, _objectSpread2.default)({
110
+ data: data
111
+ }, rescfg));
112
+
113
+ case 4:
114
+ _context.next = 6;
115
+ return parserDataItem.data;
116
+
117
+ case 6:
118
+ _yield$parserDataItem = _context.sent;
119
+ rasterData = _yield$parserDataItem.rasterData;
120
+ rest = (0, _objectWithoutProperties2.default)(_yield$parserDataItem, _excluded2);
121
+ this.dataOption = rest;
122
+
123
+ if (!Array.isArray(rasterData)) {
124
+ _context.next = 14;
125
+ break;
126
+ }
127
+
128
+ return _context.abrupt("return", (0, _objectSpread2.default)({
129
+ data: rasterData
130
+ }, rest));
131
+
132
+ case 14:
133
+ return _context.abrupt("return", (0, _objectSpread2.default)({
134
+ data: Array.from(rasterData)
135
+ }, rest));
136
+
137
+ case 15:
138
+ case "end":
139
+ return _context.stop();
140
+ }
103
141
  }
104
142
  }, _callee, this);
105
143
  }));
144
+
106
145
  function getRasterData(_x) {
107
146
  return _getRasterData.apply(this, arguments);
108
147
  }
148
+
109
149
  return getRasterData;
110
150
  }()
111
151
  }, {
@@ -113,50 +153,58 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
113
153
  value: function () {
114
154
  var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
115
155
  var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
156
+
116
157
  return _regenerator.default.wrap(function _callee2$(_context2) {
117
- while (1) switch (_context2.prev = _context2.next) {
118
- case 0:
119
- source = this.layer.getSource();
120
- createTexture2D = this.rendererService.createTexture2D;
121
- parserDataItem = source.data.dataArray[0];
122
- _context2.next = 5;
123
- return this.getRasterData(parserDataItem);
124
- case 5:
125
- _yield$this$getRaster = _context2.sent;
126
- data = _yield$this$getRaster.data;
127
- width = _yield$this$getRaster.width;
128
- height = _yield$this$getRaster.height;
129
- this.texture = createTexture2D({
130
- // @ts-ignore
131
- data: data,
132
- width: width,
133
- height: height,
134
- format: _l7Core.gl.RGB,
135
- type: _l7Core.gl.FLOAT
136
- });
137
- _context2.next = 12;
138
- return this.layer.buildLayerModel({
139
- moduleName: 'rasterImageDataRGBA',
140
- vertexShader: rasterVert,
141
- fragmentShader: rasterFrag,
142
- triangulation: _triangulation.RasterImageTriangulation,
143
- primitive: _l7Core.gl.TRIANGLES,
144
- depth: {
145
- enable: false
146
- }
147
- });
148
- case 12:
149
- model = _context2.sent;
150
- return _context2.abrupt("return", [model]);
151
- case 14:
152
- case "end":
153
- return _context2.stop();
158
+ while (1) {
159
+ switch (_context2.prev = _context2.next) {
160
+ case 0:
161
+ source = this.layer.getSource();
162
+ createTexture2D = this.rendererService.createTexture2D;
163
+ parserDataItem = source.data.dataArray[0];
164
+ _context2.next = 5;
165
+ return this.getRasterData(parserDataItem);
166
+
167
+ case 5:
168
+ _yield$this$getRaster = _context2.sent;
169
+ data = _yield$this$getRaster.data;
170
+ width = _yield$this$getRaster.width;
171
+ height = _yield$this$getRaster.height;
172
+ this.texture = createTexture2D({
173
+ // @ts-ignore
174
+ data: data,
175
+ width: width,
176
+ height: height,
177
+ format: _l7Core.gl.RGB,
178
+ type: _l7Core.gl.FLOAT
179
+ });
180
+ _context2.next = 12;
181
+ return this.layer.buildLayerModel({
182
+ moduleName: 'rasterImageDataRGBA',
183
+ vertexShader: rasterVert,
184
+ fragmentShader: rasterFrag,
185
+ triangulation: _triangulation.RasterImageTriangulation,
186
+ primitive: _l7Core.gl.TRIANGLES,
187
+ depth: {
188
+ enable: false
189
+ }
190
+ });
191
+
192
+ case 12:
193
+ model = _context2.sent;
194
+ return _context2.abrupt("return", [model]);
195
+
196
+ case 14:
197
+ case "end":
198
+ return _context2.stop();
199
+ }
154
200
  }
155
201
  }, _callee2, this);
156
202
  }));
203
+
157
204
  function initModels() {
158
205
  return _initModels.apply(this, arguments);
159
206
  }
207
+
160
208
  return initModels;
161
209
  }()
162
210
  }, {
@@ -164,24 +212,30 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
164
212
  value: function () {
165
213
  var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
166
214
  return _regenerator.default.wrap(function _callee3$(_context3) {
167
- while (1) switch (_context3.prev = _context3.next) {
168
- case 0:
169
- return _context3.abrupt("return", this.initModels());
170
- case 1:
171
- case "end":
172
- return _context3.stop();
215
+ while (1) {
216
+ switch (_context3.prev = _context3.next) {
217
+ case 0:
218
+ return _context3.abrupt("return", this.initModels());
219
+
220
+ case 1:
221
+ case "end":
222
+ return _context3.stop();
223
+ }
173
224
  }
174
225
  }, _callee3, this);
175
226
  }));
227
+
176
228
  function buildModels() {
177
229
  return _buildModels.apply(this, arguments);
178
230
  }
231
+
179
232
  return buildModels;
180
233
  }()
181
234
  }, {
182
235
  key: "clearModels",
183
236
  value: function clearModels() {
184
237
  var _this$texture;
238
+
185
239
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
186
240
  }
187
241
  }, {
@@ -209,4 +263,5 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
209
263
  }]);
210
264
  return RasterModel;
211
265
  }(_BaseModel2.default);
266
+
212
267
  exports.default = RasterModel;