@antv/l7-layers 2.15.1 → 2.15.3

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 (243) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.js +320 -484
  10. package/es/core/BaseModel.js +97 -126
  11. package/es/core/LayerPickService.js +21 -32
  12. package/es/core/TextureService.js +0 -13
  13. package/es/core/interface.js +17 -24
  14. package/es/core/shape/Path.js +13 -20
  15. package/es/core/shape/extrude.js +10 -31
  16. package/es/core/triangulation.js +54 -114
  17. package/es/earth/index.js +9 -33
  18. package/es/earth/models/atmosphere.js +30 -54
  19. package/es/earth/models/base.js +47 -85
  20. package/es/earth/models/bloomsphere.js +30 -54
  21. package/es/earth/utils.js +9 -13
  22. package/es/heatmap/index.js +10 -40
  23. package/es/heatmap/models/grid.js +28 -52
  24. package/es/heatmap/models/grid3d.js +28 -52
  25. package/es/heatmap/models/heatmap.js +91 -146
  26. package/es/heatmap/models/hexagon.js +28 -52
  27. package/es/heatmap/triangulation.js +0 -4
  28. package/es/image/index.js +9 -28
  29. package/es/image/models/image.js +66 -100
  30. package/es/index.js +9 -17
  31. package/es/line/index.js +9 -34
  32. package/es/line/models/arc.js +66 -118
  33. package/es/line/models/arc_3d.js +60 -108
  34. package/es/line/models/earthArc_3d.js +63 -111
  35. package/es/line/models/great_circle.js +56 -100
  36. package/es/line/models/half.js +46 -77
  37. package/es/line/models/line.js +94 -148
  38. package/es/line/models/linearline.js +45 -80
  39. package/es/line/models/simpleLine.js +41 -74
  40. package/es/line/models/wall.js +52 -92
  41. package/es/mask/index.js +9 -28
  42. package/es/mask/models/fill.js +29 -54
  43. package/es/plugins/DataMappingPlugin.js +80 -117
  44. package/es/plugins/DataSourcePlugin.js +45 -68
  45. package/es/plugins/FeatureScalePlugin.js +67 -122
  46. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  47. package/es/plugins/LayerMaskPlugin.js +3 -11
  48. package/es/plugins/LayerModelPlugin.js +67 -104
  49. package/es/plugins/LayerStylePlugin.js +3 -9
  50. package/es/plugins/LightingPlugin.js +12 -18
  51. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  52. package/es/plugins/PixelPickingPlugin.js +12 -21
  53. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  54. package/es/plugins/ShaderUniformPlugin.js +13 -27
  55. package/es/plugins/UpdateModelPlugin.js +0 -5
  56. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  57. package/es/point/index.js +26 -77
  58. package/es/point/models/earthExtrude.js +61 -102
  59. package/es/point/models/earthFill.js +57 -87
  60. package/es/point/models/extrude.js +60 -101
  61. package/es/point/models/fill.js +70 -100
  62. package/es/point/models/fillmage.js +63 -107
  63. package/es/point/models/image.js +48 -88
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +30 -54
  66. package/es/point/models/radar.js +40 -64
  67. package/es/point/models/simplePoint.js +41 -69
  68. package/es/point/models/text.d.ts +2 -0
  69. package/es/point/models/text.js +214 -295
  70. package/es/point/shape/extrude.js +4 -13
  71. package/es/polygon/index.js +11 -40
  72. package/es/polygon/models/extrude.js +48 -92
  73. package/es/polygon/models/fill.js +54 -88
  74. package/es/polygon/models/index.js +3 -2
  75. package/es/polygon/models/ocean.js +42 -76
  76. package/es/polygon/models/water.js +37 -71
  77. package/es/raster/buffers/triangulation.js +2 -4
  78. package/es/raster/index.js +9 -32
  79. package/es/raster/models/raster.js +80 -116
  80. package/es/raster/models/rasterRgb.js +84 -127
  81. package/es/raster/models/rasterTerrainRgb.js +56 -84
  82. package/es/tile/interaction/getRasterData.js +14 -20
  83. package/es/tile/interaction/utils.js +7 -9
  84. package/es/tile/manager/base.js +63 -96
  85. package/es/tile/service/TileLayerService.js +30 -52
  86. package/es/tile/service/TilePickService.js +26 -40
  87. package/es/tile/service/TileSourceService.js +3 -7
  88. package/es/tile/tileFactory/DebugTile.js +28 -45
  89. package/es/tile/tileFactory/ImageTile.js +20 -38
  90. package/es/tile/tileFactory/MaskTile.js +22 -43
  91. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  93. package/es/tile/tileFactory/RasterTile.js +30 -53
  94. package/es/tile/tileFactory/Tile.js +63 -97
  95. package/es/tile/tileFactory/VectorTile.js +41 -68
  96. package/es/tile/tileFactory/index.js +0 -11
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  98. package/es/tile/tileFactory/util.js +0 -3
  99. package/es/tile/tileLayer/BaseLayer.js +105 -146
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +0 -2
  102. package/es/utils/collision-index.js +9 -16
  103. package/es/utils/dataMappingStyle.js +8 -18
  104. package/es/utils/extrude_polyline.js +101 -149
  105. package/es/utils/grid-index.js +2 -27
  106. package/es/utils/identityScale.js +0 -8
  107. package/es/utils/layerData.js +30 -44
  108. package/es/utils/multiPassRender.js +11 -13
  109. package/es/utils/polylineNormal.js +31 -37
  110. package/es/utils/simpleLine.js +2 -16
  111. package/es/utils/stencil.js +2 -3
  112. package/es/utils/symbol-layout.js +27 -53
  113. package/es/wind/index.js +9 -29
  114. package/es/wind/models/utils.js +26 -51
  115. package/es/wind/models/wind.js +101 -147
  116. package/es/wind/models/windRender.js +53 -66
  117. package/lib/Geometry/index.js +9 -38
  118. package/lib/Geometry/models/billboard.js +51 -97
  119. package/lib/Geometry/models/index.js +0 -5
  120. package/lib/Geometry/models/plane.js +79 -151
  121. package/lib/Geometry/models/sprite.js +60 -127
  122. package/lib/canvas/index.js +10 -40
  123. package/lib/canvas/models/canvas.js +41 -101
  124. package/lib/canvas/models/index.js +0 -3
  125. package/lib/citybuliding/building.js +8 -35
  126. package/lib/citybuliding/models/build.js +57 -92
  127. package/lib/core/BaseLayer.js +320 -478
  128. package/lib/core/BaseModel.js +97 -139
  129. package/lib/core/LayerPickService.js +21 -37
  130. package/lib/core/TextureService.js +0 -16
  131. package/lib/core/interface.js +21 -31
  132. package/lib/core/schema.js +0 -1
  133. package/lib/core/shape/Path.js +14 -31
  134. package/lib/core/shape/extrude.js +10 -54
  135. package/lib/core/triangulation.js +53 -153
  136. package/lib/earth/index.js +9 -43
  137. package/lib/earth/models/atmosphere.js +30 -63
  138. package/lib/earth/models/base.js +47 -90
  139. package/lib/earth/models/bloomsphere.js +30 -63
  140. package/lib/earth/utils.js +7 -31
  141. package/lib/heatmap/index.js +10 -48
  142. package/lib/heatmap/models/grid.js +28 -60
  143. package/lib/heatmap/models/grid3d.js +28 -60
  144. package/lib/heatmap/models/heatmap.js +91 -162
  145. package/lib/heatmap/models/hexagon.js +28 -60
  146. package/lib/heatmap/models/index.js +0 -6
  147. package/lib/heatmap/triangulation.js +0 -5
  148. package/lib/image/index.js +9 -36
  149. package/lib/image/models/image.js +66 -109
  150. package/lib/image/models/index.js +0 -3
  151. package/lib/index.js +7 -61
  152. package/lib/line/index.js +9 -40
  153. package/lib/line/models/arc.js +64 -128
  154. package/lib/line/models/arc_3d.js +58 -119
  155. package/lib/line/models/earthArc_3d.js +61 -122
  156. package/lib/line/models/great_circle.js +56 -111
  157. package/lib/line/models/half.js +46 -87
  158. package/lib/line/models/index.js +0 -11
  159. package/lib/line/models/line.js +92 -156
  160. package/lib/line/models/linearline.js +45 -92
  161. package/lib/line/models/simpleLine.js +41 -84
  162. package/lib/line/models/wall.js +52 -103
  163. package/lib/mask/index.js +9 -36
  164. package/lib/mask/models/fill.js +29 -63
  165. package/lib/mask/models/index.js +0 -3
  166. package/lib/plugins/DataMappingPlugin.js +80 -128
  167. package/lib/plugins/DataSourcePlugin.js +45 -76
  168. package/lib/plugins/FeatureScalePlugin.js +67 -138
  169. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  170. package/lib/plugins/LayerMaskPlugin.js +4 -17
  171. package/lib/plugins/LayerModelPlugin.js +68 -113
  172. package/lib/plugins/LayerStylePlugin.js +4 -14
  173. package/lib/plugins/LightingPlugin.js +12 -25
  174. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  175. package/lib/plugins/PixelPickingPlugin.js +12 -27
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  177. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  178. package/lib/plugins/UpdateModelPlugin.js +1 -10
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  180. package/lib/point/index.js +26 -83
  181. package/lib/point/models/earthExtrude.js +61 -113
  182. package/lib/point/models/earthFill.js +57 -117
  183. package/lib/point/models/extrude.js +60 -111
  184. package/lib/point/models/fill.js +68 -109
  185. package/lib/point/models/fillmage.js +61 -115
  186. package/lib/point/models/image.js +48 -98
  187. package/lib/point/models/index.js +1 -12
  188. package/lib/point/models/normal.js +30 -64
  189. package/lib/point/models/radar.js +40 -74
  190. package/lib/point/models/simplePoint.js +41 -79
  191. package/lib/point/models/text.js +214 -303
  192. package/lib/point/shape/extrude.js +4 -20
  193. package/lib/polygon/index.js +11 -48
  194. package/lib/polygon/models/extrude.js +48 -103
  195. package/lib/polygon/models/fill.js +54 -98
  196. package/lib/polygon/models/index.js +2 -14
  197. package/lib/polygon/models/ocean.js +42 -88
  198. package/lib/polygon/models/water.js +37 -82
  199. package/lib/raster/buffers/triangulation.js +3 -7
  200. package/lib/raster/index.js +9 -40
  201. package/lib/raster/models/index.js +0 -5
  202. package/lib/raster/models/raster.js +80 -125
  203. package/lib/raster/models/rasterRgb.js +84 -139
  204. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  205. package/lib/tile/interaction/getRasterData.js +14 -25
  206. package/lib/tile/interaction/utils.js +7 -19
  207. package/lib/tile/manager/base.js +63 -104
  208. package/lib/tile/service/TileLayerService.js +30 -57
  209. package/lib/tile/service/TilePickService.js +26 -48
  210. package/lib/tile/service/TileSourceService.js +2 -16
  211. package/lib/tile/style/utils.js +0 -3
  212. package/lib/tile/tileFactory/DebugTile.js +28 -53
  213. package/lib/tile/tileFactory/ImageTile.js +20 -46
  214. package/lib/tile/tileFactory/MaskTile.js +22 -51
  215. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  217. package/lib/tile/tileFactory/RasterTile.js +30 -63
  218. package/lib/tile/tileFactory/Tile.js +63 -102
  219. package/lib/tile/tileFactory/VectorTile.js +41 -76
  220. package/lib/tile/tileFactory/index.js +0 -25
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  222. package/lib/tile/tileFactory/util.js +0 -9
  223. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  224. package/lib/tile/utils.js +1 -5
  225. package/lib/utils/blend.js +0 -5
  226. package/lib/utils/collision-index.js +9 -25
  227. package/lib/utils/dataMappingStyle.js +8 -19
  228. package/lib/utils/extrude_polyline.js +101 -181
  229. package/lib/utils/grid-index.js +2 -28
  230. package/lib/utils/identityScale.js +0 -9
  231. package/lib/utils/layerData.js +30 -49
  232. package/lib/utils/multiPassRender.js +11 -16
  233. package/lib/utils/polylineNormal.js +31 -66
  234. package/lib/utils/simpleLine.js +2 -21
  235. package/lib/utils/stencil.js +0 -4
  236. package/lib/utils/symbol-layout.js +27 -55
  237. package/lib/wind/index.js +9 -37
  238. package/lib/wind/models/index.js +0 -3
  239. package/lib/wind/models/utils.js +26 -62
  240. package/lib/wind/models/wind.js +101 -157
  241. package/lib/wind/models/windRender.js +53 -71
  242. package/lib/wind/models/windShader.js +0 -1
  243. package/package.json +7 -7
@@ -9,57 +9,42 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
9
9
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
10
10
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
11
11
  var _excluded = ["data"],
12
- _excluded2 = ["rasterData"];
12
+ _excluded2 = ["rasterData"];
13
13
  import _regeneratorRuntime from "@babel/runtime/regenerator";
14
-
15
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); }; }
16
-
17
15
  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; } }
18
-
19
16
  import { AttributeType, gl } from '@antv/l7-core';
20
17
  import BaseModel from "../../core/BaseModel";
21
18
  import { RasterImageTriangulation } from "../../core/triangulation";
22
-
23
19
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
24
20
  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";
25
-
26
21
  /* babel-plugin-inline-import '../shaders/raster_rgb_frag.glsl' */
27
22
  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}";
28
-
29
23
  var RasterModel = /*#__PURE__*/function (_BaseModel) {
30
24
  _inherits(RasterModel, _BaseModel);
31
-
32
25
  var _super = _createSuper(RasterModel);
33
-
34
26
  function RasterModel() {
35
27
  var _this;
36
-
37
28
  _classCallCheck(this, RasterModel);
38
-
39
29
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
40
30
  args[_key] = arguments[_key];
41
31
  }
42
-
43
32
  _this = _super.call.apply(_super, [this].concat(args));
44
-
45
33
  _defineProperty(_assertThisInitialized(_this), "dataOption", {});
46
-
47
34
  return _this;
48
35
  }
49
-
50
36
  _createClass(RasterModel, [{
51
37
  key: "getUninforms",
52
38
  value: function getUninforms() {
53
39
  var _ref = this.layer.getLayerConfig(),
54
- _ref$opacity = _ref.opacity,
55
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
56
- _ref$noDataValue = _ref.noDataValue,
57
- noDataValue = _ref$noDataValue === void 0 ? 0 : _ref$noDataValue;
58
-
40
+ _ref$opacity = _ref.opacity,
41
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
42
+ _ref$noDataValue = _ref.noDataValue,
43
+ noDataValue = _ref$noDataValue === void 0 ? 0 : _ref$noDataValue;
59
44
  var _this$dataOption = this.dataOption,
60
- rMinMax = _this$dataOption.rMinMax,
61
- gMinMax = _this$dataOption.gMinMax,
62
- bMinMax = _this$dataOption.bMinMax;
45
+ rMinMax = _this$dataOption.rMinMax,
46
+ gMinMax = _this$dataOption.gMinMax,
47
+ bMinMax = _this$dataOption.bMinMax;
63
48
  return {
64
49
  u_opacity: opacity || 1,
65
50
  u_texture: this.texture,
@@ -74,58 +59,46 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
74
59
  value: function () {
75
60
  var _getRasterData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(parserDataItem) {
76
61
  var data, rescfg, _yield$parserDataItem, rasterData, rest;
77
-
78
62
  return _regeneratorRuntime.wrap(function _callee$(_context) {
79
- while (1) {
80
- switch (_context.prev = _context.next) {
81
- case 0:
82
- if (!Array.isArray(parserDataItem.data)) {
83
- _context.next = 4;
84
- break;
85
- }
86
-
87
- data = parserDataItem.data, rescfg = _objectWithoutProperties(parserDataItem, _excluded);
88
- this.dataOption = rescfg;
89
- return _context.abrupt("return", _objectSpread({
90
- data: data
91
- }, rescfg));
92
-
93
- case 4:
94
- _context.next = 6;
95
- return parserDataItem.data;
96
-
97
- case 6:
98
- _yield$parserDataItem = _context.sent;
99
- rasterData = _yield$parserDataItem.rasterData;
100
- rest = _objectWithoutProperties(_yield$parserDataItem, _excluded2);
101
- this.dataOption = rest;
102
-
103
- if (!Array.isArray(rasterData)) {
104
- _context.next = 14;
105
- break;
106
- }
107
-
108
- return _context.abrupt("return", _objectSpread({
109
- data: rasterData
110
- }, rest));
111
-
112
- case 14:
113
- return _context.abrupt("return", _objectSpread({
114
- data: Array.from(rasterData)
115
- }, rest));
116
-
117
- case 15:
118
- case "end":
119
- return _context.stop();
120
- }
63
+ while (1) switch (_context.prev = _context.next) {
64
+ case 0:
65
+ if (!Array.isArray(parserDataItem.data)) {
66
+ _context.next = 4;
67
+ break;
68
+ }
69
+ data = parserDataItem.data, rescfg = _objectWithoutProperties(parserDataItem, _excluded);
70
+ this.dataOption = rescfg;
71
+ return _context.abrupt("return", _objectSpread({
72
+ data: data
73
+ }, rescfg));
74
+ case 4:
75
+ _context.next = 6;
76
+ return parserDataItem.data;
77
+ case 6:
78
+ _yield$parserDataItem = _context.sent;
79
+ rasterData = _yield$parserDataItem.rasterData;
80
+ rest = _objectWithoutProperties(_yield$parserDataItem, _excluded2);
81
+ this.dataOption = rest;
82
+ if (!Array.isArray(rasterData)) {
83
+ _context.next = 14;
84
+ break;
85
+ }
86
+ return _context.abrupt("return", _objectSpread({
87
+ data: rasterData
88
+ }, rest));
89
+ case 14:
90
+ return _context.abrupt("return", _objectSpread({
91
+ data: Array.from(rasterData)
92
+ }, rest));
93
+ case 15:
94
+ case "end":
95
+ return _context.stop();
121
96
  }
122
97
  }, _callee, this);
123
98
  }));
124
-
125
99
  function getRasterData(_x) {
126
100
  return _getRasterData.apply(this, arguments);
127
101
  }
128
-
129
102
  return getRasterData;
130
103
  }()
131
104
  }, {
@@ -133,58 +106,50 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
133
106
  value: function () {
134
107
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
135
108
  var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
136
-
137
109
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
138
- while (1) {
139
- switch (_context2.prev = _context2.next) {
140
- case 0:
141
- source = this.layer.getSource();
142
- createTexture2D = this.rendererService.createTexture2D;
143
- parserDataItem = source.data.dataArray[0];
144
- _context2.next = 5;
145
- return this.getRasterData(parserDataItem);
146
-
147
- case 5:
148
- _yield$this$getRaster = _context2.sent;
149
- data = _yield$this$getRaster.data;
150
- width = _yield$this$getRaster.width;
151
- height = _yield$this$getRaster.height;
152
- this.texture = createTexture2D({
153
- // @ts-ignore
154
- data: data,
155
- width: width,
156
- height: height,
157
- format: gl.RGB,
158
- type: gl.FLOAT
159
- });
160
- _context2.next = 12;
161
- return this.layer.buildLayerModel({
162
- moduleName: 'rasterImageDataRGBA',
163
- vertexShader: rasterVert,
164
- fragmentShader: rasterFrag,
165
- triangulation: RasterImageTriangulation,
166
- primitive: gl.TRIANGLES,
167
- depth: {
168
- enable: false
169
- }
170
- });
171
-
172
- case 12:
173
- model = _context2.sent;
174
- return _context2.abrupt("return", [model]);
175
-
176
- case 14:
177
- case "end":
178
- return _context2.stop();
179
- }
110
+ while (1) switch (_context2.prev = _context2.next) {
111
+ case 0:
112
+ source = this.layer.getSource();
113
+ createTexture2D = this.rendererService.createTexture2D;
114
+ parserDataItem = source.data.dataArray[0];
115
+ _context2.next = 5;
116
+ return this.getRasterData(parserDataItem);
117
+ case 5:
118
+ _yield$this$getRaster = _context2.sent;
119
+ data = _yield$this$getRaster.data;
120
+ width = _yield$this$getRaster.width;
121
+ height = _yield$this$getRaster.height;
122
+ this.texture = createTexture2D({
123
+ // @ts-ignore
124
+ data: data,
125
+ width: width,
126
+ height: height,
127
+ format: gl.RGB,
128
+ type: gl.FLOAT
129
+ });
130
+ _context2.next = 12;
131
+ return this.layer.buildLayerModel({
132
+ moduleName: 'rasterImageDataRGBA',
133
+ vertexShader: rasterVert,
134
+ fragmentShader: rasterFrag,
135
+ triangulation: RasterImageTriangulation,
136
+ primitive: gl.TRIANGLES,
137
+ depth: {
138
+ enable: false
139
+ }
140
+ });
141
+ case 12:
142
+ model = _context2.sent;
143
+ return _context2.abrupt("return", [model]);
144
+ case 14:
145
+ case "end":
146
+ return _context2.stop();
180
147
  }
181
148
  }, _callee2, this);
182
149
  }));
183
-
184
150
  function initModels() {
185
151
  return _initModels.apply(this, arguments);
186
152
  }
187
-
188
153
  return initModels;
189
154
  }()
190
155
  }, {
@@ -192,30 +157,24 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
192
157
  value: function () {
193
158
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
194
159
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
195
- while (1) {
196
- switch (_context3.prev = _context3.next) {
197
- case 0:
198
- return _context3.abrupt("return", this.initModels());
199
-
200
- case 1:
201
- case "end":
202
- return _context3.stop();
203
- }
160
+ while (1) switch (_context3.prev = _context3.next) {
161
+ case 0:
162
+ return _context3.abrupt("return", this.initModels());
163
+ case 1:
164
+ case "end":
165
+ return _context3.stop();
204
166
  }
205
167
  }, _callee3, this);
206
168
  }));
207
-
208
169
  function buildModels() {
209
170
  return _buildModels.apply(this, arguments);
210
171
  }
211
-
212
172
  return buildModels;
213
173
  }()
214
174
  }, {
215
175
  key: "clearModels",
216
176
  value: function clearModels() {
217
177
  var _this$texture;
218
-
219
178
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
220
179
  }
221
180
  }, {
@@ -241,8 +200,6 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
241
200
  });
242
201
  }
243
202
  }]);
244
-
245
203
  return RasterModel;
246
204
  }(BaseModel);
247
-
248
205
  export { RasterModel as default };
@@ -5,65 +5,52 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
-
9
8
  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
9
  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
10
  import { AttributeType, gl } from '@antv/l7-core';
14
11
  import { getDefaultDomain } from '@antv/l7-utils';
15
12
  import BaseModel from "../../core/BaseModel";
16
13
  import { RasterImageTriangulation } from "../../core/triangulation";
17
-
18
14
  /* babel-plugin-inline-import '../shaders/raster_terrain_rgb_frag.glsl' */
19
15
  var Raster_terrainFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\n\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\n\nvarying vec2 v_texCoord;\n\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nuniform vec4 u_unpack;\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture2D(u_texture, coord,bias) * 255.0;\n data.a = -1.0;\n return dot(data, u_unpack);\n}\n\nvec4 getColor(float value) {\n float normalisedValue =(value- u_domain[0]) / (u_domain[1] - u_domain[0]);\n vec2 coord = vec2(normalisedValue, 0);\n return texture2D(u_colorTexture, coord);\n}\n\nvoid main() {\n float value = getElevation(v_texCoord,0.0);\n if (value == u_noDataValue) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1])) {\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n } else {\n \n gl_FragColor = getColor(value);\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n if(gl_FragColor.a < 0.01)\n discard;\n }\n}\n";
20
-
21
16
  /* babel-plugin-inline-import '../shaders/rater_terrain_rgb_vert.glsl' */
22
17
  var Raster_terrainVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
23
-
24
18
  var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
25
19
  _inherits(RasterTerrainRGB, _BaseModel);
26
-
27
20
  var _super = _createSuper(RasterTerrainRGB);
28
-
29
21
  function RasterTerrainRGB() {
30
22
  _classCallCheck(this, RasterTerrainRGB);
31
-
32
23
  return _super.apply(this, arguments);
33
24
  }
34
-
35
25
  _createClass(RasterTerrainRGB, [{
36
26
  key: "getUninforms",
37
27
  value: function getUninforms() {
38
28
  var _ref = this.layer.getLayerConfig(),
39
- opacity = _ref.opacity,
40
- _ref$clampLow = _ref.clampLow,
41
- clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
42
- _ref$clampHigh = _ref.clampHigh,
43
- clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
44
- _ref$noDataValue = _ref.noDataValue,
45
- noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
46
- domain = _ref.domain,
47
- rampColors = _ref.rampColors,
48
- colorTexture = _ref.colorTexture,
49
- _ref$rScaler = _ref.rScaler,
50
- rScaler = _ref$rScaler === void 0 ? 6553.6 : _ref$rScaler,
51
- _ref$gScaler = _ref.gScaler,
52
- gScaler = _ref$gScaler === void 0 ? 25.6 : _ref$gScaler,
53
- _ref$bScaler = _ref.bScaler,
54
- bScaler = _ref$bScaler === void 0 ? 0.1 : _ref$bScaler,
55
- _ref$offset = _ref.offset,
56
- offset = _ref$offset === void 0 ? 10000 : _ref$offset;
57
-
29
+ opacity = _ref.opacity,
30
+ _ref$clampLow = _ref.clampLow,
31
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
32
+ _ref$clampHigh = _ref.clampHigh,
33
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
34
+ _ref$noDataValue = _ref.noDataValue,
35
+ noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
36
+ domain = _ref.domain,
37
+ rampColors = _ref.rampColors,
38
+ colorTexture = _ref.colorTexture,
39
+ _ref$rScaler = _ref.rScaler,
40
+ rScaler = _ref$rScaler === void 0 ? 6553.6 : _ref$rScaler,
41
+ _ref$gScaler = _ref.gScaler,
42
+ gScaler = _ref$gScaler === void 0 ? 25.6 : _ref$gScaler,
43
+ _ref$bScaler = _ref.bScaler,
44
+ bScaler = _ref$bScaler === void 0 ? 0.1 : _ref$bScaler,
45
+ _ref$offset = _ref.offset,
46
+ offset = _ref$offset === void 0 ? 10000 : _ref$offset;
58
47
  var newdomain = domain || getDefaultDomain(rampColors);
59
48
  var texture = colorTexture;
60
-
61
49
  if (!colorTexture) {
62
50
  texture = this.layer.textureService.getColorTexture(rampColors, newdomain);
63
51
  } else {
64
52
  this.layer.textureService.setColorTexture(colorTexture, rampColors, newdomain);
65
53
  }
66
-
67
54
  return {
68
55
  u_opacity: opacity || 1,
69
56
  u_texture: this.texture,
@@ -81,58 +68,50 @@ var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
81
68
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
82
69
  var source, createTexture2D, imageData, model;
83
70
  return _regeneratorRuntime.wrap(function _callee$(_context) {
84
- while (1) {
85
- switch (_context.prev = _context.next) {
86
- case 0:
87
- source = this.layer.getSource();
88
- createTexture2D = this.rendererService.createTexture2D;
89
- _context.next = 4;
90
- return source.data.images;
91
-
92
- case 4:
93
- imageData = _context.sent;
94
- this.texture = createTexture2D({
95
- data: imageData[0],
96
- width: imageData[0].width,
97
- height: imageData[0].height,
98
- min: gl.LINEAR,
99
- mag: gl.LINEAR
100
- });
101
- _context.next = 8;
102
- return this.layer.buildLayerModel({
103
- moduleName: 'RasterTileDataImage',
104
- vertexShader: Raster_terrainVert,
105
- fragmentShader: Raster_terrainFrag,
106
- triangulation: RasterImageTriangulation,
107
- primitive: gl.TRIANGLES,
108
- depth: {
109
- enable: false
110
- }
111
- });
112
-
113
- case 8:
114
- model = _context.sent;
115
- return _context.abrupt("return", [model]);
116
-
117
- case 10:
118
- case "end":
119
- return _context.stop();
120
- }
71
+ while (1) switch (_context.prev = _context.next) {
72
+ case 0:
73
+ source = this.layer.getSource();
74
+ createTexture2D = this.rendererService.createTexture2D;
75
+ _context.next = 4;
76
+ return source.data.images;
77
+ case 4:
78
+ imageData = _context.sent;
79
+ this.texture = createTexture2D({
80
+ data: imageData[0],
81
+ width: imageData[0].width,
82
+ height: imageData[0].height,
83
+ min: gl.LINEAR,
84
+ mag: gl.LINEAR
85
+ });
86
+ _context.next = 8;
87
+ return this.layer.buildLayerModel({
88
+ moduleName: 'RasterTileDataImage',
89
+ vertexShader: Raster_terrainVert,
90
+ fragmentShader: Raster_terrainFrag,
91
+ triangulation: RasterImageTriangulation,
92
+ primitive: gl.TRIANGLES,
93
+ depth: {
94
+ enable: false
95
+ }
96
+ });
97
+ case 8:
98
+ model = _context.sent;
99
+ return _context.abrupt("return", [model]);
100
+ case 10:
101
+ case "end":
102
+ return _context.stop();
121
103
  }
122
104
  }, _callee, this);
123
105
  }));
124
-
125
106
  function initModels() {
126
107
  return _initModels.apply(this, arguments);
127
108
  }
128
-
129
109
  return initModels;
130
110
  }()
131
111
  }, {
132
112
  key: "clearModels",
133
113
  value: function clearModels() {
134
114
  var _this$texture;
135
-
136
115
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
137
116
  }
138
117
  }, {
@@ -140,23 +119,18 @@ var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
140
119
  value: function () {
141
120
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
142
121
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
143
- while (1) {
144
- switch (_context2.prev = _context2.next) {
145
- case 0:
146
- return _context2.abrupt("return", this.initModels());
147
-
148
- case 1:
149
- case "end":
150
- return _context2.stop();
151
- }
122
+ while (1) switch (_context2.prev = _context2.next) {
123
+ case 0:
124
+ return _context2.abrupt("return", this.initModels());
125
+ case 1:
126
+ case "end":
127
+ return _context2.stop();
152
128
  }
153
129
  }, _callee2, this);
154
130
  }));
155
-
156
131
  function buildModels() {
157
132
  return _buildModels.apply(this, arguments);
158
133
  }
159
-
160
134
  return buildModels;
161
135
  }()
162
136
  }, {
@@ -180,8 +154,6 @@ var RasterTerrainRGB = /*#__PURE__*/function (_BaseModel) {
180
154
  });
181
155
  }
182
156
  }]);
183
-
184
157
  return RasterTerrainRGB;
185
158
  }(BaseModel);
186
-
187
159
  export { RasterTerrainRGB as default };
@@ -2,26 +2,25 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import { DOM } from '@antv/l7-utils';
3
3
  export function readRasterValue(tile, mapService, x, y) {
4
4
  var _tile$bboxPolygon, _tile$data, _tile$data2, _tile$data3;
5
-
6
5
  var bbox = (tile === null || tile === void 0 ? void 0 : (_tile$bboxPolygon = tile.bboxPolygon) === null || _tile$bboxPolygon === void 0 ? void 0 : _tile$bboxPolygon.bbox) || [0, 0, 10, -10];
7
-
8
6
  var _bbox = _slicedToArray(bbox, 4),
9
- _bbox$ = _bbox[0],
10
- minLng = _bbox$ === void 0 ? 0 : _bbox$,
11
- _bbox$2 = _bbox[1],
12
- minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
13
- _bbox$3 = _bbox[2],
14
- maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
15
- _bbox$4 = _bbox[3],
16
- maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
17
-
7
+ _bbox$ = _bbox[0],
8
+ minLng = _bbox$ === void 0 ? 0 : _bbox$,
9
+ _bbox$2 = _bbox[1],
10
+ minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
11
+ _bbox$3 = _bbox[2],
12
+ maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
13
+ _bbox$4 = _bbox[3],
14
+ maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
18
15
  var tileXY = mapService.lngLatToContainer([minLng, minLat]);
19
16
  var tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);
20
17
  var tilePixelWidth = tileMaxXY.x - tileXY.x;
21
18
  var tilePixelHeight = tileXY.y - tileMaxXY.y;
22
- var pos = [(x - tileXY.x) / tilePixelWidth, // x
19
+ var pos = [(x - tileXY.x) / tilePixelWidth,
20
+ // x
23
21
  (y - tileMaxXY.y) / tilePixelHeight // y
24
22
  ];
23
+
25
24
  var tileWidth = (tile === null || tile === void 0 ? void 0 : (_tile$data = tile.data) === null || _tile$data === void 0 ? void 0 : _tile$data.width) || 1;
26
25
  var tileHeight = (tile === null || tile === void 0 ? void 0 : (_tile$data2 = tile.data) === null || _tile$data2 === void 0 ? void 0 : _tile$data2.height) || 1;
27
26
  var indexX = Math.floor(pos[0] * tileWidth);
@@ -32,21 +31,17 @@ export function readRasterValue(tile, mapService, x, y) {
32
31
  }
33
32
  export function readPixel(x, y, rendererService) {
34
33
  var readPixels = rendererService.readPixels,
35
- getContainer = rendererService.getContainer;
34
+ getContainer = rendererService.getContainer;
36
35
  var xInDevicePixel = x * DOM.DPR;
37
36
  var yInDevicePixel = y * DOM.DPR;
38
-
39
37
  var _getContainerSize = getContainerSize(getContainer()),
40
- width = _getContainerSize.width,
41
- height = _getContainerSize.height;
42
-
38
+ width = _getContainerSize.width,
39
+ height = _getContainerSize.height;
43
40
  width *= DOM.DPR;
44
41
  height *= DOM.DPR;
45
-
46
42
  if (xInDevicePixel > width - 1 * DOM.DPR || xInDevicePixel < 0 || yInDevicePixel > height - 1 * DOM.DPR || yInDevicePixel < 0) {
47
43
  return false;
48
44
  }
49
-
50
45
  var pickedColors = readPixels({
51
46
  x: Math.floor(xInDevicePixel),
52
47
  // 视口坐标系原点在左上,而 WebGL 在左下,需要翻转 Y 轴
@@ -57,7 +52,6 @@ export function readPixel(x, y, rendererService) {
57
52
  });
58
53
  return pickedColors;
59
54
  }
60
-
61
55
  function getContainerSize(container) {
62
56
  if (container.getContext) {
63
57
  return {
@@ -20,12 +20,11 @@ export function setSelect(layers, pickedColors, renderList) {
20
20
  pickColor = pickedColors;
21
21
  } else {
22
22
  selectFeature(layer, new Uint8Array([0, 0, 0, 0])); // toggle select
23
-
24
23
  layer.setCurrentSelectedId(null);
25
24
  pickColor = null;
26
25
  }
27
- }); // unselect normal layer
28
-
26
+ });
27
+ // unselect normal layer
29
28
  renderList.filter(function (layer) {
30
29
  return layer.inited && layer.isVisible() && layer.needPick('click');
31
30
  }).filter(function (layer) {
@@ -40,7 +39,8 @@ export function setHighlight(layers, pickedColors) {
40
39
  var pickId = decodePickingColor(pickedColors);
41
40
  layers.filter(function (layer) {
42
41
  return layer.inited && layer.isVisible();
43
- }) // @ts-ignore
42
+ })
43
+ // @ts-ignore
44
44
  .filter(function (layer) {
45
45
  return layer.getPickID() !== pickId;
46
46
  }).map(function (layer) {
@@ -55,7 +55,6 @@ export function setPickState(layers, pickColors) {
55
55
  selectFeature(layer, pickColors.select);
56
56
  });
57
57
  }
58
-
59
58
  if (pickColors.active) {
60
59
  layers.filter(function (layer) {
61
60
  return layer.inited && layer.isVisible();
@@ -67,10 +66,9 @@ export function setPickState(layers, pickColors) {
67
66
  export function selectFeature(layer, pickedColors) {
68
67
  // @ts-ignore
69
68
  var _pickedColors = _slicedToArray(pickedColors, 3),
70
- r = _pickedColors[0],
71
- g = _pickedColors[1],
72
- b = _pickedColors[2];
73
-
69
+ r = _pickedColors[0],
70
+ g = _pickedColors[1],
71
+ b = _pickedColors[2];
74
72
  layer.hooks.beforeSelect.call([r, g, b]);
75
73
  }
76
74
  export function setFeatureSelect(color, layers) {