@antv/l7-layers 2.9.12 → 2.9.15

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 (185) hide show
  1. package/LICENSE.md +1 -1
  2. package/es/core/BaseLayer.d.ts +2 -5
  3. package/es/core/BaseLayer.js +4 -35
  4. package/es/core/BaseLayer.js.map +1 -1
  5. package/es/core/BaseModel.d.ts +1 -2
  6. package/es/core/BaseModel.js +0 -3
  7. package/es/core/BaseModel.js.map +1 -1
  8. package/es/core/LayerGroup.d.ts +9 -0
  9. package/es/{tile/tileFactory/rasterDataLayer.js → core/LayerGroup.js} +32 -39
  10. package/es/core/LayerGroup.js.map +1 -0
  11. package/es/core/interface.d.ts +1 -14
  12. package/es/core/interface.js.map +1 -1
  13. package/es/image/models/image.js.map +1 -1
  14. package/es/line/index.d.ts +1 -1
  15. package/es/line/index.js +1 -7
  16. package/es/line/index.js.map +1 -1
  17. package/es/line/models/index.d.ts +1 -1
  18. package/es/line/models/index.js +1 -5
  19. package/es/line/models/index.js.map +1 -1
  20. package/es/plugins/FeatureScalePlugin.js +9 -35
  21. package/es/plugins/FeatureScalePlugin.js.map +1 -1
  22. package/es/plugins/ShaderUniformPlugin.js +1 -3
  23. package/es/plugins/ShaderUniformPlugin.js.map +1 -1
  24. package/es/point/index.d.ts +1 -1
  25. package/es/point/index.js +2 -8
  26. package/es/point/index.js.map +1 -1
  27. package/es/point/models/fill.d.ts +1 -8
  28. package/es/point/models/fill.js +33 -49
  29. package/es/point/models/fill.js.map +1 -1
  30. package/es/point/models/index.d.ts +1 -1
  31. package/es/point/models/index.js +1 -5
  32. package/es/point/models/index.js.map +1 -1
  33. package/es/point/models/radar.js +6 -2
  34. package/es/point/models/radar.js.map +1 -1
  35. package/es/polygon/index.js +0 -6
  36. package/es/polygon/index.js.map +1 -1
  37. package/es/polygon/models/index.d.ts +1 -1
  38. package/es/polygon/models/index.js +1 -5
  39. package/es/polygon/models/index.js.map +1 -1
  40. package/es/raster/index.d.ts +2 -2
  41. package/es/raster/index.js +4 -4
  42. package/es/raster/index.js.map +1 -1
  43. package/es/raster/models/index.js +1 -1
  44. package/es/raster/models/index.js.map +1 -1
  45. package/es/raster/models/raste-tile.d.ts +23 -0
  46. package/es/raster/models/raste-tile.js +285 -0
  47. package/es/raster/models/raste-tile.js.map +1 -0
  48. package/es/raster/models/raster.d.ts +0 -2
  49. package/es/raster/models/raster.js +12 -24
  50. package/es/raster/models/raster.js.map +1 -1
  51. package/lib/core/BaseLayer.js +3 -33
  52. package/lib/core/BaseLayer.js.map +1 -1
  53. package/lib/core/BaseModel.js +0 -2
  54. package/lib/core/BaseModel.js.map +1 -1
  55. package/lib/{tile/tileFactory/rasterDataLayer.js → core/LayerGroup.js} +32 -40
  56. package/lib/core/LayerGroup.js.map +1 -0
  57. package/lib/core/interface.js.map +1 -1
  58. package/lib/image/models/image.js.map +1 -1
  59. package/lib/line/index.js +1 -7
  60. package/lib/line/index.js.map +1 -1
  61. package/lib/line/models/index.js +1 -7
  62. package/lib/line/models/index.js.map +1 -1
  63. package/lib/plugins/FeatureScalePlugin.js +9 -35
  64. package/lib/plugins/FeatureScalePlugin.js.map +1 -1
  65. package/lib/plugins/ShaderUniformPlugin.js +1 -3
  66. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  67. package/lib/point/index.js +2 -8
  68. package/lib/point/index.js.map +1 -1
  69. package/lib/point/models/fill.js +32 -46
  70. package/lib/point/models/fill.js.map +1 -1
  71. package/lib/point/models/index.js +1 -7
  72. package/lib/point/models/index.js.map +1 -1
  73. package/lib/point/models/radar.js +5 -1
  74. package/lib/point/models/radar.js.map +1 -1
  75. package/lib/polygon/index.js +0 -6
  76. package/lib/polygon/index.js.map +1 -1
  77. package/lib/polygon/models/index.js +1 -7
  78. package/lib/polygon/models/index.js.map +1 -1
  79. package/lib/raster/index.js +4 -4
  80. package/lib/raster/index.js.map +1 -1
  81. package/lib/raster/models/index.js +2 -2
  82. package/lib/raster/models/index.js.map +1 -1
  83. package/lib/raster/models/raste-tile.js +294 -0
  84. package/lib/raster/models/raste-tile.js.map +1 -0
  85. package/lib/raster/models/raster.js +12 -24
  86. package/lib/raster/models/raster.js.map +1 -1
  87. package/package.json +7 -9
  88. package/es/line/models/tile.d.ts +0 -20
  89. package/es/line/models/tile.js +0 -327
  90. package/es/line/models/tile.js.map +0 -1
  91. package/es/point/models/tile.d.ts +0 -31
  92. package/es/point/models/tile.js +0 -291
  93. package/es/point/models/tile.js.map +0 -1
  94. package/es/polygon/models/tile.d.ts +0 -16
  95. package/es/polygon/models/tile.js +0 -137
  96. package/es/polygon/models/tile.js.map +0 -1
  97. package/es/tile/interface.d.ts +0 -28
  98. package/es/tile/interface.js +0 -2
  99. package/es/tile/interface.js.map +0 -1
  100. package/es/tile/manager/tileConfigManager.d.ts +0 -17
  101. package/es/tile/manager/tileConfigManager.js +0 -123
  102. package/es/tile/manager/tileConfigManager.js.map +0 -1
  103. package/es/tile/manager/tileLayerManager.d.ts +0 -35
  104. package/es/tile/manager/tileLayerManager.js +0 -297
  105. package/es/tile/manager/tileLayerManager.js.map +0 -1
  106. package/es/tile/manager/tilePickerManager.d.ts +0 -21
  107. package/es/tile/manager/tilePickerManager.js +0 -189
  108. package/es/tile/manager/tilePickerManager.js.map +0 -1
  109. package/es/tile/models/tileModel.d.ts +0 -8
  110. package/es/tile/models/tileModel.js +0 -61
  111. package/es/tile/models/tileModel.js.map +0 -1
  112. package/es/tile/tileFactory/base.d.ts +0 -44
  113. package/es/tile/tileFactory/base.js +0 -423
  114. package/es/tile/tileFactory/base.js.map +0 -1
  115. package/es/tile/tileFactory/index.d.ts +0 -5
  116. package/es/tile/tileFactory/index.js +0 -30
  117. package/es/tile/tileFactory/index.js.map +0 -1
  118. package/es/tile/tileFactory/line.d.ts +0 -12
  119. package/es/tile/tileFactory/line.js +0 -65
  120. package/es/tile/tileFactory/line.js.map +0 -1
  121. package/es/tile/tileFactory/point.d.ts +0 -12
  122. package/es/tile/tileFactory/point.js +0 -65
  123. package/es/tile/tileFactory/point.js.map +0 -1
  124. package/es/tile/tileFactory/polygon.d.ts +0 -12
  125. package/es/tile/tileFactory/polygon.js +0 -65
  126. package/es/tile/tileFactory/polygon.js.map +0 -1
  127. package/es/tile/tileFactory/raster.d.ts +0 -12
  128. package/es/tile/tileFactory/raster.js +0 -61
  129. package/es/tile/tileFactory/raster.js.map +0 -1
  130. package/es/tile/tileFactory/rasterData.d.ts +0 -12
  131. package/es/tile/tileFactory/rasterData.js +0 -86
  132. package/es/tile/tileFactory/rasterData.js.map +0 -1
  133. package/es/tile/tileFactory/rasterDataLayer.d.ts +0 -19
  134. package/es/tile/tileFactory/rasterDataLayer.js.map +0 -1
  135. package/es/tile/tileFactory/vectorLayer.d.ts +0 -27
  136. package/es/tile/tileFactory/vectorLayer.js +0 -131
  137. package/es/tile/tileFactory/vectorLayer.js.map +0 -1
  138. package/es/tile/tileLayer/baseTileLayer.d.ts +0 -47
  139. package/es/tile/tileLayer/baseTileLayer.js +0 -409
  140. package/es/tile/tileLayer/baseTileLayer.js.map +0 -1
  141. package/es/tile/tmsTileLayer.d.ts +0 -7
  142. package/es/tile/tmsTileLayer.js +0 -100
  143. package/es/tile/tmsTileLayer.js.map +0 -1
  144. package/es/tile/utils.d.ts +0 -11
  145. package/es/tile/utils.js +0 -125
  146. package/es/tile/utils.js.map +0 -1
  147. package/lib/line/models/tile.js +0 -342
  148. package/lib/line/models/tile.js.map +0 -1
  149. package/lib/point/models/tile.js +0 -308
  150. package/lib/point/models/tile.js.map +0 -1
  151. package/lib/polygon/models/tile.js +0 -152
  152. package/lib/polygon/models/tile.js.map +0 -1
  153. package/lib/tile/interface.js +0 -2
  154. package/lib/tile/interface.js.map +0 -1
  155. package/lib/tile/manager/tileConfigManager.js +0 -134
  156. package/lib/tile/manager/tileConfigManager.js.map +0 -1
  157. package/lib/tile/manager/tileLayerManager.js +0 -305
  158. package/lib/tile/manager/tileLayerManager.js.map +0 -1
  159. package/lib/tile/manager/tilePickerManager.js +0 -195
  160. package/lib/tile/manager/tilePickerManager.js.map +0 -1
  161. package/lib/tile/models/tileModel.js +0 -73
  162. package/lib/tile/models/tileModel.js.map +0 -1
  163. package/lib/tile/tileFactory/base.js +0 -436
  164. package/lib/tile/tileFactory/base.js.map +0 -1
  165. package/lib/tile/tileFactory/index.js +0 -60
  166. package/lib/tile/tileFactory/index.js.map +0 -1
  167. package/lib/tile/tileFactory/line.js +0 -76
  168. package/lib/tile/tileFactory/line.js.map +0 -1
  169. package/lib/tile/tileFactory/point.js +0 -76
  170. package/lib/tile/tileFactory/point.js.map +0 -1
  171. package/lib/tile/tileFactory/polygon.js +0 -76
  172. package/lib/tile/tileFactory/polygon.js.map +0 -1
  173. package/lib/tile/tileFactory/raster.js +0 -74
  174. package/lib/tile/tileFactory/raster.js.map +0 -1
  175. package/lib/tile/tileFactory/rasterData.js +0 -99
  176. package/lib/tile/tileFactory/rasterData.js.map +0 -1
  177. package/lib/tile/tileFactory/rasterDataLayer.js.map +0 -1
  178. package/lib/tile/tileFactory/vectorLayer.js +0 -145
  179. package/lib/tile/tileFactory/vectorLayer.js.map +0 -1
  180. package/lib/tile/tileLayer/baseTileLayer.js +0 -407
  181. package/lib/tile/tileLayer/baseTileLayer.js.map +0 -1
  182. package/lib/tile/tmsTileLayer.js +0 -116
  183. package/lib/tile/tmsTileLayer.js.map +0 -1
  184. package/lib/tile/utils.js +0 -147
  185. package/lib/tile/utils.js.map +0 -1
package/lib/tile/utils.js DELETED
@@ -1,147 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getContainerSize = getContainerSize;
9
- exports.getLayerShape = getLayerShape;
10
- exports.getMaskValue = getMaskValue;
11
- exports.readPixel = readPixel;
12
- exports.readRasterValue = readRasterValue;
13
- exports.registerLayers = registerLayers;
14
-
15
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
-
17
- var _l7Core = require("@antv/l7-core");
18
-
19
- var _l7Utils = require("@antv/l7-utils");
20
-
21
- function registerLayers(parentLayer, layers) {
22
- layers.map(function (layer) {
23
- var container = (0, _l7Core.createLayerContainer)(parentLayer.sceneContainer);
24
- layer.setContainer(container, parentLayer.sceneContainer);
25
- layer.init();
26
- });
27
- }
28
-
29
- function getLayerShape(layerType, layer) {
30
- var _layerShape$scale;
31
-
32
- var layerShape = layer.getAttribute('shape');
33
-
34
- if (layerShape && (_layerShape$scale = layerShape.scale) !== null && _layerShape$scale !== void 0 && _layerShape$scale.field) {
35
- var _layerShape$scale2;
36
-
37
- if (((_layerShape$scale2 = layerShape.scale) === null || _layerShape$scale2 === void 0 ? void 0 : _layerShape$scale2.values) === 'text') {
38
- return [layerShape.scale.field, layerShape.scale.values];
39
- }
40
-
41
- return layerShape.scale.field;
42
- }
43
-
44
- switch (layerType) {
45
- case 'PolygonLayer':
46
- return 'fill';
47
-
48
- case 'LineLayer':
49
- return 'tileline';
50
-
51
- case 'PointLayer':
52
- return 'circle';
53
-
54
- case 'RasterLayer':
55
- return 'image';
56
-
57
- default:
58
- return '';
59
- }
60
- }
61
-
62
- function getMaskValue(layerType, mask) {
63
- switch (layerType) {
64
- case 'PolygonLayer':
65
- return true;
66
-
67
- case 'LineLayer':
68
- return true;
69
-
70
- case 'PointLayer':
71
- return false;
72
-
73
- case 'RasterLayer':
74
- return mask;
75
-
76
- default:
77
- return mask;
78
- }
79
- }
80
-
81
- function getContainerSize(container) {
82
- if (!!container.getContext) {
83
- return {
84
- width: container.width / _l7Utils.DOM.DPR,
85
- height: container.height / _l7Utils.DOM.DPR
86
- };
87
- } else {
88
- return container.getBoundingClientRect();
89
- }
90
- }
91
-
92
- function readRasterValue(tile, mapService, x, y) {
93
- var _tile$bboxPolygon, _tile$data, _tile$data2, _tile$data3;
94
-
95
- var bbox = (tile === null || tile === void 0 ? void 0 : (_tile$bboxPolygon = tile.bboxPolygon) === null || _tile$bboxPolygon === void 0 ? void 0 : _tile$bboxPolygon.bbox) || [0, 0, 10, -10];
96
-
97
- var _bbox = (0, _slicedToArray2.default)(bbox, 4),
98
- _bbox$ = _bbox[0],
99
- minLng = _bbox$ === void 0 ? 0 : _bbox$,
100
- _bbox$2 = _bbox[1],
101
- minLat = _bbox$2 === void 0 ? 0 : _bbox$2,
102
- _bbox$3 = _bbox[2],
103
- maxLng = _bbox$3 === void 0 ? 10 : _bbox$3,
104
- _bbox$4 = _bbox[3],
105
- maxLat = _bbox$4 === void 0 ? -10 : _bbox$4;
106
-
107
- var tileXY = mapService.lngLatToContainer([minLng, minLat]);
108
- var tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);
109
- var tilePixelWidth = tileMaxXY.x - tileXY.x;
110
- var tilePixelHeight = tileXY.y - tileMaxXY.y;
111
- var pos = [(x - tileXY.x) / tilePixelWidth, (y - tileMaxXY.y) / tilePixelHeight];
112
- var tileWidth = (tile === null || tile === void 0 ? void 0 : (_tile$data = tile.data) === null || _tile$data === void 0 ? void 0 : _tile$data.width) || 1;
113
- var tileHeight = (tile === null || tile === void 0 ? void 0 : (_tile$data2 = tile.data) === null || _tile$data2 === void 0 ? void 0 : _tile$data2.height) || 1;
114
- var indexX = Math.floor(pos[0] * tileWidth);
115
- var indexY = Math.floor(pos[1] * tileHeight);
116
- var index = Math.max(0, indexY - 1) * tileWidth + indexX;
117
- var data = tile === null || tile === void 0 ? void 0 : (_tile$data3 = tile.data) === null || _tile$data3 === void 0 ? void 0 : _tile$data3.data[index];
118
- return data;
119
- }
120
-
121
- function readPixel(x, y, rendererService) {
122
- var readPixels = rendererService.readPixels,
123
- getContainer = rendererService.getContainer;
124
- var xInDevicePixel = x * _l7Utils.DOM.DPR;
125
- var yInDevicePixel = y * _l7Utils.DOM.DPR;
126
-
127
- var _getContainerSize = getContainerSize(getContainer()),
128
- width = _getContainerSize.width,
129
- height = _getContainerSize.height;
130
-
131
- width *= _l7Utils.DOM.DPR;
132
- height *= _l7Utils.DOM.DPR;
133
-
134
- if (xInDevicePixel > width - 1 * _l7Utils.DOM.DPR || xInDevicePixel < 0 || yInDevicePixel > height - 1 * _l7Utils.DOM.DPR || yInDevicePixel < 0) {
135
- return false;
136
- }
137
-
138
- var pickedColors = readPixels({
139
- x: Math.floor(xInDevicePixel),
140
- y: Math.floor(height - (y + 1) * _l7Utils.DOM.DPR),
141
- width: 1,
142
- height: 1,
143
- data: new Uint8Array(1 * 1 * 4)
144
- });
145
- return pickedColors;
146
- }
147
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tile/utils.ts"],"names":["registerLayers","parentLayer","layers","map","layer","container","sceneContainer","setContainer","init","getLayerShape","layerType","layerShape","getAttribute","scale","field","values","getMaskValue","mask","getContainerSize","getContext","width","DOM","DPR","height","getBoundingClientRect","readRasterValue","tile","mapService","x","y","bbox","bboxPolygon","minLng","minLat","maxLng","maxLat","tileXY","lngLatToContainer","tileMaxXY","tilePixelWidth","tilePixelHeight","pos","tileWidth","data","tileHeight","indexX","Math","floor","indexY","index","max","readPixel","rendererService","readPixels","getContainer","xInDevicePixel","yInDevicePixel","pickedColors","Uint8Array"],"mappings":"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","sourcesContent":["import {\n createLayerContainer,\n ILayer,\n IMapService,\n IRendererService,\n} from '@antv/l7-core';\nimport { DOM, Tile } from '@antv/l7-utils';\nimport { Container } from 'inversify';\nexport function registerLayers(parentLayer: ILayer, layers: ILayer[]) {\n layers.map((layer) => {\n const container = createLayerContainer(\n parentLayer.sceneContainer as Container,\n );\n layer.setContainer(container, parentLayer.sceneContainer as Container);\n layer.init();\n });\n}\n\nexport function getLayerShape(layerType: string, layer: ILayer) {\n const layerShape = layer.getAttribute('shape');\n if (layerShape && layerShape.scale?.field) {\n if (layerShape.scale?.values === 'text') {\n return [layerShape.scale.field, layerShape.scale.values] as string[];\n }\n return layerShape.scale.field as string;\n }\n switch (layerType) {\n case 'PolygonLayer':\n return 'fill';\n case 'LineLayer':\n return 'tileline';\n case 'PointLayer':\n return 'circle';\n case 'RasterLayer':\n return 'image';\n default:\n return '';\n }\n}\n\nexport function getMaskValue(layerType: string, mask: boolean) {\n switch (layerType) {\n case 'PolygonLayer':\n return true;\n case 'LineLayer':\n return true;\n case 'PointLayer':\n return false;\n case 'RasterLayer':\n return mask;\n default:\n return mask;\n }\n}\n\nexport function getContainerSize(container: HTMLCanvasElement | HTMLElement) {\n if (!!(container as HTMLCanvasElement).getContext) {\n return {\n width: (container as HTMLCanvasElement).width / DOM.DPR,\n height: (container as HTMLCanvasElement).height / DOM.DPR,\n };\n } else {\n return container.getBoundingClientRect();\n }\n}\n\nexport function readRasterValue(\n tile: Tile,\n mapService: IMapService,\n x: number,\n y: number,\n) {\n const bbox = tile?.bboxPolygon?.bbox || [0, 0, 10, -10];\n\n const [minLng = 0, minLat = 0, maxLng = 10, maxLat = -10] = bbox;\n\n const tileXY = mapService.lngLatToContainer([minLng, minLat]);\n const tileMaxXY = mapService.lngLatToContainer([maxLng, maxLat]);\n\n const tilePixelWidth = tileMaxXY.x - tileXY.x;\n const tilePixelHeight = tileXY.y - tileMaxXY.y;\n const pos = [\n (x - tileXY.x) / tilePixelWidth, // x\n (y - tileMaxXY.y) / tilePixelHeight, // y\n ];\n\n const tileWidth = tile?.data?.width || 1;\n const tileHeight = tile?.data?.height || 1;\n\n const indexX = Math.floor(pos[0] * tileWidth);\n const indexY = Math.floor(pos[1] * tileHeight);\n const index = Math.max(0, indexY - 1) * tileWidth + indexX;\n\n const data = tile?.data?.data[index];\n\n return data;\n}\n\nexport function readPixel(\n x: number,\n y: number,\n rendererService: IRendererService,\n) {\n const { readPixels, getContainer } = rendererService;\n const xInDevicePixel = x * DOM.DPR;\n const yInDevicePixel = y * DOM.DPR;\n let { width, height } = getContainerSize(\n getContainer() as HTMLCanvasElement | HTMLElement,\n );\n width *= DOM.DPR;\n height *= DOM.DPR;\n if (\n xInDevicePixel > width - 1 * DOM.DPR ||\n xInDevicePixel < 0 ||\n yInDevicePixel > height - 1 * DOM.DPR ||\n yInDevicePixel < 0\n ) {\n return false;\n }\n\n const pickedColors = readPixels({\n x: Math.floor(xInDevicePixel),\n // 视口坐标系原点在左上,而 WebGL 在左下,需要翻转 Y 轴\n y: Math.floor(height - (y + 1) * DOM.DPR),\n width: 1,\n height: 1,\n data: new Uint8Array(1 * 1 * 4),\n });\n return pickedColors;\n}\n"],"file":"utils.js"}