@antv/l7-layers 2.8.44 → 2.9.1

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 (171) hide show
  1. package/es/core/BaseLayer.d.ts +3 -1
  2. package/es/core/BaseLayer.js +23 -3
  3. package/es/core/BaseLayer.js.map +1 -1
  4. package/es/core/BaseModel.d.ts +2 -1
  5. package/es/core/BaseModel.js +3 -0
  6. package/es/core/BaseModel.js.map +1 -1
  7. package/es/core/interface.d.ts +12 -0
  8. package/es/core/interface.js.map +1 -1
  9. package/es/image/models/image.js.map +1 -1
  10. package/es/line/index.d.ts +1 -1
  11. package/es/line/index.js +7 -1
  12. package/es/line/index.js.map +1 -1
  13. package/es/line/models/index.d.ts +1 -1
  14. package/es/line/models/index.js +5 -1
  15. package/es/line/models/index.js.map +1 -1
  16. package/es/line/models/tile.d.ts +20 -0
  17. package/es/line/models/tile.js +327 -0
  18. package/es/line/models/tile.js.map +1 -0
  19. package/es/plugins/ShaderUniformPlugin.js +3 -1
  20. package/es/plugins/ShaderUniformPlugin.js.map +1 -1
  21. package/es/point/index.d.ts +1 -1
  22. package/es/point/index.js +8 -2
  23. package/es/point/index.js.map +1 -1
  24. package/es/point/models/index.d.ts +1 -1
  25. package/es/point/models/index.js +5 -1
  26. package/es/point/models/index.js.map +1 -1
  27. package/es/point/models/tile.d.ts +31 -0
  28. package/es/point/models/tile.js +291 -0
  29. package/es/point/models/tile.js.map +1 -0
  30. package/es/polygon/index.js +6 -0
  31. package/es/polygon/index.js.map +1 -1
  32. package/es/polygon/models/index.d.ts +1 -1
  33. package/es/polygon/models/index.js +5 -1
  34. package/es/polygon/models/index.js.map +1 -1
  35. package/es/polygon/models/tile.d.ts +16 -0
  36. package/es/polygon/models/tile.js +137 -0
  37. package/es/polygon/models/tile.js.map +1 -0
  38. package/es/raster/index.d.ts +2 -2
  39. package/es/raster/index.js +4 -4
  40. package/es/raster/index.js.map +1 -1
  41. package/es/raster/models/index.js +1 -1
  42. package/es/raster/models/index.js.map +1 -1
  43. package/es/raster/models/raster.d.ts +1 -0
  44. package/es/raster/models/raster.js +8 -2
  45. package/es/raster/models/raster.js.map +1 -1
  46. package/es/tile/interface.d.ts +28 -0
  47. package/es/tile/interface.js +2 -0
  48. package/es/tile/interface.js.map +1 -0
  49. package/es/tile/manager/tileConfigManager.d.ts +17 -0
  50. package/es/tile/manager/tileConfigManager.js +123 -0
  51. package/es/tile/manager/tileConfigManager.js.map +1 -0
  52. package/es/tile/manager/tileLayerManager.d.ts +34 -0
  53. package/es/tile/manager/tileLayerManager.js +283 -0
  54. package/es/tile/manager/tileLayerManager.js.map +1 -0
  55. package/es/tile/manager/tilePickerManager.d.ts +20 -0
  56. package/es/tile/manager/tilePickerManager.js +167 -0
  57. package/es/tile/manager/tilePickerManager.js.map +1 -0
  58. package/es/tile/models/tileModel.d.ts +8 -0
  59. package/es/tile/models/tileModel.js +61 -0
  60. package/es/tile/models/tileModel.js.map +1 -0
  61. package/es/tile/tileFactory/base.d.ts +40 -0
  62. package/es/tile/tileFactory/base.js +352 -0
  63. package/es/tile/tileFactory/base.js.map +1 -0
  64. package/es/tile/tileFactory/index.d.ts +5 -0
  65. package/es/tile/tileFactory/index.js +30 -0
  66. package/es/tile/tileFactory/index.js.map +1 -0
  67. package/es/tile/tileFactory/line.d.ts +12 -0
  68. package/es/tile/tileFactory/line.js +65 -0
  69. package/es/tile/tileFactory/line.js.map +1 -0
  70. package/es/tile/tileFactory/point.d.ts +12 -0
  71. package/es/tile/tileFactory/point.js +65 -0
  72. package/es/tile/tileFactory/point.js.map +1 -0
  73. package/es/tile/tileFactory/polygon.d.ts +12 -0
  74. package/es/tile/tileFactory/polygon.js +65 -0
  75. package/es/tile/tileFactory/polygon.js.map +1 -0
  76. package/es/tile/tileFactory/raster.d.ts +12 -0
  77. package/es/tile/tileFactory/raster.js +61 -0
  78. package/es/tile/tileFactory/raster.js.map +1 -0
  79. package/es/tile/tileFactory/rasterData.d.ts +12 -0
  80. package/es/tile/tileFactory/rasterData.js +75 -0
  81. package/es/tile/tileFactory/rasterData.js.map +1 -0
  82. package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
  83. package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
  84. package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
  85. package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
  86. package/es/tile/tileFactory/vectorLayer.js +131 -0
  87. package/es/tile/tileFactory/vectorLayer.js.map +1 -0
  88. package/es/tile/tileLayer/baseTileLayer.d.ts +51 -0
  89. package/es/tile/tileLayer/baseTileLayer.js +409 -0
  90. package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
  91. package/es/tile/tmsTileLayer.d.ts +7 -0
  92. package/es/tile/tmsTileLayer.js +100 -0
  93. package/es/tile/tmsTileLayer.js.map +1 -0
  94. package/es/tile/utils.d.ts +11 -0
  95. package/es/tile/utils.js +120 -0
  96. package/es/tile/utils.js.map +1 -0
  97. package/lib/core/BaseLayer.js +21 -2
  98. package/lib/core/BaseLayer.js.map +1 -1
  99. package/lib/core/BaseModel.js +2 -0
  100. package/lib/core/BaseModel.js.map +1 -1
  101. package/lib/core/interface.js.map +1 -1
  102. package/lib/image/models/image.js.map +1 -1
  103. package/lib/line/index.js +7 -1
  104. package/lib/line/index.js.map +1 -1
  105. package/lib/line/models/index.js +7 -1
  106. package/lib/line/models/index.js.map +1 -1
  107. package/lib/line/models/tile.js +342 -0
  108. package/lib/line/models/tile.js.map +1 -0
  109. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  110. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  111. package/lib/point/index.js +8 -2
  112. package/lib/point/index.js.map +1 -1
  113. package/lib/point/models/index.js +7 -1
  114. package/lib/point/models/index.js.map +1 -1
  115. package/lib/point/models/tile.js +308 -0
  116. package/lib/point/models/tile.js.map +1 -0
  117. package/lib/polygon/index.js +6 -0
  118. package/lib/polygon/index.js.map +1 -1
  119. package/lib/polygon/models/index.js +7 -1
  120. package/lib/polygon/models/index.js.map +1 -1
  121. package/lib/polygon/models/tile.js +152 -0
  122. package/lib/polygon/models/tile.js.map +1 -0
  123. package/lib/raster/index.js +4 -4
  124. package/lib/raster/index.js.map +1 -1
  125. package/lib/raster/models/index.js +2 -2
  126. package/lib/raster/models/index.js.map +1 -1
  127. package/lib/raster/models/raster.js +8 -2
  128. package/lib/raster/models/raster.js.map +1 -1
  129. package/lib/tile/interface.js +2 -0
  130. package/lib/tile/interface.js.map +1 -0
  131. package/lib/tile/manager/tileConfigManager.js +134 -0
  132. package/lib/tile/manager/tileConfigManager.js.map +1 -0
  133. package/lib/tile/manager/tileLayerManager.js +291 -0
  134. package/lib/tile/manager/tileLayerManager.js.map +1 -0
  135. package/lib/tile/manager/tilePickerManager.js +173 -0
  136. package/lib/tile/manager/tilePickerManager.js.map +1 -0
  137. package/lib/tile/models/tileModel.js +73 -0
  138. package/lib/tile/models/tileModel.js.map +1 -0
  139. package/lib/tile/tileFactory/base.js +366 -0
  140. package/lib/tile/tileFactory/base.js.map +1 -0
  141. package/lib/tile/tileFactory/index.js +60 -0
  142. package/lib/tile/tileFactory/index.js.map +1 -0
  143. package/lib/tile/tileFactory/line.js +76 -0
  144. package/lib/tile/tileFactory/line.js.map +1 -0
  145. package/lib/tile/tileFactory/point.js +76 -0
  146. package/lib/tile/tileFactory/point.js.map +1 -0
  147. package/lib/tile/tileFactory/polygon.js +76 -0
  148. package/lib/tile/tileFactory/polygon.js.map +1 -0
  149. package/lib/tile/tileFactory/raster.js +74 -0
  150. package/lib/tile/tileFactory/raster.js.map +1 -0
  151. package/lib/tile/tileFactory/rasterData.js +88 -0
  152. package/lib/tile/tileFactory/rasterData.js.map +1 -0
  153. package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
  154. package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
  155. package/lib/tile/tileFactory/vectorLayer.js +145 -0
  156. package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
  157. package/lib/tile/tileLayer/baseTileLayer.js +408 -0
  158. package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
  159. package/lib/tile/tmsTileLayer.js +116 -0
  160. package/lib/tile/tmsTileLayer.js.map +1 -0
  161. package/lib/tile/utils.js +142 -0
  162. package/lib/tile/utils.js.map +1 -0
  163. package/package.json +7 -5
  164. package/es/core/LayerGroup.d.ts +0 -9
  165. package/es/core/LayerGroup.js.map +0 -1
  166. package/es/raster/models/raste-tile.d.ts +0 -23
  167. package/es/raster/models/raste-tile.js +0 -285
  168. package/es/raster/models/raste-tile.js.map +0 -1
  169. package/lib/core/LayerGroup.js.map +0 -1
  170. package/lib/raster/models/raste-tile.js +0 -294
  171. package/lib/raster/models/raste-tile.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/polygon/models/index.ts"],"names":["LineModel","PointExtrudeModel","PointFillModel","IMageModel","NormalModel","TextModel","ExtrudeModel","FillModel","Ocean","Water","PolygonModels","fill","line","extrude","text","point_fill","point_image","point_normal","point_extrude","water","ocean"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,wBAAtB;AACA,OAAOC,iBAAP,MAA8B,4BAA9B;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,UAAP,MAAuB,0BAAvB;AACA,OAAOC,WAAP,MAAwB,2BAAxB;AACA,OAAOC,SAAP,MAAsB,yBAAtB;AACA,OAAOC,YAAP,MAAyB,WAAzB;AACA,OAAOC,SAAP,MAAsB,QAAtB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AAcA,IAAMC,aAAiD,GAAG;AACxDC,EAAAA,IAAI,EAAEJ,SADkD;AAExDK,EAAAA,IAAI,EAAEZ,SAFkD;AAGxDa,EAAAA,OAAO,EAAEP,YAH+C;AAIxDQ,EAAAA,IAAI,EAAET,SAJkD;AAKxDU,EAAAA,UAAU,EAAEb,cAL4C;AAMxDc,EAAAA,WAAW,EAAEb,UAN2C;AAOxDc,EAAAA,YAAY,EAAEb,WAP0C;AAQxDc,EAAAA,aAAa,EAAEjB,iBARyC;AASxDkB,EAAAA,KAAK,EAAEV,KATiD;AAUxDW,EAAAA,KAAK,EAAEZ;AAViD,CAA1D;AAaA,eAAeE,aAAf","sourcesContent":["import LineModel from '../../line/models/line';\nimport PointExtrudeModel from '../../point/models/extrude';\nimport PointFillModel from '../../point/models/fill';\nimport IMageModel from '../../point/models/image';\nimport NormalModel from '../../point/models/normal';\nimport TextModel from '../../point/models/text';\nimport ExtrudeModel from './extrude';\nimport FillModel from './fill';\nimport Ocean from './ocean';\nimport Water from './water';\n\nexport type PolygonModelType =\n | 'fill'\n | 'extrude'\n | 'line'\n | 'point_fill'\n | 'point_image'\n | 'point_normal'\n | 'point_extrude'\n | 'text'\n | 'water'\n | 'ocean';\n\nconst PolygonModels: { [key in PolygonModelType]: any } = {\n fill: FillModel,\n line: LineModel,\n extrude: ExtrudeModel,\n text: TextModel,\n point_fill: PointFillModel,\n point_image: IMageModel,\n point_normal: NormalModel,\n point_extrude: PointExtrudeModel,\n water: Water,\n ocean: Ocean,\n // point_fill: PointModels.fill,\n};\nexport default PolygonModels;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/polygon/models/index.ts"],"names":["LineModel","PointExtrudeModel","PointFillModel","IMageModel","NormalModel","TextModel","PolygonTileModel","ExtrudeModel","FillModel","Ocean","TilePolygonModel","Water","PolygonModels","fill","line","extrude","text","point_fill","point_image","point_normal","point_extrude","water","ocean","vectorpolygon","tile"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,wBAAtB;AACA,OAAOC,iBAAP,MAA8B,4BAA9B;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,UAAP,MAAuB,0BAAvB;AACA,OAAOC,WAAP,MAAwB,2BAAxB;AACA,OAAOC,SAAP,MAAsB,yBAAtB;AACA,OAAOC,gBAAP,MAA6B,6BAA7B;AACA,OAAOC,YAAP,MAAyB,WAAzB;AACA,OAAOC,SAAP,MAAsB,QAAtB;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,OAAOC,gBAAP,MAA6B,QAA7B;AACA,OAAOC,KAAP,MAAkB,SAAlB;AAgBA,IAAMC,aAAiD,GAAG;AACxDC,EAAAA,IAAI,EAAEL,SADkD;AAExDM,EAAAA,IAAI,EAAEd,SAFkD;AAGxDe,EAAAA,OAAO,EAAER,YAH+C;AAIxDS,EAAAA,IAAI,EAAEX,SAJkD;AAKxDY,EAAAA,UAAU,EAAEf,cAL4C;AAMxDgB,EAAAA,WAAW,EAAEf,UAN2C;AAOxDgB,EAAAA,YAAY,EAAEf,WAP0C;AAQxDgB,EAAAA,aAAa,EAAEnB,iBARyC;AASxDoB,EAAAA,KAAK,EAAEV,KATiD;AAUxDW,EAAAA,KAAK,EAAEb,KAViD;AAYxDc,EAAAA,aAAa,EAAEjB,gBAZyC;AAaxDkB,EAAAA,IAAI,EAAEd;AAbkD,CAA1D;AAeA,eAAeE,aAAf","sourcesContent":["import LineModel from '../../line/models/line';\nimport PointExtrudeModel from '../../point/models/extrude';\nimport PointFillModel from '../../point/models/fill';\nimport IMageModel from '../../point/models/image';\nimport NormalModel from '../../point/models/normal';\nimport TextModel from '../../point/models/text';\nimport PolygonTileModel from '../../tile/models/tileModel';\nimport ExtrudeModel from './extrude';\nimport FillModel from './fill';\nimport Ocean from './ocean';\nimport TilePolygonModel from './tile';\nimport Water from './water';\n\nexport type PolygonModelType =\n | 'fill'\n | 'extrude'\n | 'line'\n | 'point_fill'\n | 'point_image'\n | 'point_normal'\n | 'point_extrude'\n | 'text'\n | 'water'\n | 'ocean'\n | 'vectorpolygon'\n | 'tile';\n\nconst PolygonModels: { [key in PolygonModelType]: any } = {\n fill: FillModel,\n line: LineModel,\n extrude: ExtrudeModel,\n text: TextModel,\n point_fill: PointFillModel,\n point_image: IMageModel,\n point_normal: NormalModel,\n point_extrude: PointExtrudeModel,\n water: Water,\n ocean: Ocean,\n // point_fill: PointModels.fill,\n vectorpolygon: PolygonTileModel,\n tile: TilePolygonModel,\n};\nexport default PolygonModels;\n"],"file":"index.js"}
@@ -0,0 +1,16 @@
1
+ import { IModel } from '@antv/l7-core';
2
+ import BaseModel from '../../core/BaseModel';
3
+ export default class FillModel extends BaseModel {
4
+ getUninforms(): {
5
+ u_tileOrigin: number[];
6
+ u_coord: number;
7
+ u_dataTexture: import("@antv/l7-core").ITexture2D;
8
+ u_cellTypeLayout: number[];
9
+ u_opacity: number;
10
+ };
11
+ initModels(): IModel[];
12
+ buildModels(): IModel[];
13
+ clearModels(): void;
14
+ protected registerBuiltinAttributes(): void;
15
+ private getModelParams;
16
+ }
@@ -0,0 +1,137 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _inherits from "@babel/runtime/helpers/inherits";
4
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
+
7
+ 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); }; }
8
+
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; } }
10
+
11
+ import { gl } from '@antv/l7-core';
12
+ import { getMask } from '@antv/l7-utils';
13
+ import BaseModel from '../../core/BaseModel';
14
+ import { polygonTriangulation } from '../../core/triangulation';
15
+ var polygon_tile_frag = "uniform float u_opacity: 1.0;\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = styleMappingMat[0][0];\n gl_FragColor = v_Color;\n gl_FragColor.a *= opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
16
+ var polygon_tile_vert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nuniform float u_opacity: 1.0;\n\nuniform vec2 u_tileOrigin;\nuniform float u_coord;\n\nvarying vec4 v_Color;\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\nstyleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n\n v_Color = a_Color;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n project_pos.z *= mapboxZoomScale;\n }\n\nif(u_coord > 0.0) {\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} else {\n vec2 pointPos = a_Position.xy;\n vec4 world = vec4(project_mvt_offset_position(vec4(u_tileOrigin, 0.0, 1.0)).xyz, 1.0); // \u74E6\u7247\u8D77\u59CB\u70B9\u7684\u4E16\u754C\u5750\u6807\n\n vec2 pointOffset = pointPos * pow(2.0, u_Zoom); // \u74E6\u7247\u5185\u7684\u70B9\u7684\u504F\u79FB\u5750\u6807\n \n world.xy += pointOffset;\n\n if (u_CoordinateSystem == COORDINATE_SYSTEM_METER_OFFSET || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n // Needs to be divided with project_uCommonUnitsPerMeter\n world.w *= u_PixelsPerMeter.z;\n }\n\n gl_Position = u_ViewProjectionMatrix * world + u_ViewportCenterProjection;\n}\n\n\n setPickingColor(a_PickingColor);\n}\n\n";
17
+
18
+ var FillModel = function (_BaseModel) {
19
+ _inherits(FillModel, _BaseModel);
20
+
21
+ var _super = _createSuper(FillModel);
22
+
23
+ function FillModel() {
24
+ _classCallCheck(this, FillModel);
25
+
26
+ return _super.apply(this, arguments);
27
+ }
28
+
29
+ _createClass(FillModel, [{
30
+ key: "getUninforms",
31
+ value: function getUninforms() {
32
+ var _ref = this.layer.getLayerConfig(),
33
+ _ref$opacity = _ref.opacity,
34
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
35
+ tileOrigin = _ref.tileOrigin,
36
+ _ref$coord = _ref.coord,
37
+ coord = _ref$coord === void 0 ? 'lnglat' : _ref$coord;
38
+
39
+ if (this.dataTextureTest && this.dataTextureNeedUpdate({
40
+ opacity: opacity
41
+ })) {
42
+ this.judgeStyleAttributes({
43
+ opacity: opacity
44
+ });
45
+ var encodeData = this.layer.getEncodedData();
46
+
47
+ var _this$calDataFrame = this.calDataFrame(this.cellLength, encodeData, this.cellProperties),
48
+ data = _this$calDataFrame.data,
49
+ width = _this$calDataFrame.width,
50
+ height = _this$calDataFrame.height;
51
+
52
+ this.rowCount = height;
53
+ this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
54
+ flipY: true,
55
+ data: data,
56
+ format: gl.LUMINANCE,
57
+ type: gl.FLOAT,
58
+ width: width,
59
+ height: height
60
+ }) : this.createTexture2D({
61
+ flipY: true,
62
+ data: [1],
63
+ format: gl.LUMINANCE,
64
+ type: gl.FLOAT,
65
+ width: 1,
66
+ height: 1
67
+ });
68
+ }
69
+
70
+ return {
71
+ u_tileOrigin: tileOrigin || [0, 0],
72
+ u_coord: coord === 'lnglat' ? 1.0 : 0.0,
73
+ u_dataTexture: this.dataTexture,
74
+ u_cellTypeLayout: this.getCellTypeLayout(),
75
+ u_opacity: opacity
76
+ };
77
+ }
78
+ }, {
79
+ key: "initModels",
80
+ value: function initModels() {
81
+ return this.buildModels();
82
+ }
83
+ }, {
84
+ key: "buildModels",
85
+ value: function buildModels() {
86
+ var _this$getModelParams = this.getModelParams(),
87
+ frag = _this$getModelParams.frag,
88
+ vert = _this$getModelParams.vert,
89
+ triangulation = _this$getModelParams.triangulation,
90
+ type = _this$getModelParams.type;
91
+
92
+ var _ref2 = this.layer.getLayerConfig(),
93
+ _ref2$mask = _ref2.mask,
94
+ mask = _ref2$mask === void 0 ? false : _ref2$mask,
95
+ _ref2$maskInside = _ref2.maskInside,
96
+ maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
97
+
98
+ this.layer.triangulation = triangulation;
99
+ return [this.layer.buildLayerModel({
100
+ moduleName: type,
101
+ vertexShader: vert,
102
+ fragmentShader: frag,
103
+ triangulation: triangulation,
104
+ blend: this.getBlend(),
105
+ depth: {
106
+ enable: false
107
+ },
108
+ stencil: getMask(mask, maskInside)
109
+ })];
110
+ }
111
+ }, {
112
+ key: "clearModels",
113
+ value: function clearModels() {
114
+ var _this$dataTexture;
115
+
116
+ (_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
117
+ }
118
+ }, {
119
+ key: "registerBuiltinAttributes",
120
+ value: function registerBuiltinAttributes() {}
121
+ }, {
122
+ key: "getModelParams",
123
+ value: function getModelParams() {
124
+ return {
125
+ frag: polygon_tile_frag,
126
+ vert: polygon_tile_vert,
127
+ type: 'polygon_tile',
128
+ triangulation: polygonTriangulation
129
+ };
130
+ }
131
+ }]);
132
+
133
+ return FillModel;
134
+ }(BaseModel);
135
+
136
+ export { FillModel as default };
137
+ //# sourceMappingURL=tile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/polygon/models/tile.ts"],"names":["gl","getMask","BaseModel","polygonTriangulation","FillModel","layer","getLayerConfig","opacity","tileOrigin","coord","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","LUMINANCE","type","FLOAT","u_tileOrigin","u_coord","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","buildModels","getModelParams","frag","vert","triangulation","mask","maskInside","buildLayerModel","moduleName","vertexShader","fragmentShader","blend","getBlend","depth","enable","stencil","destroy","polygon_tile_frag","polygon_tile_vert"],"mappings":"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","sourcesContent":["import { gl, IModel, Triangulation } from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { polygonTriangulation } from '../../core/triangulation';\n\nimport polygon_tile_frag from '../shaders/tile/polygon_tile_frag.glsl';\nimport polygon_tile_vert from '../shaders/tile/polygon_tile_vert.glsl';\nexport default class FillModel extends BaseModel {\n public getUninforms() {\n const {\n opacity = 1,\n tileOrigin,\n coord = 'lnglat',\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_tileOrigin: tileOrigin || [0, 0],\n u_coord: coord === 'lnglat' ? 1.0 : 0.0,\n\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n\n u_opacity: opacity,\n };\n }\n\n public initModels(): IModel[] {\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const { frag, vert, triangulation, type } = this.getModelParams();\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n this.layer.triangulation = triangulation;\n return [\n this.layer.buildLayerModel({\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation,\n blend: this.getBlend(),\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n //\n }\n\n private getModelParams(): {\n frag: string;\n vert: string;\n type: string;\n triangulation: Triangulation;\n } {\n return {\n frag: polygon_tile_frag,\n vert: polygon_tile_vert,\n type: 'polygon_tile',\n triangulation: polygonTriangulation,\n };\n }\n}\n"],"file":"tile.js"}
@@ -1,7 +1,7 @@
1
+ import BaseLayer from '../core/BaseLayer';
1
2
  import { IRasterLayerStyleOptions } from '../core/interface';
2
- import LayerGroup from '../core/LayerGroup';
3
3
  import { RasterModelType } from './models/index';
4
- export default class RaterLayer extends LayerGroup<IRasterLayerStyleOptions> {
4
+ export default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {
5
5
  type: string;
6
6
  buildModels(): void;
7
7
  rebuildModels(): void;
@@ -10,11 +10,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
- import LayerGroup from '../core/LayerGroup';
13
+ import BaseLayer from '../core/BaseLayer';
14
14
  import RasterModels from './models/index';
15
15
 
16
- var RaterLayer = function (_LayerGroup) {
17
- _inherits(RaterLayer, _LayerGroup);
16
+ var RaterLayer = function (_BaseLayer) {
17
+ _inherits(RaterLayer, _BaseLayer);
18
18
 
19
19
  var _super = _createSuper(RaterLayer);
20
20
 
@@ -87,7 +87,7 @@ var RaterLayer = function (_LayerGroup) {
87
87
  }]);
88
88
 
89
89
  return RaterLayer;
90
- }(LayerGroup);
90
+ }(BaseLayer);
91
91
 
92
92
  export { RaterLayer as default };
93
93
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/raster/index.ts"],"names":["LayerGroup","RasterModels","RaterLayer","modelType","getModelType","layerModel","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d","rasterTile","layerSource","parser"],"mappings":";;;;;;;;;;;;AACA,OAAOA,UAAP,MAAuB,oBAAvB;AACA,OAAOC,YAAP,MAA8C,gBAA9C;;IACqBC,U;;;;;;;;;;;;;;;;2DACG,a;;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,YAAY,CAACE,SAAD,CAAhB,CAA4B,IAA5B,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKD,UAAL,CAAgBG,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKP,YAAL,EAAb;AACA,UAAMU,aAAa,GAAG;AACpBC,QAAAA,MAAM,EAAE,EADY;AAEpBC,QAAAA,QAAQ,EAAE,EAFU;AAGpBC,QAAAA,UAAU,EAAE;AAHQ,OAAtB;AAKA,aAAOH,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA0C;AAExC,cAAQ,KAAKO,WAAL,CAAiBC,MAAjB,CAAwBR,IAAhC;AACE,aAAK,QAAL;AACE,iBAAO,QAAP;;AACF,aAAK,YAAL;AACE,iBAAO,YAAP;;AACF;AACE,iBAAO,QAAP;AANJ;AASD;;;;EA1CqCX,U;;SAAnBE,U","sourcesContent":["import { IRasterLayerStyleOptions } from '../core/interface';\nimport LayerGroup from '../core/LayerGroup';\nimport RasterModels, { RasterModelType } from './models/index';\nexport default class RaterLayer extends LayerGroup<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new RasterModels[modelType](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n raster: {},\n raster3d: {},\n rasterTile: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): RasterModelType {\n // 根据 source 的类型判断 model type\n switch (this.layerSource.parser.type) {\n case 'raster':\n return 'raster';\n case 'rasterTile':\n return 'rasterTile';\n default:\n return 'raster';\n }\n // return 'raster';\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/raster/index.ts"],"names":["BaseLayer","RasterModels","RaterLayer","modelType","getModelType","layerModel","models","initModels","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","raster","raster3d","rasterTile","layerSource","parser"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,SAAP,MAAsB,mBAAtB;AAEA,OAAOC,YAAP,MAA8C,gBAA9C;;IACqBC,U;;;;;;;;;;;;;;;;2DACG,a;;;;;;;WACtB,uBAAqB;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIJ,YAAY,CAACE,SAAD,CAAhB,CAA4B,IAA5B,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKD,UAAL,CAAgBG,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKP,YAAL,EAAb;AACA,UAAMU,aAAa,GAAG;AACpBC,QAAAA,MAAM,EAAE,EADY;AAEpBC,QAAAA,QAAQ,EAAE,EAFU;AAGpBC,QAAAA,UAAU,EAAE;AAHQ,OAAtB;AAKA,aAAOH,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAA0C;AAExC,cAAQ,KAAKO,WAAL,CAAiBC,MAAjB,CAAwBR,IAAhC;AACE,aAAK,QAAL;AACE,iBAAO,QAAP;;AACF,aAAK,YAAL;AACE,iBAAO,YAAP;;AACF;AACE,iBAAO,QAAP;AANJ;AASD;;;;EA1CqCX,S;;SAAnBE,U","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport { IRasterLayerStyleOptions } from '../core/interface';\nimport RasterModels, { RasterModelType } from './models/index';\nexport default class RaterLayer extends BaseLayer<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new RasterModels[modelType](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n raster: {},\n raster3d: {},\n rasterTile: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): RasterModelType {\n // 根据 source 的类型判断 model type\n switch (this.layerSource.parser.type) {\n case 'raster':\n return 'raster';\n case 'rasterTile':\n return 'rasterTile';\n default:\n return 'raster';\n }\n // return 'raster';\n }\n}\n"],"file":"index.js"}
@@ -1,4 +1,4 @@
1
- import RasterTileModel from './raste-tile';
1
+ import RasterTileModel from '../../tile/models/tileModel';
2
2
  import RasterModel from './raster';
3
3
  var RasterModels = {
4
4
  raster: RasterModel,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterTileModel","RasterModel","RasterModels","raster","raster3d","rasterTile"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,cAA5B;AACA,OAAOC,WAAP,MAAwB,UAAxB;AAGA,IAAMC,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEF,WAD8C;AAEtDG,EAAAA,QAAQ,EAAEH,WAF4C;AAGtDI,EAAAA,UAAU,EAAEL;AAH0C,CAAxD;AAMA,eAAeE,YAAf","sourcesContent":["import RasterTileModel from './raste-tile';\nimport RasterModel from './raster';\nexport type RasterModelType = 'raster' | 'raster3d' | 'rasterTile';\n\nconst RasterModels: { [key in RasterModelType]: any } = {\n raster: RasterModel,\n raster3d: RasterModel,\n rasterTile: RasterTileModel,\n};\n\nexport default RasterModels;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/raster/models/index.ts"],"names":["RasterTileModel","RasterModel","RasterModels","raster","raster3d","rasterTile"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,6BAA5B;AACA,OAAOC,WAAP,MAAwB,UAAxB;AAGA,IAAMC,YAA+C,GAAG;AACtDC,EAAAA,MAAM,EAAEF,WAD8C;AAEtDG,EAAAA,QAAQ,EAAEH,WAF4C;AAGtDI,EAAAA,UAAU,EAAEL;AAH0C,CAAxD;AAMA,eAAeE,YAAf","sourcesContent":["import RasterTileModel from '../../tile/models/tileModel';\nimport RasterModel from './raster';\nexport type RasterModelType = 'raster' | 'raster3d' | 'rasterTile';\n\nconst RasterModels: { [key in RasterModelType]: any } = {\n raster: RasterModel,\n raster3d: RasterModel,\n rasterTile: RasterTileModel,\n};\n\nexport default RasterModels;\n"],"file":"index.js"}
@@ -14,6 +14,7 @@ export default class RasterModel extends BaseModel {
14
14
  };
15
15
  initModels(): import("@antv/l7-core").IModel[];
16
16
  buildModels(): import("@antv/l7-core").IModel[];
17
+ clearModels(): void;
17
18
  protected registerBuiltinAttributes(): void;
18
19
  private updateColorTexure;
19
20
  }
@@ -69,8 +69,6 @@ var RasterModel = function (_BaseModel) {
69
69
  }, {
70
70
  key: "initModels",
71
71
  value: function initModels() {
72
- this.layer.isLayerGroup = false;
73
-
74
72
  var _ref2 = this.layer.getLayerConfig(),
75
73
  _ref2$mask = _ref2.mask,
76
74
  mask = _ref2$mask === void 0 ? false : _ref2$mask,
@@ -116,6 +114,14 @@ var RasterModel = function (_BaseModel) {
116
114
  value: function buildModels() {
117
115
  return this.initModels();
118
116
  }
117
+ }, {
118
+ key: "clearModels",
119
+ value: function clearModels() {
120
+ var _this$texture, _this$colorTexture;
121
+
122
+ (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
123
+ (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
124
+ }
119
125
  }, {
120
126
  key: "registerBuiltinAttributes",
121
127
  value: function registerBuiltinAttributes() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["AttributeType","gl","generateColorRamp","getMask","BaseModel","RasterImageTriangulation","RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","isLayerGroup","mask","maskInside","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","width","height","format","LUMINANCE","type","FLOAT","rampColors","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","initModels","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n ITexture2D,\n lazyInject,\n TYPES,\n} from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IRasterLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport rasterFrag from '../shaders/raster_2d_frag.glsl';\nimport rasterVert from '../shaders/raster_2d_vert.glsl';\nexport default class RasterModel extends BaseModel {\n protected texture: ITexture2D;\n protected colorTexture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n clampLow = true,\n clampHigh = true,\n noDataValue = -9999999,\n domain = [0, 1],\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n this.updateColorTexure();\n return {\n u_opacity: opacity || 1,\n u_texture: this.texture,\n u_domain: domain,\n u_clampLow: clampLow,\n u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,\n u_noDataValue: noDataValue,\n u_colorTexture: this.colorTexture,\n };\n }\n\n public initModels() {\n // 指定当前 layer 当作普通的 layer 进行渲染\n this.layer.isLayerGroup = false;\n\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const source = this.layer.getSource();\n const { createTexture2D } = this.rendererService;\n const parserDataItem = source.data.dataArray[0];\n this.texture = createTexture2D({\n data: parserDataItem.data,\n width: parserDataItem.width,\n height: parserDataItem.height,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n // aniso: 4,\n });\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n return [\n this.layer.buildLayerModel({\n moduleName: 'RasterImageData',\n vertexShader: rasterVert,\n fragmentShader: rasterFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public buildModels() {\n return this.initModels();\n }\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n\n private updateColorTexure() {\n const { createTexture2D } = this.rendererService;\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n }\n}\n"],"file":"raster.js"}
1
+ {"version":3,"sources":["../../../src/raster/models/raster.ts"],"names":["AttributeType","gl","generateColorRamp","getMask","BaseModel","RasterImageTriangulation","RasterModel","layer","getLayerConfig","opacity","clampLow","clampHigh","noDataValue","domain","updateColorTexure","u_opacity","u_texture","texture","u_domain","u_clampLow","u_clampHigh","u_noDataValue","u_colorTexture","colorTexture","mask","maskInside","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","width","height","format","LUMINANCE","type","FLOAT","rampColors","imageData","flipY","buildLayerModel","moduleName","vertexShader","rasterVert","fragmentShader","rasterFrag","triangulation","primitive","TRIANGLES","depth","enable","blend","getBlend","stencil","initModels","destroy","styleAttributeService","registerStyleAttribute","name","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n ITexture2D,\n lazyInject,\n TYPES,\n} from '@antv/l7-core';\nimport { generateColorRamp, getMask, IColorRamp } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IRasterLayerStyleOptions } from '../../core/interface';\nimport { RasterImageTriangulation } from '../../core/triangulation';\nimport rasterFrag from '../shaders/raster_2d_frag.glsl';\nimport rasterVert from '../shaders/raster_2d_vert.glsl';\nexport default class RasterModel extends BaseModel {\n protected texture: ITexture2D;\n protected colorTexture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n clampLow = true,\n clampHigh = true,\n noDataValue = -9999999,\n domain = [0, 1],\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n this.updateColorTexure();\n return {\n u_opacity: opacity || 1,\n u_texture: this.texture,\n u_domain: domain,\n u_clampLow: clampLow,\n u_clampHigh: typeof clampHigh !== 'undefined' ? clampHigh : clampLow,\n u_noDataValue: noDataValue,\n u_colorTexture: this.colorTexture,\n };\n }\n\n public initModels() {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const source = this.layer.getSource();\n const { createTexture2D } = this.rendererService;\n const parserDataItem = source.data.dataArray[0];\n this.texture = createTexture2D({\n data: parserDataItem.data,\n width: parserDataItem.width,\n height: parserDataItem.height,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n // aniso: 4,\n });\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n return [\n this.layer.buildLayerModel({\n moduleName: 'RasterImageData',\n vertexShader: rasterVert,\n fragmentShader: rasterFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public buildModels() {\n return this.initModels();\n }\n\n public clearModels(): void {\n this.texture?.destroy();\n this.colorTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n\n private updateColorTexure() {\n const { createTexture2D } = this.rendererService;\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IRasterLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: imageData.data,\n width: imageData.width,\n height: imageData.height,\n flipY: false,\n });\n }\n}\n"],"file":"raster.js"}
@@ -0,0 +1,28 @@
1
+ import { ILayer, IMapService, IRendererService, IScaleValue, ISource, ISubLayerInitOptions, ScaleAttributeType } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
3
+ export declare type Timeout = any;
4
+ export declare type CacheEvent = 'click' | 'mousemove' | 'mouseup' | 'mousedown' | 'contextmenu';
5
+ export interface ITileFactoryOptions {
6
+ parent: ILayer;
7
+ mapService: IMapService;
8
+ rendererService: IRendererService;
9
+ }
10
+ export interface ITileStyles {
11
+ [key: string]: any;
12
+ }
13
+ export interface ILayerTileConfig {
14
+ L7Layer?: any;
15
+ tile: Tile;
16
+ initOptions: ISubLayerInitOptions;
17
+ vectorTileLayer?: any;
18
+ source: ISource;
19
+ }
20
+ export interface ITileFactory {
21
+ createTile(tile: Tile, initOptions: ISubLayerInitOptions): {
22
+ layers: ILayer[];
23
+ layerIDList: string[];
24
+ };
25
+ createLayer(option: ILayerTileConfig): ILayer;
26
+ updateStyle(styles: ITileStyles): string;
27
+ setStyleAttributeField(layer: ILayer, type: ScaleAttributeType, value: IScaleValue): void;
28
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"interface.js"}
@@ -0,0 +1,17 @@
1
+ import { ILayer, IScaleValue } from '@antv/l7-core';
2
+ import EventEmitter from 'eventemitter3';
3
+ export interface ITileConfigManager {
4
+ setConfig(key: string, value: any): void;
5
+ checkConfig(layer: ILayer): void;
6
+ on(event: string, fn: (...args: any[]) => void): void;
7
+ getAttributeScale(layer: ILayer, name: string): IScaleValue;
8
+ }
9
+ export default class TileConfigManager extends EventEmitter {
10
+ cacheConfig: Map<string, any>;
11
+ checkConfigList: string[];
12
+ constructor();
13
+ setConfig(key: string, value: any): void;
14
+ removeConfig(key: string): void;
15
+ checkConfig(layer: ILayer): void;
16
+ getAttributeScale(layer: ILayer, name: string): IScaleValue;
17
+ }
@@ -0,0 +1,123 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ import _isEqual from "lodash/isEqual";
9
+
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); }; }
11
+
12
+ 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
+ import EventEmitter from 'eventemitter3';
15
+
16
+ var TileConfigManager = function (_EventEmitter) {
17
+ _inherits(TileConfigManager, _EventEmitter);
18
+
19
+ var _super = _createSuper(TileConfigManager);
20
+
21
+ function TileConfigManager() {
22
+ var _this;
23
+
24
+ _classCallCheck(this, TileConfigManager);
25
+
26
+ _this = _super.call(this);
27
+
28
+ _defineProperty(_assertThisInitialized(_this), "cacheConfig", void 0);
29
+
30
+ _defineProperty(_assertThisInitialized(_this), "checkConfigList", []);
31
+
32
+ _this.cacheConfig = new Map();
33
+ return _this;
34
+ }
35
+
36
+ _createClass(TileConfigManager, [{
37
+ key: "setConfig",
38
+ value: function setConfig(key, value) {
39
+ if (!this.checkConfigList.includes(key)) {
40
+ this.checkConfigList.push(key);
41
+ }
42
+
43
+ this.cacheConfig.set(key, value);
44
+ }
45
+ }, {
46
+ key: "removeConfig",
47
+ value: function removeConfig(key) {
48
+ var configIndex = this.checkConfigList.indexOf(key);
49
+
50
+ if (configIndex > -1) {
51
+ this.cacheConfig.delete(key);
52
+ this.checkConfigList.splice(configIndex, 1);
53
+ }
54
+ }
55
+ }, {
56
+ key: "checkConfig",
57
+ value: function checkConfig(layer) {
58
+ var _this2 = this;
59
+
60
+ if (!layer.inited) {
61
+ return;
62
+ }
63
+
64
+ var layerConfig = layer.getLayerConfig();
65
+ var updateConfigs = [];
66
+ this.checkConfigList.map(function (key) {
67
+ var cacheConfig = _this2.cacheConfig.get(key);
68
+
69
+ var currentConfig;
70
+
71
+ if (['color', 'size', 'shape'].includes(key)) {
72
+ var _layer$getAttribute;
73
+
74
+ currentConfig = (_layer$getAttribute = layer.getAttribute(key)) === null || _layer$getAttribute === void 0 ? void 0 : _layer$getAttribute.scale;
75
+ } else {
76
+ if (!(key in layerConfig)) {
77
+ return;
78
+ }
79
+
80
+ currentConfig = layerConfig[key];
81
+ }
82
+
83
+ if (!_isEqual(cacheConfig, currentConfig)) {
84
+ updateConfigs.push(key);
85
+
86
+ _this2.setConfig(key, currentConfig);
87
+ }
88
+ });
89
+
90
+ if (updateConfigs.length > 0) {
91
+ console.warn('tile config cache update!', updateConfigs);
92
+ this.emit('updateConfig', updateConfigs);
93
+ }
94
+ }
95
+ }, {
96
+ key: "getAttributeScale",
97
+ value: function getAttributeScale(layer, name) {
98
+ var attribute = layer.getAttribute(name);
99
+ var scaleValue = {
100
+ field: undefined,
101
+ values: undefined,
102
+ callback: undefined
103
+ };
104
+
105
+ if (attribute && attribute.scale) {
106
+ var _attribute$scale = attribute.scale,
107
+ field = _attribute$scale.field,
108
+ values = _attribute$scale.values,
109
+ callback = _attribute$scale.callback;
110
+ scaleValue.field = field;
111
+ scaleValue.values = values;
112
+ scaleValue.callback = callback;
113
+ }
114
+
115
+ return scaleValue;
116
+ }
117
+ }]);
118
+
119
+ return TileConfigManager;
120
+ }(EventEmitter);
121
+
122
+ export { TileConfigManager as default };
123
+ //# sourceMappingURL=tileConfigManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tile/manager/tileConfigManager.ts"],"names":["EventEmitter","TileConfigManager","cacheConfig","Map","key","value","checkConfigList","includes","push","set","configIndex","indexOf","delete","splice","layer","inited","layerConfig","getLayerConfig","updateConfigs","map","get","currentConfig","getAttribute","scale","setConfig","length","console","warn","emit","name","attribute","scaleValue","field","undefined","values","callback"],"mappings":"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","sourcesContent":["import { ILayer, IScaleValue, ISubLayerInitOptions } from '@antv/l7-core';\nimport EventEmitter from 'eventemitter3';\nimport { isEqual } from 'lodash';\nexport interface ITileConfigManager {\n setConfig(key: string, value: any): void;\n checkConfig(layer: ILayer): void;\n on(event: string, fn: (...args: any[]) => void): void;\n getAttributeScale(layer: ILayer, name: string): IScaleValue;\n}\n\nexport default class TileConfigManager extends EventEmitter {\n public cacheConfig: Map<string, any>;\n public checkConfigList: string[] = [];\n constructor() {\n super();\n this.cacheConfig = new Map();\n }\n\n public setConfig(key: string, value: any) {\n if (!this.checkConfigList.includes(key)) {\n this.checkConfigList.push(key);\n }\n this.cacheConfig.set(key, value);\n }\n\n public removeConfig(key: string) {\n const configIndex = this.checkConfigList.indexOf(key);\n if (configIndex > -1) {\n this.cacheConfig.delete(key);\n this.checkConfigList.splice(configIndex, 1);\n }\n }\n\n public checkConfig(layer: ILayer) {\n if (!layer.inited) {\n return;\n }\n\n const layerConfig = layer.getLayerConfig() as ISubLayerInitOptions;\n const updateConfigs: string[] = [];\n this.checkConfigList.map((key) => {\n const cacheConfig = this.cacheConfig.get(key);\n\n let currentConfig;\n if (['color', 'size', 'shape'].includes(key)) {\n currentConfig = layer.getAttribute(key)?.scale;\n } else {\n if (!(key in layerConfig)) {\n return;\n }\n // @ts-ignore\n currentConfig = layerConfig[key];\n }\n\n if (!isEqual(cacheConfig, currentConfig)) {\n updateConfigs.push(key);\n this.setConfig(key, currentConfig);\n }\n });\n if (updateConfigs.length > 0) {\n console.warn('tile config cache update!', updateConfigs);\n this.emit('updateConfig', updateConfigs);\n }\n }\n\n public getAttributeScale(layer: ILayer, name: string): IScaleValue {\n const attribute = layer.getAttribute(name);\n const scaleValue: IScaleValue = {\n field: undefined,\n values: undefined,\n callback: undefined,\n };\n if (attribute && attribute.scale) {\n const { field, values, callback } = attribute.scale;\n scaleValue.field = field;\n scaleValue.values = values;\n scaleValue.callback = callback;\n }\n return scaleValue;\n }\n}\n"],"file":"tileConfigManager.js"}
@@ -0,0 +1,34 @@
1
+ import { IInteractionTarget, ILayer, ILayerService, IMapService, IPickingService, IRendererService, ITileLayerManager, ITilePickManager } from '@antv/l7-core';
2
+ import { Tile } from '@antv/l7-utils';
3
+ import { ITileConfigManager } from './tileConfigManager';
4
+ export declare class TileLayerManager implements ITileLayerManager {
5
+ sourceLayer: string;
6
+ parent: ILayer;
7
+ children: ILayer[];
8
+ mapService: IMapService;
9
+ rendererService: IRendererService;
10
+ tilePickManager: ITilePickManager;
11
+ tileConfigManager: ITileConfigManager;
12
+ private tileFactory;
13
+ private initOptions;
14
+ constructor(parent: ILayer, mapService: IMapService, rendererService: IRendererService, pickingService: IPickingService, layerService: ILayerService);
15
+ createTile(tile: Tile): {
16
+ layers: ILayer[];
17
+ layerIDList: string[];
18
+ };
19
+ updateLayersConfig(layers: ILayer[], key: string, value: any): void;
20
+ addChild(layer: ILayer): void;
21
+ addChilds(layers: ILayer[]): void;
22
+ removeChilds(layerIDList: string[]): void;
23
+ removeChild(layer: ILayer): void;
24
+ getChilds(layerIDList: string[]): ILayer[];
25
+ getChild(layerID: string): ILayer;
26
+ clearChild(): void;
27
+ hasChild(layer: ILayer): boolean;
28
+ render(): void;
29
+ pickLayers(target: IInteractionTarget): boolean;
30
+ private setSubLayerInitOptipn;
31
+ private setConfigListener;
32
+ private updateStyle;
33
+ private initTileFactory;
34
+ }