@antv/l7-layers 2.15.2 → 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 (242) 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.js +197 -299
  69. package/es/point/shape/extrude.js +4 -13
  70. package/es/polygon/index.js +11 -40
  71. package/es/polygon/models/extrude.js +48 -92
  72. package/es/polygon/models/fill.js +54 -88
  73. package/es/polygon/models/index.js +3 -2
  74. package/es/polygon/models/ocean.js +42 -76
  75. package/es/polygon/models/water.js +37 -71
  76. package/es/raster/buffers/triangulation.js +2 -4
  77. package/es/raster/index.js +9 -32
  78. package/es/raster/models/raster.js +80 -116
  79. package/es/raster/models/rasterRgb.js +84 -127
  80. package/es/raster/models/rasterTerrainRgb.js +56 -84
  81. package/es/tile/interaction/getRasterData.js +14 -20
  82. package/es/tile/interaction/utils.js +7 -9
  83. package/es/tile/manager/base.js +63 -96
  84. package/es/tile/service/TileLayerService.js +30 -52
  85. package/es/tile/service/TilePickService.js +26 -40
  86. package/es/tile/service/TileSourceService.js +3 -7
  87. package/es/tile/tileFactory/DebugTile.js +28 -45
  88. package/es/tile/tileFactory/ImageTile.js +20 -38
  89. package/es/tile/tileFactory/MaskTile.js +22 -43
  90. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  91. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  92. package/es/tile/tileFactory/RasterTile.js +30 -53
  93. package/es/tile/tileFactory/Tile.js +63 -97
  94. package/es/tile/tileFactory/VectorTile.js +41 -68
  95. package/es/tile/tileFactory/index.js +0 -11
  96. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  97. package/es/tile/tileFactory/util.js +0 -3
  98. package/es/tile/tileLayer/BaseLayer.js +105 -146
  99. package/es/tile/utils.js +1 -1
  100. package/es/utils/blend.js +0 -2
  101. package/es/utils/collision-index.js +9 -16
  102. package/es/utils/dataMappingStyle.js +8 -18
  103. package/es/utils/extrude_polyline.js +101 -149
  104. package/es/utils/grid-index.js +2 -27
  105. package/es/utils/identityScale.js +0 -8
  106. package/es/utils/layerData.js +30 -44
  107. package/es/utils/multiPassRender.js +11 -13
  108. package/es/utils/polylineNormal.js +31 -37
  109. package/es/utils/simpleLine.js +2 -16
  110. package/es/utils/stencil.js +2 -3
  111. package/es/utils/symbol-layout.js +27 -53
  112. package/es/wind/index.js +9 -29
  113. package/es/wind/models/utils.js +26 -51
  114. package/es/wind/models/wind.js +101 -147
  115. package/es/wind/models/windRender.js +53 -66
  116. package/lib/Geometry/index.js +9 -38
  117. package/lib/Geometry/models/billboard.js +51 -97
  118. package/lib/Geometry/models/index.js +0 -5
  119. package/lib/Geometry/models/plane.js +79 -151
  120. package/lib/Geometry/models/sprite.js +60 -127
  121. package/lib/canvas/index.js +10 -40
  122. package/lib/canvas/models/canvas.js +41 -101
  123. package/lib/canvas/models/index.js +0 -3
  124. package/lib/citybuliding/building.js +8 -35
  125. package/lib/citybuliding/models/build.js +57 -92
  126. package/lib/core/BaseLayer.js +320 -478
  127. package/lib/core/BaseModel.js +97 -139
  128. package/lib/core/LayerPickService.js +21 -37
  129. package/lib/core/TextureService.js +0 -16
  130. package/lib/core/interface.js +21 -31
  131. package/lib/core/schema.js +0 -1
  132. package/lib/core/shape/Path.js +14 -31
  133. package/lib/core/shape/extrude.js +10 -54
  134. package/lib/core/triangulation.js +53 -153
  135. package/lib/earth/index.js +9 -43
  136. package/lib/earth/models/atmosphere.js +30 -63
  137. package/lib/earth/models/base.js +47 -90
  138. package/lib/earth/models/bloomsphere.js +30 -63
  139. package/lib/earth/utils.js +7 -31
  140. package/lib/heatmap/index.js +10 -48
  141. package/lib/heatmap/models/grid.js +28 -60
  142. package/lib/heatmap/models/grid3d.js +28 -60
  143. package/lib/heatmap/models/heatmap.js +91 -162
  144. package/lib/heatmap/models/hexagon.js +28 -60
  145. package/lib/heatmap/models/index.js +0 -6
  146. package/lib/heatmap/triangulation.js +0 -5
  147. package/lib/image/index.js +9 -36
  148. package/lib/image/models/image.js +66 -109
  149. package/lib/image/models/index.js +0 -3
  150. package/lib/index.js +7 -61
  151. package/lib/line/index.js +9 -40
  152. package/lib/line/models/arc.js +64 -128
  153. package/lib/line/models/arc_3d.js +58 -119
  154. package/lib/line/models/earthArc_3d.js +61 -122
  155. package/lib/line/models/great_circle.js +56 -111
  156. package/lib/line/models/half.js +46 -87
  157. package/lib/line/models/index.js +0 -11
  158. package/lib/line/models/line.js +92 -156
  159. package/lib/line/models/linearline.js +45 -92
  160. package/lib/line/models/simpleLine.js +41 -84
  161. package/lib/line/models/wall.js +52 -103
  162. package/lib/mask/index.js +9 -36
  163. package/lib/mask/models/fill.js +29 -63
  164. package/lib/mask/models/index.js +0 -3
  165. package/lib/plugins/DataMappingPlugin.js +80 -128
  166. package/lib/plugins/DataSourcePlugin.js +45 -76
  167. package/lib/plugins/FeatureScalePlugin.js +67 -138
  168. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  169. package/lib/plugins/LayerMaskPlugin.js +4 -17
  170. package/lib/plugins/LayerModelPlugin.js +68 -113
  171. package/lib/plugins/LayerStylePlugin.js +4 -14
  172. package/lib/plugins/LightingPlugin.js +12 -25
  173. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  174. package/lib/plugins/PixelPickingPlugin.js +12 -27
  175. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  176. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  177. package/lib/plugins/UpdateModelPlugin.js +1 -10
  178. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  179. package/lib/point/index.js +26 -83
  180. package/lib/point/models/earthExtrude.js +61 -113
  181. package/lib/point/models/earthFill.js +57 -117
  182. package/lib/point/models/extrude.js +60 -111
  183. package/lib/point/models/fill.js +68 -109
  184. package/lib/point/models/fillmage.js +61 -115
  185. package/lib/point/models/image.js +48 -98
  186. package/lib/point/models/index.js +1 -12
  187. package/lib/point/models/normal.js +30 -64
  188. package/lib/point/models/radar.js +40 -74
  189. package/lib/point/models/simplePoint.js +41 -79
  190. package/lib/point/models/text.js +197 -307
  191. package/lib/point/shape/extrude.js +4 -20
  192. package/lib/polygon/index.js +11 -48
  193. package/lib/polygon/models/extrude.js +48 -103
  194. package/lib/polygon/models/fill.js +54 -98
  195. package/lib/polygon/models/index.js +2 -14
  196. package/lib/polygon/models/ocean.js +42 -88
  197. package/lib/polygon/models/water.js +37 -82
  198. package/lib/raster/buffers/triangulation.js +3 -7
  199. package/lib/raster/index.js +9 -40
  200. package/lib/raster/models/index.js +0 -5
  201. package/lib/raster/models/raster.js +80 -125
  202. package/lib/raster/models/rasterRgb.js +84 -139
  203. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  204. package/lib/tile/interaction/getRasterData.js +14 -25
  205. package/lib/tile/interaction/utils.js +7 -19
  206. package/lib/tile/manager/base.js +63 -104
  207. package/lib/tile/service/TileLayerService.js +30 -57
  208. package/lib/tile/service/TilePickService.js +26 -48
  209. package/lib/tile/service/TileSourceService.js +2 -16
  210. package/lib/tile/style/utils.js +0 -3
  211. package/lib/tile/tileFactory/DebugTile.js +28 -53
  212. package/lib/tile/tileFactory/ImageTile.js +20 -46
  213. package/lib/tile/tileFactory/MaskTile.js +22 -51
  214. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  215. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  216. package/lib/tile/tileFactory/RasterTile.js +30 -63
  217. package/lib/tile/tileFactory/Tile.js +63 -102
  218. package/lib/tile/tileFactory/VectorTile.js +41 -76
  219. package/lib/tile/tileFactory/index.js +0 -25
  220. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  221. package/lib/tile/tileFactory/util.js +0 -9
  222. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  223. package/lib/tile/utils.js +1 -5
  224. package/lib/utils/blend.js +0 -5
  225. package/lib/utils/collision-index.js +9 -25
  226. package/lib/utils/dataMappingStyle.js +8 -19
  227. package/lib/utils/extrude_polyline.js +101 -181
  228. package/lib/utils/grid-index.js +2 -28
  229. package/lib/utils/identityScale.js +0 -9
  230. package/lib/utils/layerData.js +30 -49
  231. package/lib/utils/multiPassRender.js +11 -16
  232. package/lib/utils/polylineNormal.js +31 -66
  233. package/lib/utils/simpleLine.js +2 -21
  234. package/lib/utils/stencil.js +0 -4
  235. package/lib/utils/symbol-layout.js +27 -55
  236. package/lib/wind/index.js +9 -37
  237. package/lib/wind/models/index.js +0 -3
  238. package/lib/wind/models/utils.js +26 -62
  239. package/lib/wind/models/wind.js +101 -157
  240. package/lib/wind/models/windRender.js +53 -71
  241. package/lib/wind/models/windShader.js +0 -1
  242. package/package.json +7 -7
@@ -6,43 +6,32 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
-
10
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); }; }
11
-
12
10
  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; } }
13
-
14
11
  import { AttributeType, gl } from '@antv/l7-core';
15
12
  import { Version } from '@antv/l7-maps';
16
13
  import { isNumber } from 'lodash';
17
14
  import BaseModel from "../../core/BaseModel";
18
15
  import { polygonTriangulation } from "../../core/triangulation";
19
-
20
16
  /* babel-plugin-inline-import '../shaders/water/polygon_water_frag.glsl' */
21
17
  var water_frag = "uniform sampler2D u_texture;\nuniform float u_time: 0.0;\nuniform float u_speed: 1.0;\nuniform float u_opacity: 1.0;\n\nvarying vec4 v_Color;\nvarying vec2 v_uv;\n\nfloat rand(vec2 n) { return 0.5 + 0.5 * fract(sin(dot(n.xy, vec2(12.9898, 78.233)))* 43758.5453); }\n\nfloat water(vec3 p) {\n float t = u_time * u_speed;\n p.z += t * 2.; p.x += t * 2.;\n vec3 c1 = texture2D(u_texture, p.xz / 30.).xyz;\n p.z += t * 3.; p.x += t * 0.52;\n vec3 c2 = texture2D(u_texture, p.xz / 30.).xyz;\n p.z += t * 4.; p.x += t * 0.8;\n vec3 c3 = texture2D(u_texture, p.xz / 30.).xyz;\n c1 += c2 - c3;\n float z = (c1.x + c1.y + c1.z) / 3.;\n return p.y + z / 4.;\n}\n\nfloat map(vec3 p) {\n float d = 100.0;\n d = water(p);\n return d;\n}\n\nfloat intersect(vec3 ro, vec3 rd) {\n float d = 0.0;\n for (int i = 0; i <= 100; i++) {\n float h = map(ro + rd * d);\n if (h < 0.1) return d;\n d += h;\n }\n return 0.0;\n}\n\nvec3 norm(vec3 p) {\n float eps = .1;\n return normalize(vec3(\n map(p + vec3(eps, 0, 0)) - map(p + vec3(-eps, 0, 0)),\n map(p + vec3(0, eps, 0)) - map(p + vec3(0, -eps, 0)),\n map(p + vec3(0, 0, eps)) - map(p + vec3(0, 0, -eps))\n ));\n} \n\nfloat calSpc() {\n vec3 l1 = normalize(vec3(1, 1, 1));\n vec3 ro = vec3(-3, 20, -8);\n vec3 rc = vec3(0, 0, 0);\n vec3 ww = normalize(rc - ro);\n vec3 uu = normalize(cross(vec3(0,1,0), ww));\n vec3 vv = normalize(cross(rc - ro, uu));\n vec3 rd = normalize(uu * v_uv.x + vv * v_uv.y + ww);\n float d = intersect(ro, rd);\n vec3 p = ro + rd * d;\n vec3 n = norm(p);\n float spc = pow(max(0.0, dot(reflect(l1, n), rd)), 30.0);\n return spc;\n}\n\nvoid main() {\n float opacity = u_opacity;\n gl_FragColor = v_Color;\n gl_FragColor.a *= opacity;\n\n float spc = calSpc();\n gl_FragColor += spc * 0.4;\n}\n";
22
-
23
18
  /* babel-plugin-inline-import '../shaders/water/polygon_water_vert.glsl' */
24
19
  var water_vert = "attribute vec4 a_Color;\nattribute vec2 a_uv;\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_Color;\nvarying vec2 v_uv;\nuniform float u_opacity: 1.0;\n\n\n#pragma include \"projection\"\n\nvoid main() {\n v_uv = a_uv;\n\n v_Color = a_Color;\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.xyz, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xyz, 1.0));\n }\n}\n\n";
25
-
26
20
  var WaterModel = /*#__PURE__*/function (_BaseModel) {
27
21
  _inherits(WaterModel, _BaseModel);
28
-
29
22
  var _super = _createSuper(WaterModel);
30
-
31
23
  function WaterModel() {
32
24
  _classCallCheck(this, WaterModel);
33
-
34
25
  return _super.apply(this, arguments);
35
26
  }
36
-
37
27
  _createClass(WaterModel, [{
38
28
  key: "getUninforms",
39
29
  value: function getUninforms() {
40
30
  var _ref = this.layer.getLayerConfig(),
41
- _ref$opacity = _ref.opacity,
42
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
43
- _ref$speed = _ref.speed,
44
- speed = _ref$speed === void 0 ? 0.5 : _ref$speed;
45
-
31
+ _ref$opacity = _ref.opacity,
32
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
33
+ _ref$speed = _ref.speed,
34
+ speed = _ref$speed === void 0 ? 0.5 : _ref$speed;
46
35
  return {
47
36
  u_texture: this.texture,
48
37
  u_speed: speed,
@@ -61,24 +50,19 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
61
50
  value: function () {
62
51
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
63
52
  return _regeneratorRuntime.wrap(function _callee$(_context) {
64
- while (1) {
65
- switch (_context.prev = _context.next) {
66
- case 0:
67
- this.loadTexture();
68
- return _context.abrupt("return", this.buildModels());
69
-
70
- case 2:
71
- case "end":
72
- return _context.stop();
73
- }
53
+ while (1) switch (_context.prev = _context.next) {
54
+ case 0:
55
+ this.loadTexture();
56
+ return _context.abrupt("return", this.buildModels());
57
+ case 2:
58
+ case "end":
59
+ return _context.stop();
74
60
  }
75
61
  }, _callee, this);
76
62
  }));
77
-
78
63
  function initModels() {
79
64
  return _initModels.apply(this, arguments);
80
65
  }
81
-
82
66
  return initModels;
83
67
  }()
84
68
  }, {
@@ -87,57 +71,48 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
87
71
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
88
72
  var model;
89
73
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
90
- while (1) {
91
- switch (_context2.prev = _context2.next) {
92
- case 0:
93
- _context2.next = 2;
94
- return this.layer.buildLayerModel({
95
- moduleName: 'polygonWater',
96
- vertexShader: water_vert,
97
- fragmentShader: water_frag,
98
- triangulation: polygonTriangulation,
99
- primitive: gl.TRIANGLES,
100
- depth: {
101
- enable: false
102
- }
103
- });
104
-
105
- case 2:
106
- model = _context2.sent;
107
- return _context2.abrupt("return", [model]);
108
-
109
- case 4:
110
- case "end":
111
- return _context2.stop();
112
- }
74
+ while (1) switch (_context2.prev = _context2.next) {
75
+ case 0:
76
+ _context2.next = 2;
77
+ return this.layer.buildLayerModel({
78
+ moduleName: 'polygonWater',
79
+ vertexShader: water_vert,
80
+ fragmentShader: water_frag,
81
+ triangulation: polygonTriangulation,
82
+ primitive: gl.TRIANGLES,
83
+ depth: {
84
+ enable: false
85
+ }
86
+ });
87
+ case 2:
88
+ model = _context2.sent;
89
+ return _context2.abrupt("return", [model]);
90
+ case 4:
91
+ case "end":
92
+ return _context2.stop();
113
93
  }
114
94
  }, _callee2, this);
115
95
  }));
116
-
117
96
  function buildModels() {
118
97
  return _buildModels.apply(this, arguments);
119
98
  }
120
-
121
99
  return buildModels;
122
100
  }()
123
101
  }, {
124
102
  key: "clearModels",
125
103
  value: function clearModels() {
126
104
  var _this$texture;
127
-
128
105
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
129
106
  }
130
107
  }, {
131
108
  key: "registerBuiltinAttributes",
132
109
  value: function registerBuiltinAttributes() {
133
110
  var bbox = this.layer.getSource().extent;
134
-
135
111
  var _bbox = _slicedToArray(bbox, 4),
136
- minLng = _bbox[0],
137
- minLat = _bbox[1],
138
- maxLng = _bbox[2],
139
- maxLat = _bbox[3];
140
-
112
+ minLng = _bbox[0],
113
+ minLat = _bbox[1],
114
+ maxLng = _bbox[2],
115
+ maxLat = _bbox[3];
141
116
  var lngLen = maxLng - minLng;
142
117
  var latLen = maxLat - minLat;
143
118
  this.styleAttributeService.registerStyleAttribute({
@@ -154,11 +129,9 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
154
129
  size: 2,
155
130
  update: function update(feature, featureIdx, vertex, attributeIdx) {
156
131
  var v = feature.version === Version['GAODE2.x'] ? feature.originCoordinates[0][attributeIdx] : vertex;
157
-
158
132
  var _v = _slicedToArray(v, 2),
159
- lng = _v[0],
160
- lat = _v[1];
161
-
133
+ lng = _v[0],
134
+ lat = _v[1];
162
135
  return [(lng - minLng) / lngLen, (lat - minLat) / latLen];
163
136
  }
164
137
  }
@@ -168,10 +141,8 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
168
141
  key: "loadTexture",
169
142
  value: function loadTexture() {
170
143
  var _this = this;
171
-
172
144
  var _ref2 = this.layer.getLayerConfig(),
173
- waterTexture = _ref2.waterTexture;
174
-
145
+ waterTexture = _ref2.waterTexture;
175
146
  var createTexture2D = this.rendererService.createTexture2D;
176
147
  this.texture = createTexture2D({
177
148
  height: 0,
@@ -179,7 +150,6 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
179
150
  });
180
151
  var image = new Image();
181
152
  image.crossOrigin = '';
182
-
183
153
  if (waterTexture) {
184
154
  // custom texture
185
155
  console.warn('L7 recommend:https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ');
@@ -188,7 +158,6 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
188
158
  // default texture
189
159
  image.src = 'https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*EojwT4VzSiYAAAAAAAAAAAAAARQnAQ';
190
160
  }
191
-
192
161
  image.onload = function () {
193
162
  _this.texture = createTexture2D({
194
163
  data: image,
@@ -199,13 +168,10 @@ var WaterModel = /*#__PURE__*/function (_BaseModel) {
199
168
  min: gl.LINEAR,
200
169
  mag: gl.LINEAR
201
170
  });
202
-
203
171
  _this.layerService.reRender();
204
172
  };
205
173
  }
206
174
  }]);
207
-
208
175
  return WaterModel;
209
176
  }(BaseModel);
210
-
211
177
  export { WaterModel as default };
@@ -2,18 +2,16 @@
2
2
  import Martini from '@mapbox/martini';
3
3
  export function RasterTriangulation(parserData) {
4
4
  var data = parserData.data,
5
- width = parserData.width,
6
- height = parserData.height;
5
+ width = parserData.width,
6
+ height = parserData.height;
7
7
  var maxlength = Math.max(width, height);
8
8
  var gridSize = Math.pow(2, Math.ceil(Math.log2(maxlength))) + 1;
9
9
  var terrain = new Float32Array(gridSize * gridSize);
10
-
11
10
  for (var i = 0; i < width; i++) {
12
11
  for (var j = 0; j < height; j++) {
13
12
  terrain[i * gridSize + j] = data[i * width + j];
14
13
  }
15
14
  }
16
-
17
15
  var martini = new Martini(gridSize);
18
16
  var tile = martini.createTile(terrain);
19
17
  var mesh = tile.getMesh(gridSize / 2);
@@ -7,61 +7,44 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
-
11
10
  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); }; }
12
-
13
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; } }
14
-
15
12
  import BaseLayer from "../core/BaseLayer";
16
13
  import RasterModels from "./models/index";
17
-
18
14
  var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
19
15
  _inherits(RaterLayer, _BaseLayer);
20
-
21
16
  var _super = _createSuper(RaterLayer);
22
-
23
17
  function RaterLayer() {
24
18
  var _this;
25
-
26
19
  _classCallCheck(this, RaterLayer);
27
-
28
20
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29
21
  args[_key] = arguments[_key];
30
22
  }
31
-
32
23
  _this = _super.call.apply(_super, [this].concat(args));
33
-
34
24
  _defineProperty(_assertThisInitialized(_this), "type", 'RasterLayer');
35
-
36
25
  return _this;
37
26
  }
38
-
39
27
  _createClass(RaterLayer, [{
40
28
  key: "buildModels",
41
29
  value: function () {
42
30
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
43
31
  var modelType;
44
32
  return _regeneratorRuntime.wrap(function _callee$(_context) {
45
- while (1) {
46
- switch (_context.prev = _context.next) {
47
- case 0:
48
- modelType = this.getModelType();
49
- this.layerModel = new RasterModels[modelType](this);
50
- _context.next = 4;
51
- return this.initLayerModels();
52
-
53
- case 4:
54
- case "end":
55
- return _context.stop();
56
- }
33
+ while (1) switch (_context.prev = _context.next) {
34
+ case 0:
35
+ modelType = this.getModelType();
36
+ this.layerModel = new RasterModels[modelType](this);
37
+ _context.next = 4;
38
+ return this.initLayerModels();
39
+ case 4:
40
+ case "end":
41
+ return _context.stop();
57
42
  }
58
43
  }, _callee, this);
59
44
  }));
60
-
61
45
  function buildModels() {
62
46
  return _buildModels.apply(this, arguments);
63
47
  }
64
-
65
48
  return buildModels;
66
49
  }()
67
50
  }, {
@@ -81,24 +64,18 @@ var RaterLayer = /*#__PURE__*/function (_BaseLayer) {
81
64
  value: function getModelType() {
82
65
  // 根据 source 的类型判断 model type
83
66
  var parserType = this.layerSource.getParserType();
84
-
85
67
  switch (parserType) {
86
68
  case 'raster':
87
69
  return 'raster';
88
-
89
70
  case 'rasterRgb':
90
71
  return 'rasterRgb';
91
-
92
72
  case 'image':
93
73
  return 'rasterTerrainRgb';
94
-
95
74
  default:
96
75
  return 'raster';
97
76
  }
98
77
  }
99
78
  }]);
100
-
101
79
  return RaterLayer;
102
80
  }(BaseLayer);
103
-
104
81
  export { RaterLayer as default };
@@ -5,48 +5,37 @@ 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_2d_frag.glsl' */
19
15
  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";
20
-
21
16
  /* babel-plugin-inline-import '../shaders/raster_2d_vert.glsl' */
22
17
  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";
23
-
24
18
  var RasterModel = /*#__PURE__*/function (_BaseModel) {
25
19
  _inherits(RasterModel, _BaseModel);
26
-
27
20
  var _super = _createSuper(RasterModel);
28
-
29
21
  function RasterModel() {
30
22
  _classCallCheck(this, RasterModel);
31
-
32
23
  return _super.apply(this, arguments);
33
24
  }
34
-
35
25
  _createClass(RasterModel, [{
36
26
  key: "getUninforms",
37
27
  value: function getUninforms() {
38
28
  var _ref = this.layer.getLayerConfig(),
39
- _ref$opacity = _ref.opacity,
40
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
41
- _ref$clampLow = _ref.clampLow,
42
- clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
43
- _ref$clampHigh = _ref.clampHigh,
44
- clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
45
- _ref$noDataValue = _ref.noDataValue,
46
- noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
47
- domain = _ref.domain,
48
- rampColors = _ref.rampColors;
49
-
29
+ _ref$opacity = _ref.opacity,
30
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
31
+ _ref$clampLow = _ref.clampLow,
32
+ clampLow = _ref$clampLow === void 0 ? true : _ref$clampLow,
33
+ _ref$clampHigh = _ref.clampHigh,
34
+ clampHigh = _ref$clampHigh === void 0 ? true : _ref$clampHigh,
35
+ _ref$noDataValue = _ref.noDataValue,
36
+ noDataValue = _ref$noDataValue === void 0 ? -9999999 : _ref$noDataValue,
37
+ domain = _ref.domain,
38
+ rampColors = _ref.rampColors;
50
39
  var newdomain = domain || getDefaultDomain(rampColors);
51
40
  this.colorTexture = this.layer.textureService.getColorTexture(rampColors, newdomain);
52
41
  return {
@@ -64,49 +53,40 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
64
53
  value: function () {
65
54
  var _getRasterData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(parserDataItem) {
66
55
  var _yield$parserDataItem, rasterData, width, height;
67
-
68
56
  return _regeneratorRuntime.wrap(function _callee$(_context) {
69
- while (1) {
70
- switch (_context.prev = _context.next) {
71
- case 0:
72
- if (!Array.isArray(parserDataItem.data)) {
73
- _context.next = 4;
74
- break;
75
- }
76
-
77
- return _context.abrupt("return", {
78
- data: parserDataItem.data,
79
- width: parserDataItem.width,
80
- height: parserDataItem.height
81
- });
82
-
83
- case 4:
84
- _context.next = 6;
85
- return parserDataItem.data;
86
-
87
- case 6:
88
- _yield$parserDataItem = _context.sent;
89
- rasterData = _yield$parserDataItem.rasterData;
90
- width = _yield$parserDataItem.width;
91
- height = _yield$parserDataItem.height;
92
- return _context.abrupt("return", {
93
- data: Array.from(rasterData),
94
- width: width,
95
- height: height
96
- });
97
-
98
- case 11:
99
- case "end":
100
- return _context.stop();
101
- }
57
+ while (1) switch (_context.prev = _context.next) {
58
+ case 0:
59
+ if (!Array.isArray(parserDataItem.data)) {
60
+ _context.next = 4;
61
+ break;
62
+ }
63
+ return _context.abrupt("return", {
64
+ data: parserDataItem.data,
65
+ width: parserDataItem.width,
66
+ height: parserDataItem.height
67
+ });
68
+ case 4:
69
+ _context.next = 6;
70
+ return parserDataItem.data;
71
+ case 6:
72
+ _yield$parserDataItem = _context.sent;
73
+ rasterData = _yield$parserDataItem.rasterData;
74
+ width = _yield$parserDataItem.width;
75
+ height = _yield$parserDataItem.height;
76
+ return _context.abrupt("return", {
77
+ data: Array.from(rasterData),
78
+ width: width,
79
+ height: height
80
+ });
81
+ case 11:
82
+ case "end":
83
+ return _context.stop();
102
84
  }
103
85
  }, _callee);
104
86
  }));
105
-
106
87
  function getRasterData(_x) {
107
88
  return _getRasterData.apply(this, arguments);
108
89
  }
109
-
110
90
  return getRasterData;
111
91
  }()
112
92
  }, {
@@ -114,58 +94,50 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
114
94
  value: function () {
115
95
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
116
96
  var source, createTexture2D, parserDataItem, _yield$this$getRaster, data, width, height, model;
117
-
118
97
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
119
- while (1) {
120
- switch (_context2.prev = _context2.next) {
121
- case 0:
122
- source = this.layer.getSource();
123
- createTexture2D = this.rendererService.createTexture2D;
124
- parserDataItem = source.data.dataArray[0];
125
- _context2.next = 5;
126
- return this.getRasterData(parserDataItem);
127
-
128
- case 5:
129
- _yield$this$getRaster = _context2.sent;
130
- data = _yield$this$getRaster.data;
131
- width = _yield$this$getRaster.width;
132
- height = _yield$this$getRaster.height;
133
- this.texture = createTexture2D({
134
- data: data,
135
- width: width,
136
- height: height,
137
- format: gl.LUMINANCE,
138
- type: gl.FLOAT // aniso: 4,
139
-
140
- });
141
- _context2.next = 12;
142
- return this.layer.buildLayerModel({
143
- moduleName: 'rasterImageData',
144
- vertexShader: rasterVert,
145
- fragmentShader: rasterFrag,
146
- triangulation: RasterImageTriangulation,
147
- primitive: gl.TRIANGLES,
148
- depth: {
149
- enable: false
150
- }
151
- });
152
-
153
- case 12:
154
- model = _context2.sent;
155
- return _context2.abrupt("return", [model]);
156
-
157
- case 14:
158
- case "end":
159
- return _context2.stop();
160
- }
98
+ while (1) switch (_context2.prev = _context2.next) {
99
+ case 0:
100
+ source = this.layer.getSource();
101
+ createTexture2D = this.rendererService.createTexture2D;
102
+ parserDataItem = source.data.dataArray[0];
103
+ _context2.next = 5;
104
+ return this.getRasterData(parserDataItem);
105
+ case 5:
106
+ _yield$this$getRaster = _context2.sent;
107
+ data = _yield$this$getRaster.data;
108
+ width = _yield$this$getRaster.width;
109
+ height = _yield$this$getRaster.height;
110
+ this.texture = createTexture2D({
111
+ data: data,
112
+ width: width,
113
+ height: height,
114
+ format: gl.LUMINANCE,
115
+ type: gl.FLOAT
116
+ // aniso: 4,
117
+ });
118
+ _context2.next = 12;
119
+ return this.layer.buildLayerModel({
120
+ moduleName: 'rasterImageData',
121
+ vertexShader: rasterVert,
122
+ fragmentShader: rasterFrag,
123
+ triangulation: RasterImageTriangulation,
124
+ primitive: gl.TRIANGLES,
125
+ depth: {
126
+ enable: false
127
+ }
128
+ });
129
+ case 12:
130
+ model = _context2.sent;
131
+ return _context2.abrupt("return", [model]);
132
+ case 14:
133
+ case "end":
134
+ return _context2.stop();
161
135
  }
162
136
  }, _callee2, this);
163
137
  }));
164
-
165
138
  function initModels() {
166
139
  return _initModels.apply(this, arguments);
167
140
  }
168
-
169
141
  return initModels;
170
142
  }()
171
143
  }, {
@@ -173,30 +145,24 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
173
145
  value: function () {
174
146
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
175
147
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
176
- while (1) {
177
- switch (_context3.prev = _context3.next) {
178
- case 0:
179
- return _context3.abrupt("return", this.initModels());
180
-
181
- case 1:
182
- case "end":
183
- return _context3.stop();
184
- }
148
+ while (1) switch (_context3.prev = _context3.next) {
149
+ case 0:
150
+ return _context3.abrupt("return", this.initModels());
151
+ case 1:
152
+ case "end":
153
+ return _context3.stop();
185
154
  }
186
155
  }, _callee3, this);
187
156
  }));
188
-
189
157
  function buildModels() {
190
158
  return _buildModels.apply(this, arguments);
191
159
  }
192
-
193
160
  return buildModels;
194
161
  }()
195
162
  }, {
196
163
  key: "clearModels",
197
164
  value: function clearModels() {
198
165
  var _this$texture, _this$colorTexture;
199
-
200
166
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
201
167
  (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
202
168
  }
@@ -223,8 +189,6 @@ var RasterModel = /*#__PURE__*/function (_BaseModel) {
223
189
  });
224
190
  }
225
191
  }]);
226
-
227
192
  return RasterModel;
228
193
  }(BaseModel);
229
-
230
194
  export { RasterModel as default };