@antv/l7-layers 2.12.2 → 2.13.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.
- package/es/core/BaseLayer.d.ts +1 -1
- package/es/core/BaseLayer.js +18 -7
- package/es/core/TextureService.d.ts +4 -3
- package/es/core/TextureService.js +32 -10
- package/es/core/interface.d.ts +5 -6
- package/es/core/interface.js +7 -0
- package/es/line/index.d.ts +1 -1
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +0 -2
- package/es/line/models/line.d.ts +0 -1
- package/es/line/models/line.js +0 -9
- package/es/plugins/DataMappingPlugin.js +10 -7
- package/es/point/index.d.ts +1 -1
- package/es/point/models/fill.d.ts +0 -14
- package/es/point/models/fill.js +9 -100
- package/es/point/models/fillmage.d.ts +0 -5
- package/es/point/models/fillmage.js +15 -65
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +0 -4
- package/es/point/models/radar.d.ts +0 -7
- package/es/point/models/radar.js +13 -79
- package/es/point/models/text.js +1 -1
- package/es/point/shaders/fill_vert.glsl +9 -26
- package/es/point/shaders/image/fillImage_vert.glsl +8 -14
- package/es/point/shaders/radar/radar_vert.glsl +12 -19
- package/es/point/shaders/text_vert.glsl +1 -1
- package/es/polygon/index.js +0 -2
- package/es/polygon/models/index.d.ts +1 -1
- package/es/polygon/models/index.js +2 -4
- package/es/raster/models/raster.d.ts +0 -2
- package/es/raster/models/raster.js +6 -22
- package/es/raster/models/rasterTerrainRgb.js +6 -6
- package/es/raster/shaders/raster_2d_frag.glsl +1 -0
- package/es/tile/tileFactory/RasterRGBTile.js +0 -1
- package/es/tile/tileFactory/RasterTile.js +13 -8
- package/lib/core/BaseLayer.js +17 -6
- package/lib/core/TextureService.js +31 -9
- package/lib/core/interface.js +9 -1
- package/lib/line/models/index.js +0 -3
- package/lib/line/models/line.js +0 -8
- package/lib/plugins/DataMappingPlugin.js +10 -7
- package/lib/point/models/fill.js +8 -98
- package/lib/point/models/fillmage.js +16 -67
- package/lib/point/models/index.js +0 -6
- package/lib/point/models/radar.js +13 -80
- package/lib/point/models/text.js +1 -1
- package/lib/point/shaders/fill_vert.glsl +9 -26
- package/lib/point/shaders/image/fillImage_vert.glsl +8 -14
- package/lib/point/shaders/radar/radar_vert.glsl +12 -19
- package/lib/point/shaders/text_vert.glsl +1 -1
- package/lib/polygon/index.js +0 -2
- package/lib/polygon/models/index.js +2 -5
- package/lib/raster/models/raster.js +5 -21
- package/lib/raster/models/rasterTerrainRgb.js +5 -5
- package/lib/raster/shaders/raster_2d_frag.glsl +1 -0
- package/lib/tile/tileFactory/RasterTile.js +14 -8
- package/package.json +6 -6
- package/es/line/models/tile.d.ts +0 -8
- package/es/line/models/tile.js +0 -201
- package/es/line/shaders/tile/line_tile_map_vert.glsl +0 -25
- package/es/line/shaders/tile/line_tile_vert.glsl +0 -52
- package/es/line/shaders/tile/simpleline_map_vert.glsl +0 -15
- package/es/line/shaders/tile/simpleline_vert.glsl +0 -21
- package/es/point/models/tile.d.ts +0 -15
- package/es/point/models/tile.js +0 -217
- package/es/point/models/tileText.d.ts +0 -52
- package/es/point/models/tileText.js +0 -544
- package/es/point/shaders/tile/fill_tile_frag.glsl +0 -76
- package/es/point/shaders/tile/fill_tile_vert.glsl +0 -78
- package/es/point/shaders/tile/text_frag.glsl +0 -33
- package/es/point/shaders/tile/text_map_frag.glsl +0 -31
- package/es/point/shaders/tile/text_map_vert.glsl +0 -38
- package/es/point/shaders/tile/text_vert.glsl +0 -48
- package/es/polygon/models/tile.d.ts +0 -12
- package/es/polygon/models/tile.js +0 -141
- package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +0 -16
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +0 -42
- package/es/raster/models/rasterTile.d.ts +0 -18
- package/es/raster/models/rasterTile.js +0 -180
- package/es/tile/tileFactory/layers/RasterDataLayer.d.ts +0 -11
- package/es/tile/tileFactory/layers/RasterDataLayer.js +0 -89
- package/lib/line/models/tile.js +0 -217
- package/lib/line/shaders/tile/line_tile_map_vert.glsl +0 -25
- package/lib/line/shaders/tile/line_tile_vert.glsl +0 -52
- package/lib/line/shaders/tile/simpleline_map_vert.glsl +0 -15
- package/lib/line/shaders/tile/simpleline_vert.glsl +0 -21
- package/lib/point/models/tile.js +0 -233
- package/lib/point/models/tileText.js +0 -560
- package/lib/point/shaders/tile/fill_tile_frag.glsl +0 -76
- package/lib/point/shaders/tile/fill_tile_vert.glsl +0 -78
- package/lib/point/shaders/tile/text_frag.glsl +0 -33
- package/lib/point/shaders/tile/text_map_frag.glsl +0 -31
- package/lib/point/shaders/tile/text_map_vert.glsl +0 -38
- package/lib/point/shaders/tile/text_vert.glsl +0 -48
- package/lib/polygon/models/tile.js +0 -156
- package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +0 -16
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +0 -42
- package/lib/raster/models/rasterTile.js +0 -196
- package/lib/tile/tileFactory/layers/RasterDataLayer.js +0 -105
package/lib/point/models/fill.js
CHANGED
|
@@ -9,24 +9,18 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
13
|
|
|
16
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
15
|
|
|
18
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
17
|
|
|
20
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
21
|
-
|
|
22
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
19
|
|
|
24
20
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
21
|
|
|
26
22
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
23
|
|
|
28
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
-
|
|
30
24
|
var _l7Core = require("@antv/l7-core");
|
|
31
25
|
|
|
32
26
|
var _l7Utils = require("@antv/l7-utils");
|
|
@@ -35,7 +29,7 @@ var _lodash = require("lodash");
|
|
|
35
29
|
|
|
36
30
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
37
31
|
|
|
38
|
-
var
|
|
32
|
+
var _interface = require("../../core/interface");
|
|
39
33
|
|
|
40
34
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
41
35
|
|
|
@@ -49,7 +43,7 @@ var waveFillFrag = "\nuniform float u_additive;\n\nvarying mat4 styleMappingMat;
|
|
|
49
43
|
var pointFillFrag = "uniform float u_additive;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\n\nvoid main() {\n int shape = int(floor(v_data.w + 0.5));\n\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n float opacity = styleMappingMat[0][0];\n float stroke_opacity = styleMappingMat[0][1];\n float strokeWidth = styleMappingMat[0][2];\n vec4 strokeColor = textrueStroke == vec4(0) ? v_color : textrueStroke;\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius + strokeWidth);\n\n float outer_df;\n float inner_df;\n // 'circle', 'triangle', 'square', 'pentagon', 'hexagon', 'octogon', 'hexagram', 'rhombus', 'vesica'\n if (shape == 0) {\n outer_df = sdCircle(v_data.xy, 1.0);\n inner_df = sdCircle(v_data.xy, r);\n } else if (shape == 1) {\n outer_df = sdEquilateralTriangle(1.1 * v_data.xy);\n inner_df = sdEquilateralTriangle(1.1 / r * v_data.xy);\n } else if (shape == 2) {\n outer_df = sdBox(v_data.xy, vec2(1.));\n inner_df = sdBox(v_data.xy, vec2(r));\n } else if (shape == 3) {\n outer_df = sdPentagon(v_data.xy, 0.8);\n inner_df = sdPentagon(v_data.xy, r * 0.8);\n } else if (shape == 4) {\n outer_df = sdHexagon(v_data.xy, 0.8);\n inner_df = sdHexagon(v_data.xy, r * 0.8);\n } else if (shape == 5) {\n outer_df = sdOctogon(v_data.xy, 1.0);\n inner_df = sdOctogon(v_data.xy, r);\n } else if (shape == 6) {\n outer_df = sdHexagram(v_data.xy, 0.52);\n inner_df = sdHexagram(v_data.xy, r * 0.52);\n } else if (shape == 7) {\n outer_df = sdRhombus(v_data.xy, vec2(1.0));\n inner_df = sdRhombus(v_data.xy, vec2(r));\n } else if (shape == 8) {\n outer_df = sdVesica(v_data.xy, 1.1, 0.8);\n inner_df = sdVesica(v_data.xy, r * 1.1, r * 0.8);\n }\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = strokeWidth < 0.01 ? 0.0 : smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n\n if(strokeWidth < 0.01) {\n gl_FragColor = vec4(v_color.rgb, v_color.a * opacity);\n } else {\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), strokeColor * stroke_opacity, color_t);\n }\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);\n } else {\n gl_FragColor.a *= opacity_t;\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n";
|
|
50
44
|
|
|
51
45
|
/* babel-plugin-inline-import '../shaders/fill_vert.glsl' */
|
|
52
|
-
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\n\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\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform
|
|
46
|
+
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\n\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\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform int u_Size_Unit;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\nuniform float u_opacity : 1;\nuniform float u_stroke_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\nuniform vec2 u_offsets;\n\nuniform float u_blur : 0.0;\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n#pragma include \"styleMappingCalStrokeOpacity\"\n#pragma include \"styleMappingCalStrokeWidth\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float shape_type = a_Shape;\n /*\n * setPickingSize \u8BBE\u7F6E\u62FE\u53D6\u5927\u5C0F\n * u_meter2coord \u5728\u7B49\u9762\u79EF\u5927\u5C0F\u7684\u65F6\u5019\u8BBE\u7F6E\u5355\u4F4D\n */\n float newSize = setPickingSize(a_Size);\n // float newSize = setPickingSize(a_Size) * 0.00001038445708445579;\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = 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\n vec2 strokeOpacityAndOffset = calStrokeOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][1] = strokeOpacityAndOffset.r;\n textureOffset = strokeOpacityAndOffset.g;\n\n vec2 strokeWidthAndOffset = calStrokeWidthAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][2] = strokeWidthAndOffset.r;\n textureOffset = strokeWidthAndOffset.g;\n\n vec4 textrueStroke = vec4(-1.0, -1.0, -1.0, -1.0);\n if(hasStroke()) {\n vec2 valueRPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][0] = pos2value(valueRPos, columnWidth, rowHeight); // R\n textureOffset += 1.0;\n\n vec2 valueGPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][1] = pos2value(valueGPos, columnWidth, rowHeight); // G\n textureOffset += 1.0;\n\n vec2 valueBPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][2] = pos2value(valueBPos, columnWidth, rowHeight); // B\n textureOffset += 1.0;\n\n vec2 valueAPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][3] = pos2value(valueAPos, columnWidth, rowHeight); // A\n textureOffset += 1.0;\n } else {\n if(u_stroke_color == vec4(0.0)) {\n styleMappingMat[1][0] = v_color.r;\n styleMappingMat[1][1] = v_color.g;\n styleMappingMat[1][2] = v_color.b;\n styleMappingMat[1][3] = v_color.a;\n } else {\n styleMappingMat[1][0] = u_stroke_color.r;\n styleMappingMat[1][1] = u_stroke_color.g;\n styleMappingMat[1][2] = u_stroke_color.b;\n styleMappingMat[1][3] = u_stroke_color.a;\n }\n }\n\n vec2 textrueOffsets = vec2(0.0, 0.0);\n if(hasOffsets()) {\n vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n\n vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n } else {\n textrueOffsets = u_offsets;\n }\n\n // cal style mapping\n\n // unpack color(vec2)\n v_color = a_Color;\nif(u_Size_Unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n\n v_radius = newSize;\n\n // anti-alias\n // float antialiased_blur = -max(u_blur, antialiasblur);\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / newSize, u_blur);\n\n vec2 offset = (extrude.xy * (newSize + u_stroke_width) + textrueOffsets);\n vec3 aPosition = a_Position;\n\n offset = project_pixel(offset);\n \n // TODP: /abs(extrude.x) \u662F\u4E3A\u4E86\u517C\u5BB9\u5730\u7403\u6A21\u5F0F\n v_data = vec4(extrude.x/abs(extrude.x), extrude.y/abs(extrude.y), antialiasblur,shape_type);\n\n\n // vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n\n float raisingHeight = u_raisingHeight;\n\n if(u_heightfixed < 1.0) { // false\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\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 raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n \n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
53
47
|
|
|
54
48
|
var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
55
49
|
(0, _inherits2.default)(FillModel, _BaseModel);
|
|
@@ -57,20 +51,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
57
51
|
var _super = _createSuper(FillModel);
|
|
58
52
|
|
|
59
53
|
function FillModel() {
|
|
60
|
-
var _this;
|
|
61
|
-
|
|
62
54
|
(0, _classCallCheck2.default)(this, FillModel);
|
|
63
|
-
|
|
64
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
65
|
-
args[_key] = arguments[_key];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
69
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meter2coord", 1);
|
|
70
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meterYScale", 1);
|
|
71
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isMeter", false);
|
|
72
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "unit", 'l7size');
|
|
73
|
-
return _this;
|
|
55
|
+
return _super.apply(this, arguments);
|
|
74
56
|
}
|
|
75
57
|
|
|
76
58
|
(0, _createClass2.default)(FillModel, [{
|
|
@@ -95,9 +77,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
95
77
|
_ref$heightfixed = _ref.heightfixed,
|
|
96
78
|
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
|
|
97
79
|
_ref$unit = _ref.unit,
|
|
98
|
-
unit = _ref$unit === void 0 ? '
|
|
99
|
-
|
|
100
|
-
this.updateUnit(unit);
|
|
80
|
+
unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
|
|
101
81
|
|
|
102
82
|
if (this.dataTextureTest && this.dataTextureNeedUpdate({
|
|
103
83
|
opacity: opacity,
|
|
@@ -143,9 +123,6 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
143
123
|
return {
|
|
144
124
|
u_raisingHeight: Number(raisingHeight),
|
|
145
125
|
u_heightfixed: Number(heightfixed),
|
|
146
|
-
u_meter2coord: this.meter2coord,
|
|
147
|
-
u_meteryScale: this.meterYScale,
|
|
148
|
-
u_isMeter: Number(this.isMeter),
|
|
149
126
|
u_blur: blur,
|
|
150
127
|
u_additive: blend === 'additive' ? 1.0 : 0.0,
|
|
151
128
|
u_dataTexture: this.dataTexture,
|
|
@@ -155,6 +132,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
155
132
|
u_stroke_opacity: (0, _lodash.isNumber)(strokeOpacity) ? strokeOpacity : 1.0,
|
|
156
133
|
u_stroke_width: (0, _lodash.isNumber)(strokeWidth) ? strokeWidth : 1.0,
|
|
157
134
|
u_stroke_color: this.getStrokeColor(stroke),
|
|
135
|
+
u_Size_Unit: _interface.SizeUnitType[unit],
|
|
158
136
|
u_offsets: this.isOffsetStatic(offsets) ? offsets : [0, 0]
|
|
159
137
|
};
|
|
160
138
|
}
|
|
@@ -185,14 +163,13 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
185
163
|
while (1) {
|
|
186
164
|
switch (_context.prev = _context.next) {
|
|
187
165
|
case 0:
|
|
188
|
-
|
|
189
|
-
_context.next = 3;
|
|
166
|
+
_context.next = 2;
|
|
190
167
|
return this.buildModels();
|
|
191
168
|
|
|
192
|
-
case
|
|
169
|
+
case 2:
|
|
193
170
|
return _context.abrupt("return", _context.sent);
|
|
194
171
|
|
|
195
|
-
case
|
|
172
|
+
case 3:
|
|
196
173
|
case "end":
|
|
197
174
|
return _context.stop();
|
|
198
175
|
}
|
|
@@ -206,50 +183,6 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
206
183
|
|
|
207
184
|
return initModels;
|
|
208
185
|
}()
|
|
209
|
-
/**
|
|
210
|
-
* 计算等面积点图层(unit meter)笛卡尔坐标标度与世界坐标标度的比例
|
|
211
|
-
* @returns
|
|
212
|
-
*/
|
|
213
|
-
|
|
214
|
-
}, {
|
|
215
|
-
key: "calMeter2Coord",
|
|
216
|
-
value: function calMeter2Coord() {
|
|
217
|
-
var _this$layer$getSource = (0, _slicedToArray2.default)(this.layer.getSource().extent, 4),
|
|
218
|
-
minLng = _this$layer$getSource[0],
|
|
219
|
-
minLat = _this$layer$getSource[1],
|
|
220
|
-
maxLng = _this$layer$getSource[2],
|
|
221
|
-
maxLat = _this$layer$getSource[3];
|
|
222
|
-
|
|
223
|
-
var center = [(minLng + maxLng) / 2, (minLat + maxLat) / 2];
|
|
224
|
-
var version = this.mapService.version;
|
|
225
|
-
var mapboxContext = _l7Utils.$window === null || _l7Utils.$window === void 0 ? void 0 : _l7Utils.$window.mapboxgl;
|
|
226
|
-
|
|
227
|
-
if (version === _l7Maps.Version.MAPBOX && mapboxContext !== null && mapboxContext !== void 0 && mapboxContext.MercatorCoordinate) {
|
|
228
|
-
// 参考:
|
|
229
|
-
// https://docs.mapbox.com/mapbox-gl-js/api/geography/#mercatorcoordinate#meterinmercatorcoordinateunits
|
|
230
|
-
var coord = mapboxContext.MercatorCoordinate.fromLngLat({
|
|
231
|
-
lng: center[0],
|
|
232
|
-
lat: center[1]
|
|
233
|
-
}, 0);
|
|
234
|
-
var offsetInMercatorCoordinateUnits = coord.meterInMercatorCoordinateUnits();
|
|
235
|
-
var westCoord = new mapboxContext.MercatorCoordinate(coord.x - offsetInMercatorCoordinateUnits, coord.y, coord.z);
|
|
236
|
-
var westLnglat = westCoord.toLngLat();
|
|
237
|
-
var southCoord = new mapboxContext.MercatorCoordinate(coord.x, coord.y - offsetInMercatorCoordinateUnits, coord.z);
|
|
238
|
-
var southLnglat = southCoord.toLngLat();
|
|
239
|
-
this.meter2coord = center[0] - westLnglat.lng;
|
|
240
|
-
this.meterYScale = (southLnglat.lat - center[1]) / this.meter2coord;
|
|
241
|
-
return;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
var m1 = this.mapService.meterToCoord(center, [minLng, minLat]);
|
|
245
|
-
var m2 = this.mapService.meterToCoord(center, [maxLng === minLng ? maxLng + 0.1 : maxLng, maxLat === minLat ? minLat + 0.1 : maxLat]);
|
|
246
|
-
this.meter2coord = (m1 + m2) / 2;
|
|
247
|
-
|
|
248
|
-
if (!this.meter2coord) {
|
|
249
|
-
// Tip: 兼容单个数据导致的 m1、m2 为 NaN
|
|
250
|
-
this.meter2coord = 7.70681090738883;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
186
|
}, {
|
|
254
187
|
key: "buildModels",
|
|
255
188
|
value: function () {
|
|
@@ -412,29 +345,6 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
412
345
|
}
|
|
413
346
|
});
|
|
414
347
|
}
|
|
415
|
-
/**
|
|
416
|
-
* 判断是否更新点图层的计量单位
|
|
417
|
-
* @param unit
|
|
418
|
-
*/
|
|
419
|
-
|
|
420
|
-
}, {
|
|
421
|
-
key: "updateUnit",
|
|
422
|
-
value: function updateUnit(unit) {
|
|
423
|
-
var version = this.mapService.version;
|
|
424
|
-
|
|
425
|
-
if (this.unit !== unit) {
|
|
426
|
-
// l7size => meter
|
|
427
|
-
if (this.unit !== 'meter' && unit === 'meter' && version !== _l7Maps.Version.DEFUALT && version !== _l7Maps.Version.GLOBEL) {
|
|
428
|
-
this.isMeter = true;
|
|
429
|
-
this.calMeter2Coord(); // meter => l7size
|
|
430
|
-
} else if (this.unit === 'meter' && unit !== 'meter') {
|
|
431
|
-
this.isMeter = false;
|
|
432
|
-
this.meter2coord = 1;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
this.unit = unit;
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
348
|
}]);
|
|
439
349
|
return FillModel;
|
|
440
350
|
}(_BaseModel2.default);
|
|
@@ -9,8 +9,6 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
13
|
|
|
16
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -29,8 +27,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
29
27
|
|
|
30
28
|
var _l7Core = require("@antv/l7-core");
|
|
31
29
|
|
|
32
|
-
var _l7Maps = require("@antv/l7-maps");
|
|
33
|
-
|
|
34
30
|
var _l7Utils = require("@antv/l7-utils");
|
|
35
31
|
|
|
36
32
|
var _lodash = require("lodash");
|
|
@@ -39,6 +35,8 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
|
39
35
|
|
|
40
36
|
var _triangulation = require("../../core/triangulation");
|
|
41
37
|
|
|
38
|
+
var _interface = require("../../core/interface");
|
|
39
|
+
|
|
42
40
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
43
41
|
|
|
44
42
|
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; } }
|
|
@@ -48,7 +46,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
48
46
|
var pointFillFrag = "uniform sampler2D u_texture;\nuniform vec2 u_textSize;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\nvarying vec2 v_uv; // \u672C\u8EAB\u7684 uv \u5750\u6807\nvarying vec2 v_Iconuv;\n\nvoid main() {\n\n float opacity = styleMappingMat[0][0];\n\n vec2 pos = v_Iconuv / u_textSize + v_uv / u_textSize * 64.;\n gl_FragColor = texture2D(u_texture, pos);\n gl_FragColor.a *= opacity;\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
49
47
|
|
|
50
48
|
/* babel-plugin-inline-import '../shaders/image/fillImage_vert.glsl' */
|
|
51
|
-
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute vec2 a_Uv;\nattribute float a_Rotate;\n\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\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform mat2 u_RotateMatrix;\nuniform
|
|
49
|
+
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute vec2 a_Uv;\nattribute float a_Rotate;\n\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\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform mat2 u_RotateMatrix;\nuniform int u_Size_Unit;\n\nvarying vec2 v_uv; // \u672C\u8EAB\u7684 uv \u5750\u6807\nvarying vec2 v_Iconuv; // icon \u8D34\u56FE\u7684 uv \u5750\u6807\n\nuniform float u_raisingHeight: 0.0;\nuniform float u_heightfixed: 0.0;\nuniform float u_opacity : 1;\nuniform vec2 u_offsets;\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n\n v_uv = (a_Extrude.xy + 1.0)/2.0;\n v_uv.y = 1.0 - v_uv.y;\n v_Iconuv = a_Uv;\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - empty - empty - empty\n 0.0, 0.0, 0.0, 0.0, // empty - empty - empty - empty\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\n vec2 textrueOffsets = vec2(0.0, 0.0);\n if(hasOffsets()) {\n vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n\n vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n } else {\n textrueOffsets = u_offsets;\n }\n\n // cal style mapping\n\n highp float angle_sin = sin(a_Rotate);\n highp float angle_cos = cos(a_Rotate);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n float newSize = a_Size;\n if(u_Size_Unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n\n // vec2 offset = (u_RotateMatrix * extrude.xy * (a_Size) + textrueOffsets);\n vec2 offset = (rotation_matrix * u_RotateMatrix * extrude.xy * (newSize) + textrueOffsets);\n vec3 aPosition = a_Position;\n\n offset = project_pixel(offset);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n float raisingHeight = u_raisingHeight;\n if(u_heightfixed < 1.0) { // height fixed\n raisingHeight = project_pixel(u_raisingHeight);\n } else {\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 raisingHeight = u_raisingHeight * mapboxZoomScale;\n }\n }\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp *vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
52
50
|
|
|
53
51
|
var FillImageModel = /*#__PURE__*/function (_BaseModel) {
|
|
54
52
|
(0, _inherits2.default)(FillImageModel, _BaseModel);
|
|
@@ -111,7 +109,9 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
111
109
|
_ref$raisingHeight = _ref.raisingHeight,
|
|
112
110
|
raisingHeight = _ref$raisingHeight === void 0 ? 0.0 : _ref$raisingHeight,
|
|
113
111
|
_ref$heightfixed = _ref.heightfixed,
|
|
114
|
-
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed
|
|
112
|
+
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
|
|
113
|
+
_ref$unit = _ref.unit,
|
|
114
|
+
unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
|
|
115
115
|
|
|
116
116
|
if (this.rendererService.getDirty()) {
|
|
117
117
|
this.texture.bind();
|
|
@@ -172,7 +172,7 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
172
172
|
return {
|
|
173
173
|
u_raisingHeight: Number(raisingHeight),
|
|
174
174
|
u_heightfixed: Number(heightfixed),
|
|
175
|
-
|
|
175
|
+
u_Size_Unit: _interface.SizeUnitType[unit],
|
|
176
176
|
u_RotateMatrix: new Float32Array([Math.cos(this.radian), Math.sin(this.radian), -Math.sin(this.radian), Math.cos(this.radian)]),
|
|
177
177
|
u_dataTexture: this.dataTexture,
|
|
178
178
|
// 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]
|
|
@@ -192,29 +192,19 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
192
192
|
key: "initModels",
|
|
193
193
|
value: function () {
|
|
194
194
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
195
|
-
var _ref2, _ref2$unit, unit, version;
|
|
196
|
-
|
|
197
195
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
198
196
|
while (1) {
|
|
199
197
|
switch (_context.prev = _context.next) {
|
|
200
198
|
case 0:
|
|
201
199
|
this.iconService.on('imageUpdate', this.updateTexture);
|
|
202
200
|
this.updateTexture();
|
|
203
|
-
|
|
204
|
-
version = this.mapService.version;
|
|
205
|
-
|
|
206
|
-
if (unit === 'meter' && version !== _l7Maps.Version.DEFUALT && version !== _l7Maps.Version.GLOBEL) {
|
|
207
|
-
this.isMeter = true;
|
|
208
|
-
this.calMeter2Coord();
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
_context.next = 7;
|
|
201
|
+
_context.next = 4;
|
|
212
202
|
return this.buildModels();
|
|
213
203
|
|
|
214
|
-
case
|
|
204
|
+
case 4:
|
|
215
205
|
return _context.abrupt("return", _context.sent);
|
|
216
206
|
|
|
217
|
-
case
|
|
207
|
+
case 5:
|
|
218
208
|
case "end":
|
|
219
209
|
return _context.stop();
|
|
220
210
|
}
|
|
@@ -228,58 +218,17 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
228
218
|
|
|
229
219
|
return initModels;
|
|
230
220
|
}()
|
|
231
|
-
/**
|
|
232
|
-
* 计算等面积点图层(unit meter)笛卡尔坐标标度与世界坐标标度的比例
|
|
233
|
-
* @returns
|
|
234
|
-
*/
|
|
235
|
-
|
|
236
|
-
}, {
|
|
237
|
-
key: "calMeter2Coord",
|
|
238
|
-
value: function calMeter2Coord() {
|
|
239
|
-
var _this$layer$getSource = (0, _slicedToArray2.default)(this.layer.getSource().extent, 4),
|
|
240
|
-
minLng = _this$layer$getSource[0],
|
|
241
|
-
minLat = _this$layer$getSource[1],
|
|
242
|
-
maxLng = _this$layer$getSource[2],
|
|
243
|
-
maxLat = _this$layer$getSource[3];
|
|
244
|
-
|
|
245
|
-
var center = [(minLng + maxLng) / 2, (minLat + maxLat) / 2];
|
|
246
|
-
var version = this.mapService.version;
|
|
247
|
-
|
|
248
|
-
if (version === _l7Maps.Version.MAPBOX && window.mapboxgl.MercatorCoordinate) {
|
|
249
|
-
var coord = window.mapboxgl.MercatorCoordinate.fromLngLat({
|
|
250
|
-
lng: center[0],
|
|
251
|
-
lat: center[1]
|
|
252
|
-
}, 0);
|
|
253
|
-
var offsetInMeters = 1;
|
|
254
|
-
var offsetInMercatorCoordinateUnits = offsetInMeters * coord.meterInMercatorCoordinateUnits();
|
|
255
|
-
var westCoord = new window.mapboxgl.MercatorCoordinate(coord.x - offsetInMercatorCoordinateUnits, coord.y, coord.z);
|
|
256
|
-
var westLnglat = westCoord.toLngLat();
|
|
257
|
-
this.meter2coord = center[0] - westLnglat.lng;
|
|
258
|
-
return;
|
|
259
|
-
} // @ts-ignore
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
var m1 = this.mapService.meterToCoord(center, [minLng, minLat]); // @ts-ignore
|
|
263
|
-
|
|
264
|
-
var m2 = this.mapService.meterToCoord(center, [maxLng === minLng ? maxLng + 0.1 : maxLng, maxLat === minLat ? minLat + 0.1 : maxLat]);
|
|
265
|
-
this.meter2coord = (m1 + m2) / 2;
|
|
266
|
-
|
|
267
|
-
if (!this.meter2coord) {
|
|
268
|
-
// Tip: 兼容单个数据导致的 m1、m2 为 NaN
|
|
269
|
-
this.meter2coord = 7.70681090738883;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
221
|
}, {
|
|
273
222
|
key: "buildModels",
|
|
274
223
|
value: function () {
|
|
275
224
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
276
|
-
var
|
|
225
|
+
var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, model;
|
|
277
226
|
|
|
278
227
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
279
228
|
while (1) {
|
|
280
229
|
switch (_context2.prev = _context2.next) {
|
|
281
230
|
case 0:
|
|
282
|
-
|
|
231
|
+
_ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
283
232
|
_context2.next = 3;
|
|
284
233
|
return this.layer.buildLayerModel({
|
|
285
234
|
moduleName: 'pointFillImage',
|
|
@@ -365,12 +314,12 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
365
314
|
|
|
366
315
|
var shape = feature.shape;
|
|
367
316
|
|
|
368
|
-
var
|
|
317
|
+
var _ref3 = iconMap[shape] || {
|
|
369
318
|
x: 0,
|
|
370
319
|
y: 0
|
|
371
320
|
},
|
|
372
|
-
x =
|
|
373
|
-
y =
|
|
321
|
+
x = _ref3.x,
|
|
322
|
+
y = _ref3.y;
|
|
374
323
|
|
|
375
324
|
return [x, y];
|
|
376
325
|
}
|
|
@@ -411,7 +360,7 @@ var FillImageModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
411
360
|
update: function update(feature) {
|
|
412
361
|
var _feature$size = feature.size,
|
|
413
362
|
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
414
|
-
return Array.isArray(size) ? [size[0]
|
|
363
|
+
return Array.isArray(size) ? [size[0]] : [size];
|
|
415
364
|
}
|
|
416
365
|
}
|
|
417
366
|
});
|
|
@@ -27,10 +27,6 @@ var _simplePoint = _interopRequireDefault(require("./simplePoint"));
|
|
|
27
27
|
|
|
28
28
|
var _text = _interopRequireDefault(require("./text"));
|
|
29
29
|
|
|
30
|
-
var _tileText = _interopRequireDefault(require("./tileText"));
|
|
31
|
-
|
|
32
|
-
var _tile = _interopRequireDefault(require("./tile"));
|
|
33
|
-
|
|
34
30
|
// earth
|
|
35
31
|
var PointModels = {
|
|
36
32
|
fillImage: _fillmage.default,
|
|
@@ -41,8 +37,6 @@ var PointModels = {
|
|
|
41
37
|
simplePoint: _simplePoint.default,
|
|
42
38
|
extrude: _extrude.default,
|
|
43
39
|
text: _text.default,
|
|
44
|
-
tile: _tile.default,
|
|
45
|
-
tileText: _tileText.default,
|
|
46
40
|
earthFill: _earthFill.default,
|
|
47
41
|
earthExtrude: _earthExtrude.default
|
|
48
42
|
};
|
|
@@ -9,24 +9,18 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
13
|
|
|
16
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
15
|
|
|
18
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
17
|
|
|
20
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
21
|
-
|
|
22
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
19
|
|
|
24
20
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
21
|
|
|
26
22
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
23
|
|
|
28
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
-
|
|
30
24
|
var _l7Core = require("@antv/l7-core");
|
|
31
25
|
|
|
32
26
|
var _l7Utils = require("@antv/l7-utils");
|
|
@@ -37,7 +31,7 @@ var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
|
37
31
|
|
|
38
32
|
var _triangulation = require("../../core/triangulation");
|
|
39
33
|
|
|
40
|
-
var
|
|
34
|
+
var _interface = require("../../core/interface");
|
|
41
35
|
|
|
42
36
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
43
37
|
|
|
@@ -47,7 +41,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
47
41
|
var pointFillFrag = "\nuniform float u_additive;\nuniform float u_opacity: 1.0;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec2 v_exteude;\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\nvoid main() {\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius);\n\n float outer_df = sdCircle(v_data.xy, 1.0);\n float inner_df = sdCircle(v_data.xy, r);\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n gl_FragColor = vec4(v_color.rgb, v_color.a * u_opacity);\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n } else {\n gl_FragColor.a *= opacity_t;\n }\n\n if(gl_FragColor.a > 0.0) {\n gl_FragColor = filterColor(gl_FragColor);\n }\n\n vec2 extrude = v_exteude;\n vec2 dir = normalize(extrude);\n vec2 baseDir = vec2(1.0, 0.0);\n float pi = 3.14159265359;\n // full circle\n // float rades = dot(dir, baseDir);\n // float flag = sign(dir.y);\n // float radar_v = (flag - 1.0) * -0.5 + flag * acos(rades)/pi/2.0;\n \n // half circle\n float flag = sign(dir.y);\n float rades = dot(dir, baseDir);\n float radar_v = (flag - 1.0) * -0.5 * acos(rades)/pi;\n // simple AA\n if(radar_v > 0.99) {\n radar_v = 1.0 - (radar_v - 0.99)/0.01;\n }\n\n gl_FragColor.a *= radar_v;\n}\n";
|
|
48
42
|
|
|
49
43
|
/* babel-plugin-inline-import '../shaders/radar/radar_vert.glsl' */
|
|
50
|
-
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nuniform float u_speed: 1.0;\nuniform float u_time;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform
|
|
44
|
+
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nuniform float u_speed: 1.0;\nuniform float u_time;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform int u_Size_Unit;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec2 v_exteude;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float newSize = setPickingSize(a_Size);\n\n float time = u_time * u_speed;\n mat2 rotateMatrix = mat2( \n cos(time), sin(time), \n -sin(time), cos(time)\n );\n v_exteude = rotateMatrix * a_Extrude.xy;\n\n // unpack color(vec2)\n v_color = a_Color;\n\n\n\n // anti-alias\n float blur = 0.0;\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / a_Size, blur);\n\n if(u_Size_Unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n // radius(16-bit)\n v_radius = newSize;\n\n vec2 offset = (extrude.xy * (newSize));\n vec3 aPosition = a_Position;\n \n // \u4E0D\u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n offset = project_pixel(offset);\n \n v_data = vec4(extrude.x, extrude.y, antialiasblur, -1.0);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp *vec4(project_pos.xy + offset, 0.0, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
51
45
|
|
|
52
46
|
var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
53
47
|
(0, _inherits2.default)(RadarModel, _BaseModel);
|
|
@@ -55,18 +49,8 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
55
49
|
var _super = _createSuper(RadarModel);
|
|
56
50
|
|
|
57
51
|
function RadarModel() {
|
|
58
|
-
var _this;
|
|
59
|
-
|
|
60
52
|
(0, _classCallCheck2.default)(this, RadarModel);
|
|
61
|
-
|
|
62
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
63
|
-
args[_key] = arguments[_key];
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
67
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meter2coord", 1);
|
|
68
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isMeter", false);
|
|
69
|
-
return _this;
|
|
53
|
+
return _super.apply(this, arguments);
|
|
70
54
|
}
|
|
71
55
|
|
|
72
56
|
(0, _createClass2.default)(RadarModel, [{
|
|
@@ -77,10 +61,12 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
77
61
|
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
78
62
|
blend = _ref.blend,
|
|
79
63
|
_ref$speed = _ref.speed,
|
|
80
|
-
speed = _ref$speed === void 0 ? 1 : _ref$speed
|
|
64
|
+
speed = _ref$speed === void 0 ? 1 : _ref$speed,
|
|
65
|
+
_ref$unit = _ref.unit,
|
|
66
|
+
unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
|
|
81
67
|
|
|
82
68
|
return {
|
|
83
|
-
|
|
69
|
+
u_Size_Unit: _interface.SizeUnitType[unit],
|
|
84
70
|
u_speed: speed,
|
|
85
71
|
u_additive: blend === 'additive' ? 1.0 : 0.0,
|
|
86
72
|
u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1.0
|
|
@@ -109,27 +95,17 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
109
95
|
key: "initModels",
|
|
110
96
|
value: function () {
|
|
111
97
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
112
|
-
var _ref3, _ref3$unit, unit, version;
|
|
113
|
-
|
|
114
98
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
115
99
|
while (1) {
|
|
116
100
|
switch (_context.prev = _context.next) {
|
|
117
101
|
case 0:
|
|
118
|
-
|
|
119
|
-
version = this.mapService.version;
|
|
120
|
-
|
|
121
|
-
if (unit === 'meter' && version !== _l7Maps.Version.DEFUALT && version !== _l7Maps.Version.GLOBEL) {
|
|
122
|
-
this.isMeter = true;
|
|
123
|
-
this.calMeter2Coord();
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
_context.next = 5;
|
|
102
|
+
_context.next = 2;
|
|
127
103
|
return this.buildModels();
|
|
128
104
|
|
|
129
|
-
case
|
|
105
|
+
case 2:
|
|
130
106
|
return _context.abrupt("return", _context.sent);
|
|
131
107
|
|
|
132
|
-
case
|
|
108
|
+
case 3:
|
|
133
109
|
case "end":
|
|
134
110
|
return _context.stop();
|
|
135
111
|
}
|
|
@@ -143,58 +119,17 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
143
119
|
|
|
144
120
|
return initModels;
|
|
145
121
|
}()
|
|
146
|
-
/**
|
|
147
|
-
* 计算等面积点图层(unit meter)笛卡尔坐标标度与世界坐标标度的比例
|
|
148
|
-
* @returns
|
|
149
|
-
*/
|
|
150
|
-
|
|
151
|
-
}, {
|
|
152
|
-
key: "calMeter2Coord",
|
|
153
|
-
value: function calMeter2Coord() {
|
|
154
|
-
var _this$layer$getSource = (0, _slicedToArray2.default)(this.layer.getSource().extent, 4),
|
|
155
|
-
minLng = _this$layer$getSource[0],
|
|
156
|
-
minLat = _this$layer$getSource[1],
|
|
157
|
-
maxLng = _this$layer$getSource[2],
|
|
158
|
-
maxLat = _this$layer$getSource[3];
|
|
159
|
-
|
|
160
|
-
var center = [(minLng + maxLng) / 2, (minLat + maxLat) / 2];
|
|
161
|
-
var version = this.mapService.version;
|
|
162
|
-
|
|
163
|
-
if (version === _l7Maps.Version.MAPBOX && window.mapboxgl.MercatorCoordinate) {
|
|
164
|
-
var coord = window.mapboxgl.MercatorCoordinate.fromLngLat({
|
|
165
|
-
lng: center[0],
|
|
166
|
-
lat: center[1]
|
|
167
|
-
}, 0);
|
|
168
|
-
var offsetInMeters = 1;
|
|
169
|
-
var offsetInMercatorCoordinateUnits = offsetInMeters * coord.meterInMercatorCoordinateUnits();
|
|
170
|
-
var westCoord = new window.mapboxgl.MercatorCoordinate(coord.x - offsetInMercatorCoordinateUnits, coord.y, coord.z);
|
|
171
|
-
var westLnglat = westCoord.toLngLat();
|
|
172
|
-
this.meter2coord = center[0] - westLnglat.lng;
|
|
173
|
-
return;
|
|
174
|
-
} // @ts-ignore
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
var m1 = this.mapService.meterToCoord(center, [minLng, minLat]); // @ts-ignore
|
|
178
|
-
|
|
179
|
-
var m2 = this.mapService.meterToCoord(center, [maxLng === minLng ? maxLng + 0.1 : maxLng, maxLat === minLat ? minLat + 0.1 : maxLat]);
|
|
180
|
-
this.meter2coord = (m1 + m2) / 2;
|
|
181
|
-
|
|
182
|
-
if (!this.meter2coord) {
|
|
183
|
-
// Tip: 兼容单个数据导致的 m1、m2 为 NaN
|
|
184
|
-
this.meter2coord = 7.70681090738883;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
122
|
}, {
|
|
188
123
|
key: "buildModels",
|
|
189
124
|
value: function () {
|
|
190
125
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
191
|
-
var
|
|
126
|
+
var _ref3, _ref3$mask, mask, _ref3$maskInside, maskInside, model;
|
|
192
127
|
|
|
193
128
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
194
129
|
while (1) {
|
|
195
130
|
switch (_context2.prev = _context2.next) {
|
|
196
131
|
case 0:
|
|
197
|
-
|
|
132
|
+
_ref3 = this.layer.getLayerConfig(), _ref3$mask = _ref3.mask, mask = _ref3$mask === void 0 ? false : _ref3$mask, _ref3$maskInside = _ref3.maskInside, maskInside = _ref3$maskInside === void 0 ? true : _ref3$maskInside;
|
|
198
133
|
_context2.next = 3;
|
|
199
134
|
return this.layer.buildLayerModel({
|
|
200
135
|
moduleName: 'pointRadar',
|
|
@@ -242,8 +177,6 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
242
177
|
}, {
|
|
243
178
|
key: "registerBuiltinAttributes",
|
|
244
179
|
value: function registerBuiltinAttributes() {
|
|
245
|
-
var _this2 = this;
|
|
246
|
-
|
|
247
180
|
this.styleAttributeService.registerStyleAttribute({
|
|
248
181
|
name: 'extrude',
|
|
249
182
|
type: _l7Core.AttributeType.Attribute,
|
|
@@ -279,7 +212,7 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
279
212
|
update: function update(feature) {
|
|
280
213
|
var _feature$size = feature.size,
|
|
281
214
|
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
282
|
-
return Array.isArray(size) ? [size[0]
|
|
215
|
+
return Array.isArray(size) ? [size[0]] : [size];
|
|
283
216
|
}
|
|
284
217
|
}
|
|
285
218
|
});
|