@antv/l7-layers 2.9.17 → 2.9.20
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/Geometry/index.js +12 -2
- package/es/Geometry/index.js.map +1 -1
- package/es/Geometry/models/billboard.d.ts +3 -3
- package/es/Geometry/models/billboard.js +11 -6
- package/es/Geometry/models/billboard.js.map +1 -1
- package/es/Geometry/models/plane.d.ts +3 -3
- package/es/Geometry/models/plane.js +12 -7
- package/es/Geometry/models/plane.js.map +1 -1
- package/es/Geometry/models/sprite.d.ts +3 -3
- package/es/Geometry/models/sprite.js +11 -6
- package/es/Geometry/models/sprite.js.map +1 -1
- package/es/canvas/index.js +12 -2
- package/es/canvas/index.js.map +1 -1
- package/es/citybuliding/building.js +12 -2
- package/es/citybuliding/building.js.map +1 -1
- package/es/citybuliding/models/build.d.ts +2 -1
- package/es/citybuliding/models/build.js +16 -3
- package/es/citybuliding/models/build.js.map +1 -1
- package/es/core/BaseLayer.d.ts +1 -1
- package/es/core/BaseLayer.js +105 -62
- package/es/core/BaseLayer.js.map +1 -1
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +2 -2
- package/es/core/BaseModel.js.map +1 -1
- package/es/core/interface.d.ts +2 -0
- package/es/core/interface.js.map +1 -1
- package/es/core/triangulation.d.ts +1 -0
- package/es/core/triangulation.js +37 -11
- package/es/core/triangulation.js.map +1 -1
- package/es/earth/index.js +8 -2
- package/es/earth/index.js.map +1 -1
- package/es/earth/models/atmosphere.d.ts +2 -2
- package/es/earth/models/atmosphere.js +11 -6
- package/es/earth/models/atmosphere.js.map +1 -1
- package/es/earth/models/base.d.ts +2 -2
- package/es/earth/models/base.js +11 -6
- package/es/earth/models/base.js.map +1 -1
- package/es/earth/models/bloomsphere.d.ts +2 -2
- package/es/earth/models/bloomsphere.js +11 -6
- package/es/earth/models/bloomsphere.js.map +1 -1
- package/es/heatmap/index.js +17 -5
- package/es/heatmap/index.js.map +1 -1
- package/es/heatmap/models/grid.d.ts +2 -2
- package/es/heatmap/models/grid.js +12 -8
- package/es/heatmap/models/grid.js.map +1 -1
- package/es/heatmap/models/grid3d.d.ts +2 -2
- package/es/heatmap/models/grid3d.js +12 -6
- package/es/heatmap/models/grid3d.js.map +1 -1
- package/es/heatmap/models/heatmap.d.ts +2 -2
- package/es/heatmap/models/heatmap.js +112 -62
- package/es/heatmap/models/heatmap.js.map +1 -1
- package/es/heatmap/models/hexagon.d.ts +2 -2
- package/es/heatmap/models/hexagon.js +11 -6
- package/es/heatmap/models/hexagon.js.map +1 -1
- package/es/image/index.js +12 -2
- package/es/image/index.js.map +1 -1
- package/es/image/models/dataImage.d.ts +3 -3
- package/es/image/models/dataImage.js +10 -5
- package/es/image/models/dataImage.js.map +1 -1
- package/es/image/models/image.d.ts +3 -3
- package/es/image/models/image.js +11 -7
- package/es/image/models/image.js.map +1 -1
- package/es/line/index.d.ts +0 -2
- package/es/line/index.js +12 -5
- package/es/line/index.js.map +1 -1
- package/es/line/models/arc.d.ts +2 -2
- package/es/line/models/arc.js +15 -10
- package/es/line/models/arc.js.map +1 -1
- package/es/line/models/arc_3d.d.ts +2 -2
- package/es/line/models/arc_3d.js +13 -8
- package/es/line/models/arc_3d.js.map +1 -1
- package/es/line/models/earthArc_3d.d.ts +2 -2
- package/es/line/models/earthArc_3d.js +17 -9
- package/es/line/models/earthArc_3d.js.map +1 -1
- package/es/line/models/great_circle.d.ts +2 -2
- package/es/line/models/great_circle.js +12 -7
- package/es/line/models/great_circle.js.map +1 -1
- package/es/line/models/half.d.ts +2 -2
- package/es/line/models/half.js +46 -29
- package/es/line/models/half.js.map +1 -1
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +0 -2
- package/es/line/models/index.js.map +1 -1
- package/es/line/models/line.d.ts +2 -2
- package/es/line/models/line.js +28 -16
- package/es/line/models/line.js.map +1 -1
- package/es/line/models/linearline.d.ts +2 -11
- package/es/line/models/linearline.js +14 -24
- package/es/line/models/linearline.js.map +1 -1
- package/es/line/models/simpleLine.d.ts +2 -2
- package/es/line/models/simpleLine.js +13 -8
- package/es/line/models/simpleLine.js.map +1 -1
- package/es/line/models/tile.d.ts +2 -11
- package/es/line/models/tile.js +45 -39
- package/es/line/models/tile.js.map +1 -1
- package/es/line/models/wall.d.ts +2 -2
- package/es/line/models/wall.js +13 -9
- package/es/line/models/wall.js.map +1 -1
- package/es/mask/index.js +12 -2
- package/es/mask/index.js.map +1 -1
- package/es/mask/models/fill.d.ts +2 -2
- package/es/mask/models/fill.js +53 -27
- package/es/mask/models/fill.js.map +1 -1
- package/es/plugins/DataMappingPlugin.js +29 -8
- package/es/plugins/DataMappingPlugin.js.map +1 -1
- package/es/plugins/DataSourcePlugin.js +14 -5
- package/es/plugins/DataSourcePlugin.js.map +1 -1
- package/es/plugins/LayerModelPlugin.d.ts +2 -0
- package/es/plugins/LayerModelPlugin.js +35 -7
- package/es/plugins/LayerModelPlugin.js.map +1 -1
- package/es/plugins/PixelPickingPlugin.js +16 -13
- package/es/plugins/PixelPickingPlugin.js.map +1 -1
- package/es/point/index.d.ts +1 -1
- package/es/point/index.js +26 -15
- package/es/point/index.js.map +1 -1
- package/es/point/models/earthExtrude.d.ts +2 -2
- package/es/point/models/earthExtrude.js +16 -14
- package/es/point/models/earthExtrude.js.map +1 -1
- package/es/point/models/earthFill.d.ts +2 -11
- package/es/point/models/earthFill.js +13 -22
- package/es/point/models/earthFill.js.map +1 -1
- package/es/point/models/extrude.d.ts +2 -2
- package/es/point/models/extrude.js +49 -27
- package/es/point/models/extrude.js.map +1 -1
- package/es/point/models/fill.d.ts +2 -2
- package/es/point/models/fill.js +59 -41
- package/es/point/models/fill.js.map +1 -1
- package/es/point/models/fillmage.d.ts +2 -7
- package/es/point/models/fillmage.js +13 -22
- package/es/point/models/fillmage.js.map +1 -1
- package/es/point/models/image.d.ts +2 -2
- package/es/point/models/image.js +11 -6
- package/es/point/models/image.js.map +1 -1
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +0 -2
- package/es/point/models/index.js.map +1 -1
- package/es/point/models/normal.d.ts +2 -2
- package/es/point/models/normal.js +11 -6
- package/es/point/models/normal.js.map +1 -1
- package/es/point/models/radar.d.ts +2 -11
- package/es/point/models/radar.js +13 -22
- package/es/point/models/radar.js.map +1 -1
- package/es/point/models/simplePoint.d.ts +2 -2
- package/es/point/models/simplePoint.js +11 -6
- package/es/point/models/simplePoint.js.map +1 -1
- package/es/point/models/text.d.ts +3 -2
- package/es/point/models/text.js +110 -75
- package/es/point/models/text.js.map +1 -1
- package/es/point/models/tile.d.ts +2 -11
- package/es/point/models/tile.js +22 -25
- package/es/point/models/tile.js.map +1 -1
- package/es/polygon/index.js +12 -2
- package/es/polygon/index.js.map +1 -1
- package/es/polygon/models/extrude.d.ts +2 -2
- package/es/polygon/models/extrude.js +10 -5
- package/es/polygon/models/extrude.js.map +1 -1
- package/es/polygon/models/fill.d.ts +2 -2
- package/es/polygon/models/fill.js +27 -13
- package/es/polygon/models/fill.js.map +1 -1
- package/es/polygon/models/ocean.d.ts +2 -2
- package/es/polygon/models/ocean.js +12 -6
- package/es/polygon/models/ocean.js.map +1 -1
- package/es/polygon/models/tile.d.ts +2 -3
- package/es/polygon/models/tile.js +17 -27
- package/es/polygon/models/tile.js.map +1 -1
- package/es/polygon/models/water.d.ts +2 -2
- package/es/polygon/models/water.js +12 -6
- package/es/polygon/models/water.js.map +1 -1
- package/es/raster/index.js +12 -2
- package/es/raster/index.js.map +1 -1
- package/es/raster/models/raster.d.ts +3 -3
- package/es/raster/models/raster.js +11 -7
- package/es/raster/models/raster.js.map +1 -1
- package/es/tile/manager/tileLayerManager.js +3 -0
- package/es/tile/manager/tileLayerManager.js.map +1 -1
- package/es/tile/manager/tilePickerManager.js +1 -0
- package/es/tile/manager/tilePickerManager.js.map +1 -1
- package/es/tile/tileFactory/base.js.map +1 -1
- package/es/tile/tileFactory/point.js.map +1 -1
- package/es/tile/tileFactory/rasterDataLayer.js +12 -2
- package/es/tile/tileFactory/rasterDataLayer.js.map +1 -1
- package/es/tile/tileFactory/vectorLayer.js +12 -2
- package/es/tile/tileFactory/vectorLayer.js.map +1 -1
- package/es/utils/extrude_polyline.d.ts +15 -0
- package/es/utils/extrude_polyline.js +146 -14
- package/es/utils/extrude_polyline.js.map +1 -1
- package/es/wind/index.js +12 -2
- package/es/wind/index.js.map +1 -1
- package/es/wind/models/wind.d.ts +4 -2
- package/es/wind/models/wind.js +50 -18
- package/es/wind/models/wind.js.map +1 -1
- package/es/wind/models/windRender.js +1 -1
- package/es/wind/models/windRender.js.map +1 -1
- package/lib/Geometry/index.js +12 -2
- package/lib/Geometry/index.js.map +1 -1
- package/lib/Geometry/models/billboard.js +11 -6
- package/lib/Geometry/models/billboard.js.map +1 -1
- package/lib/Geometry/models/plane.js +12 -7
- package/lib/Geometry/models/plane.js.map +1 -1
- package/lib/Geometry/models/sprite.js +11 -6
- package/lib/Geometry/models/sprite.js.map +1 -1
- package/lib/canvas/index.js +12 -2
- package/lib/canvas/index.js.map +1 -1
- package/lib/citybuliding/building.js +12 -2
- package/lib/citybuliding/building.js.map +1 -1
- package/lib/citybuliding/models/build.js +16 -3
- package/lib/citybuliding/models/build.js.map +1 -1
- package/lib/core/BaseLayer.js +104 -61
- package/lib/core/BaseLayer.js.map +1 -1
- package/lib/core/BaseModel.js +2 -2
- package/lib/core/BaseModel.js.map +1 -1
- package/lib/core/interface.js.map +1 -1
- package/lib/core/triangulation.js +40 -16
- package/lib/core/triangulation.js.map +1 -1
- package/lib/earth/index.js +8 -2
- package/lib/earth/index.js.map +1 -1
- package/lib/earth/models/atmosphere.js +11 -6
- package/lib/earth/models/atmosphere.js.map +1 -1
- package/lib/earth/models/base.js +11 -6
- package/lib/earth/models/base.js.map +1 -1
- package/lib/earth/models/bloomsphere.js +11 -6
- package/lib/earth/models/bloomsphere.js.map +1 -1
- package/lib/heatmap/index.js +17 -5
- package/lib/heatmap/index.js.map +1 -1
- package/lib/heatmap/models/grid.js +12 -8
- package/lib/heatmap/models/grid.js.map +1 -1
- package/lib/heatmap/models/grid3d.js +12 -6
- package/lib/heatmap/models/grid3d.js.map +1 -1
- package/lib/heatmap/models/heatmap.js +113 -62
- package/lib/heatmap/models/heatmap.js.map +1 -1
- package/lib/heatmap/models/hexagon.js +11 -6
- package/lib/heatmap/models/hexagon.js.map +1 -1
- package/lib/image/index.js +12 -2
- package/lib/image/index.js.map +1 -1
- package/lib/image/models/dataImage.js +10 -5
- package/lib/image/models/dataImage.js.map +1 -1
- package/lib/image/models/image.js +11 -7
- package/lib/image/models/image.js.map +1 -1
- package/lib/line/index.js +12 -5
- package/lib/line/index.js.map +1 -1
- package/lib/line/models/arc.js +15 -10
- package/lib/line/models/arc.js.map +1 -1
- package/lib/line/models/arc_3d.js +13 -8
- package/lib/line/models/arc_3d.js.map +1 -1
- package/lib/line/models/earthArc_3d.js +17 -9
- package/lib/line/models/earthArc_3d.js.map +1 -1
- package/lib/line/models/great_circle.js +12 -7
- package/lib/line/models/great_circle.js.map +1 -1
- package/lib/line/models/half.js +48 -29
- package/lib/line/models/half.js.map +1 -1
- package/lib/line/models/index.js +0 -3
- package/lib/line/models/index.js.map +1 -1
- package/lib/line/models/line.js +29 -18
- package/lib/line/models/line.js.map +1 -1
- package/lib/line/models/linearline.js +14 -24
- package/lib/line/models/linearline.js.map +1 -1
- package/lib/line/models/simpleLine.js +13 -8
- package/lib/line/models/simpleLine.js.map +1 -1
- package/lib/line/models/tile.js +47 -39
- package/lib/line/models/tile.js.map +1 -1
- package/lib/line/models/wall.js +13 -9
- package/lib/line/models/wall.js.map +1 -1
- package/lib/mask/index.js +12 -2
- package/lib/mask/index.js.map +1 -1
- package/lib/mask/models/fill.js +55 -27
- package/lib/mask/models/fill.js.map +1 -1
- package/lib/plugins/DataMappingPlugin.js +29 -8
- package/lib/plugins/DataMappingPlugin.js.map +1 -1
- package/lib/plugins/DataSourcePlugin.js +13 -4
- package/lib/plugins/DataSourcePlugin.js.map +1 -1
- package/lib/plugins/LayerModelPlugin.js +35 -7
- package/lib/plugins/LayerModelPlugin.js.map +1 -1
- package/lib/plugins/PixelPickingPlugin.js +16 -13
- package/lib/plugins/PixelPickingPlugin.js.map +1 -1
- package/lib/point/index.js +26 -15
- package/lib/point/index.js.map +1 -1
- package/lib/point/models/earthExtrude.js +16 -15
- package/lib/point/models/earthExtrude.js.map +1 -1
- package/lib/point/models/earthFill.js +13 -22
- package/lib/point/models/earthFill.js.map +1 -1
- package/lib/point/models/extrude.js +51 -28
- package/lib/point/models/extrude.js.map +1 -1
- package/lib/point/models/fill.js +61 -42
- package/lib/point/models/fill.js.map +1 -1
- package/lib/point/models/fillmage.js +13 -22
- package/lib/point/models/fillmage.js.map +1 -1
- package/lib/point/models/image.js +11 -6
- package/lib/point/models/image.js.map +1 -1
- package/lib/point/models/index.js +0 -3
- package/lib/point/models/index.js.map +1 -1
- package/lib/point/models/normal.js +11 -6
- package/lib/point/models/normal.js.map +1 -1
- package/lib/point/models/radar.js +13 -22
- package/lib/point/models/radar.js.map +1 -1
- package/lib/point/models/simplePoint.js +11 -6
- package/lib/point/models/simplePoint.js.map +1 -1
- package/lib/point/models/text.js +112 -78
- package/lib/point/models/text.js.map +1 -1
- package/lib/point/models/tile.js +22 -25
- package/lib/point/models/tile.js.map +1 -1
- package/lib/polygon/index.js +12 -2
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/models/extrude.js +10 -5
- package/lib/polygon/models/extrude.js.map +1 -1
- package/lib/polygon/models/fill.js +25 -11
- package/lib/polygon/models/fill.js.map +1 -1
- package/lib/polygon/models/ocean.js +12 -6
- package/lib/polygon/models/ocean.js.map +1 -1
- package/lib/polygon/models/tile.js +17 -27
- package/lib/polygon/models/tile.js.map +1 -1
- package/lib/polygon/models/water.js +12 -6
- package/lib/polygon/models/water.js.map +1 -1
- package/lib/raster/index.js +12 -2
- package/lib/raster/index.js.map +1 -1
- package/lib/raster/models/raster.js +11 -7
- package/lib/raster/models/raster.js.map +1 -1
- package/lib/tile/manager/tileLayerManager.js +3 -0
- package/lib/tile/manager/tileLayerManager.js.map +1 -1
- package/lib/tile/manager/tilePickerManager.js +1 -0
- package/lib/tile/manager/tilePickerManager.js.map +1 -1
- package/lib/tile/tileFactory/base.js.map +1 -1
- package/lib/tile/tileFactory/point.js.map +1 -1
- package/lib/tile/tileFactory/rasterDataLayer.js +12 -2
- package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -1
- package/lib/tile/tileFactory/vectorLayer.js +12 -2
- package/lib/tile/tileFactory/vectorLayer.js.map +1 -1
- package/lib/utils/extrude_polyline.js +148 -14
- package/lib/utils/extrude_polyline.js.map +1 -1
- package/lib/wind/index.js +12 -2
- package/lib/wind/index.js.map +1 -1
- package/lib/wind/models/wind.js +49 -18
- package/lib/wind/models/wind.js.map +1 -1
- package/lib/wind/models/windRender.js +1 -1
- package/lib/wind/models/windRender.js.map +1 -1
- package/package.json +9 -8
- package/es/line/models/arcmini.d.ts +0 -9
- package/es/line/models/arcmini.js +0 -145
- package/es/line/models/arcmini.js.map +0 -1
- package/es/point/models/icon-font.d.ts +0 -11
- package/es/point/models/icon-font.js +0 -181
- package/es/point/models/icon-font.js.map +0 -1
- package/es/raster/image.d.ts +0 -0
- package/es/raster/image.js +0 -2
- package/es/raster/image.js.map +0 -1
- package/es/raster/raster2d.d.ts +0 -27
- package/es/raster/raster2d.js +0 -158
- package/es/raster/raster2d.js.map +0 -1
- package/es/utils/geo.d.ts +0 -12
- package/es/utils/geo.js +0 -53
- package/es/utils/geo.js.map +0 -1
- package/lib/line/models/arcmini.js +0 -161
- package/lib/line/models/arcmini.js.map +0 -1
- package/lib/point/models/icon-font.js +0 -196
- package/lib/point/models/icon-font.js.map +0 -1
- package/lib/raster/image.js +0 -2
- package/lib/raster/image.js.map +0 -1
- package/lib/raster/raster2d.js +0 -172
- package/lib/raster/raster2d.js.map +0 -1
- package/lib/utils/geo.js +0 -65
- package/lib/utils/geo.js.map +0 -1
|
@@ -1,196 +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.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
|
-
var _l7Core = require("@antv/l7-core");
|
|
25
|
-
|
|
26
|
-
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
27
|
-
|
|
28
|
-
var _triangulation = require("../../core/triangulation");
|
|
29
|
-
|
|
30
|
-
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); }; }
|
|
31
|
-
|
|
32
|
-
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; } }
|
|
33
|
-
|
|
34
|
-
var pointImageFrag = "\nuniform sampler2D u_texture;\nvarying vec4 v_color;\nvarying vec2 v_uv;\nuniform vec2 u_textSize;\nuniform float u_opacity : 1;\n\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 float size = styleMappingMat[1][0];\n vec2 pos = v_uv / u_textSize + gl_PointCoord / u_textSize * 64.;\n vec4 textureColor;\n\n // Y = 0.299R + 0.587G + 0.114B // \u4EAE\u5EA6\u63D0\u53D6\n \n textureColor = texture2D(u_texture, pos);\n\n // Tip: \u53BB\u9664\u8FB9\u7F18\u90E8\u5206 mipmap \u5BFC\u81F4\u7684\u6DF7\u5408\u53D8\u6697\n float fragmengTocenter = distance(vec2(0.5), gl_PointCoord);\n if(fragmengTocenter >= 0.5) {\n float luma = 0.299 * textureColor.r + 0.587 * textureColor.g + 0.114 * textureColor.b;\n textureColor.a *= luma;\n }\n \n \n\n if(all(lessThan(v_color, vec4(1.0+0.00001))) && all(greaterThan(v_color, vec4(1.0-0.00001))) || v_color==vec4(1.0)){\n gl_FragColor= textureColor;\n }else {\n gl_FragColor= step(0.01, textureColor.z) * v_color;\n }\n\n gl_FragColor.a = gl_FragColor.a * opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
35
|
-
var pointImageVert = "precision highp float;\nattribute vec3 a_Position;\nattribute vec4 a_Color;\nattribute vec2 a_Uv;\nattribute float a_Size;\nvarying vec4 v_color;\nvarying vec2 v_uv;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform vec2 u_offsets;\n\nuniform float u_opacity : 1;\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\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\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 styleMappingMat[1][0] = a_Size;\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 - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n v_color = a_Color;\n v_uv = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n \n // vec2 offset = project_pixel(u_offsets);\n vec2 offset = project_pixel(textrueOffsets);\n\n // gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy + offset),project_pos.z, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(vec2(project_pos.xy + offset),project_pos.z, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy + offset),project_pos.z, 1.0));\n }\n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
36
|
-
|
|
37
|
-
var IconeModel = function (_BaseModel) {
|
|
38
|
-
(0, _inherits2.default)(IconeModel, _BaseModel);
|
|
39
|
-
|
|
40
|
-
var _super = _createSuper(IconeModel);
|
|
41
|
-
|
|
42
|
-
function IconeModel() {
|
|
43
|
-
var _this;
|
|
44
|
-
|
|
45
|
-
(0, _classCallCheck2.default)(this, IconeModel);
|
|
46
|
-
|
|
47
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
48
|
-
args[_key] = arguments[_key];
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
52
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "texture", void 0);
|
|
53
|
-
return _this;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
(0, _createClass2.default)(IconeModel, [{
|
|
57
|
-
key: "getUninforms",
|
|
58
|
-
value: function getUninforms() {
|
|
59
|
-
var _ref = this.layer.getLayerConfig(),
|
|
60
|
-
opacity = _ref.opacity;
|
|
61
|
-
|
|
62
|
-
return {
|
|
63
|
-
u_opacity: opacity || 1.0,
|
|
64
|
-
u_texture: this.texture,
|
|
65
|
-
u_textSize: [1024, this.iconService.canvasHeight || 128]
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}, {
|
|
69
|
-
key: "initModels",
|
|
70
|
-
value: function initModels() {
|
|
71
|
-
var _this2 = this;
|
|
72
|
-
|
|
73
|
-
this.initIconFontGlyphs();
|
|
74
|
-
this.registerBuiltinAttributes();
|
|
75
|
-
this.updateTexture();
|
|
76
|
-
this.iconService.on('imageUpdate', function () {
|
|
77
|
-
_this2.updateTexture();
|
|
78
|
-
|
|
79
|
-
_this2.layer.render();
|
|
80
|
-
});
|
|
81
|
-
return [this.layer.buildLayerModel({
|
|
82
|
-
moduleName: 'pointiconImage',
|
|
83
|
-
vertexShader: pointImageVert,
|
|
84
|
-
fragmentShader: pointImageFrag,
|
|
85
|
-
triangulation: _triangulation.PointImageTriangulation,
|
|
86
|
-
primitive: _l7Core.gl.POINTS,
|
|
87
|
-
depth: {
|
|
88
|
-
enable: false
|
|
89
|
-
},
|
|
90
|
-
blend: this.getBlend()
|
|
91
|
-
})];
|
|
92
|
-
}
|
|
93
|
-
}, {
|
|
94
|
-
key: "clearModels",
|
|
95
|
-
value: function clearModels() {
|
|
96
|
-
var _this$dataTexture;
|
|
97
|
-
|
|
98
|
-
(_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
|
|
99
|
-
}
|
|
100
|
-
}, {
|
|
101
|
-
key: "registerBuiltinAttributes",
|
|
102
|
-
value: function registerBuiltinAttributes() {
|
|
103
|
-
var _this3 = this;
|
|
104
|
-
|
|
105
|
-
this.styleAttributeService.registerStyleAttribute({
|
|
106
|
-
name: 'size',
|
|
107
|
-
type: _l7Core.AttributeType.Attribute,
|
|
108
|
-
descriptor: {
|
|
109
|
-
name: 'a_Size',
|
|
110
|
-
buffer: {
|
|
111
|
-
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
112
|
-
data: [],
|
|
113
|
-
type: _l7Core.gl.FLOAT
|
|
114
|
-
},
|
|
115
|
-
size: 1,
|
|
116
|
-
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
117
|
-
var size = feature.size;
|
|
118
|
-
return Array.isArray(size) ? [size[0]] : [size];
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
this.styleAttributeService.registerStyleAttribute({
|
|
123
|
-
name: 'uv',
|
|
124
|
-
type: _l7Core.AttributeType.Attribute,
|
|
125
|
-
descriptor: {
|
|
126
|
-
name: 'a_Uv',
|
|
127
|
-
buffer: {
|
|
128
|
-
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
129
|
-
data: [],
|
|
130
|
-
type: _l7Core.gl.FLOAT
|
|
131
|
-
},
|
|
132
|
-
size: 2,
|
|
133
|
-
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
134
|
-
var mapping = _this3.fontService.mapping;
|
|
135
|
-
var shape = feature.shape;
|
|
136
|
-
|
|
137
|
-
var icon = _this3.fontService.getGlyph(shape);
|
|
138
|
-
|
|
139
|
-
var _mapping$icon = mapping[icon],
|
|
140
|
-
x = _mapping$icon.x,
|
|
141
|
-
y = _mapping$icon.y;
|
|
142
|
-
return [x, y];
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}, {
|
|
148
|
-
key: "updateTexture",
|
|
149
|
-
value: function updateTexture() {
|
|
150
|
-
var createTexture2D = this.rendererService.createTexture2D;
|
|
151
|
-
var canvas = this.fontService.canvas;
|
|
152
|
-
this.texture = createTexture2D({
|
|
153
|
-
data: canvas,
|
|
154
|
-
mag: _l7Core.gl.LINEAR,
|
|
155
|
-
min: _l7Core.gl.LINEAR,
|
|
156
|
-
width: canvas.width,
|
|
157
|
-
height: canvas.height
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}, {
|
|
161
|
-
key: "initIconFontGlyphs",
|
|
162
|
-
value: function initIconFontGlyphs() {
|
|
163
|
-
var _this4 = this;
|
|
164
|
-
|
|
165
|
-
var _ref2 = this.layer.getLayerConfig(),
|
|
166
|
-
_ref2$fontWeight = _ref2.fontWeight,
|
|
167
|
-
fontWeight = _ref2$fontWeight === void 0 ? 'normal' : _ref2$fontWeight,
|
|
168
|
-
_ref2$fontFamily = _ref2.fontFamily,
|
|
169
|
-
fontFamily = _ref2$fontFamily === void 0 ? 'sans-serif' : _ref2$fontFamily;
|
|
170
|
-
|
|
171
|
-
var data = this.layer.getEncodedData();
|
|
172
|
-
var characterSet = [];
|
|
173
|
-
data.forEach(function (item) {
|
|
174
|
-
var _item$shape = item.shape,
|
|
175
|
-
shape = _item$shape === void 0 ? '' : _item$shape;
|
|
176
|
-
shape = shape.toString();
|
|
177
|
-
|
|
178
|
-
var icon = _this4.fontService.getGlyph(shape);
|
|
179
|
-
|
|
180
|
-
if (characterSet.indexOf(icon) === -1) {
|
|
181
|
-
characterSet.push(icon);
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
this.fontService.setFontOptions({
|
|
185
|
-
characterSet: characterSet,
|
|
186
|
-
fontWeight: fontWeight,
|
|
187
|
-
fontFamily: fontFamily,
|
|
188
|
-
fontSize: 48
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
}]);
|
|
192
|
-
return IconeModel;
|
|
193
|
-
}(_BaseModel2.default);
|
|
194
|
-
|
|
195
|
-
exports.default = IconeModel;
|
|
196
|
-
//# sourceMappingURL=icon-font.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/point/models/icon-font.ts"],"names":["IconeModel","layer","getLayerConfig","opacity","u_opacity","u_texture","texture","u_textSize","iconService","canvasHeight","initIconFontGlyphs","registerBuiltinAttributes","updateTexture","on","render","buildLayerModel","moduleName","vertexShader","pointImageVert","fragmentShader","pointImageFrag","triangulation","PointImageTriangulation","primitive","gl","POINTS","depth","enable","blend","getBlend","dataTexture","destroy","styleAttributeService","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","data","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","Array","isArray","mapping","fontService","shape","icon","getGlyph","x","y","createTexture2D","rendererService","canvas","mag","LINEAR","min","width","height","fontWeight","fontFamily","getEncodedData","characterSet","forEach","item","toString","indexOf","push","setFontOptions","fontSize","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\n\nimport BaseModel from '../../core/BaseModel';\nimport { PointImageTriangulation } from '../../core/triangulation';\nimport pointImageFrag from '../shaders/image_frag.glsl';\nimport pointImageVert from '../shaders/image_vert.glsl';\ninterface IIconIFontStyleOptions {\n opacity: number;\n fontWeight: string;\n fontFamily: string;\n}\n\nexport default class IconeModel extends BaseModel {\n private texture: ITexture2D;\n\n public getUninforms(): IModelUniform {\n const { opacity } = this.layer.getLayerConfig() as IIconIFontStyleOptions;\n return {\n u_opacity: opacity || 1.0,\n u_texture: this.texture,\n u_textSize: [1024, this.iconService.canvasHeight || 128],\n };\n }\n\n public initModels(): IModel[] {\n this.initIconFontGlyphs();\n this.registerBuiltinAttributes();\n this.updateTexture();\n this.iconService.on('imageUpdate', () => {\n this.updateTexture();\n this.layer.render(); // TODO 调用全局render\n });\n return [\n this.layer.buildLayerModel({\n moduleName: 'pointiconImage',\n vertexShader: pointImageVert,\n fragmentShader: pointImageFrag,\n triangulation: PointImageTriangulation,\n primitive: gl.POINTS,\n depth: { enable: false },\n blend: this.getBlend(),\n }),\n ];\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'size',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Size',\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: 1,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size } = feature;\n return Array.isArray(size) ? [size[0]] : [size as number];\n },\n },\n });\n\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 const { mapping } = this.fontService;\n const { shape } = feature;\n const icon = this.fontService.getGlyph(shape as string);\n const { x, y } = mapping[icon];\n return [x, y];\n },\n },\n });\n }\n\n private updateTexture() {\n const { createTexture2D } = this.rendererService;\n const { canvas } = this.fontService;\n this.texture = createTexture2D({\n data: canvas,\n mag: gl.LINEAR,\n min: gl.LINEAR,\n width: canvas.width,\n height: canvas.height,\n });\n }\n\n private initIconFontGlyphs() {\n const {\n fontWeight = 'normal',\n fontFamily = 'sans-serif',\n } = this.layer.getLayerConfig() as IIconIFontStyleOptions;\n const data = this.layer.getEncodedData();\n const characterSet: string[] = [];\n data.forEach((item: IEncodeFeature) => {\n let { shape = '' } = item;\n shape = shape.toString();\n const icon = this.fontService.getGlyph(shape);\n if (characterSet.indexOf(icon) === -1) {\n characterSet.push(icon);\n }\n });\n this.fontService.setFontOptions({\n characterSet,\n fontWeight,\n fontFamily,\n fontSize: 48,\n });\n }\n}\n"],"file":"icon-font.js"}
|
package/lib/raster/image.js
DELETED
package/lib/raster/image.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"image.js"}
|
package/lib/raster/raster2d.js
DELETED
|
@@ -1,172 +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.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
|
-
var _l7Core = require("@antv/l7-core");
|
|
25
|
-
|
|
26
|
-
var _l7Utils = require("@antv/l7-utils");
|
|
27
|
-
|
|
28
|
-
var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
|
|
29
|
-
|
|
30
|
-
var _triangulation = require("../core/triangulation");
|
|
31
|
-
|
|
32
|
-
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); }; }
|
|
33
|
-
|
|
34
|
-
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; } }
|
|
35
|
-
|
|
36
|
-
var rasterImageFrag = "precision mediump float;\nuniform float u_opacity: 1.0;\nuniform sampler2D u_texture;\nuniform sampler2D u_colorTexture;\nuniform float u_min;\nuniform float u_max;\nuniform vec2 u_domain;\nuniform float u_noDataValue;\nuniform bool u_clampLow: true;\nuniform bool u_clampHigh: true;\nvarying vec2 v_texCoord;\n\nvoid main() {\n\n float value = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y)).r;\n if (value == u_noDataValue)\n gl_FragColor = vec4(0.0, 0, 0, 0.0);\n else if ((!u_clampLow && value < u_domain[0]) || (!u_clampHigh && value > u_domain[1]))\n gl_FragColor = vec4(0, 0, 0, 0);\n else {\n float normalisedValue =(value - u_domain[0]) / (u_domain[1] -u_domain[0]);\n vec4 color = texture2D(u_colorTexture,vec2(normalisedValue, 0));\n gl_FragColor = color;\n gl_FragColor.a = gl_FragColor.a * u_opacity ;\n }\n\n\n}\n";
|
|
37
|
-
var rasterImageVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n#pragma include \"projection\"\nvoid main() {\n v_texCoord = a_Uv;\n vec4 project_pos = project_position(vec4(a_Position, 1.0));\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy,0., 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy,0., 1.0));\n }\n}\n";
|
|
38
|
-
|
|
39
|
-
var Raster2dLayer = function (_BaseLayer) {
|
|
40
|
-
(0, _inherits2.default)(Raster2dLayer, _BaseLayer);
|
|
41
|
-
|
|
42
|
-
var _super = _createSuper(Raster2dLayer);
|
|
43
|
-
|
|
44
|
-
function Raster2dLayer() {
|
|
45
|
-
var _this;
|
|
46
|
-
|
|
47
|
-
(0, _classCallCheck2.default)(this, Raster2dLayer);
|
|
48
|
-
|
|
49
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
50
|
-
args[_key] = arguments[_key];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
54
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'RasterLayer');
|
|
55
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "rasterTexture", void 0);
|
|
56
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "colorTexture", void 0);
|
|
57
|
-
return _this;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
(0, _createClass2.default)(Raster2dLayer, [{
|
|
61
|
-
key: "buildModels",
|
|
62
|
-
value: function buildModels() {
|
|
63
|
-
this.registerBuiltinAttributes();
|
|
64
|
-
var source = this.getSource();
|
|
65
|
-
var createTexture2D = this.rendererService.createTexture2D;
|
|
66
|
-
var parserDataItem = this.getSource().data.dataArray[0];
|
|
67
|
-
this.rasterTexture = createTexture2D({
|
|
68
|
-
data: parserDataItem.data,
|
|
69
|
-
width: parserDataItem.width,
|
|
70
|
-
height: parserDataItem.height,
|
|
71
|
-
format: _l7Core.gl.LUMINANCE,
|
|
72
|
-
type: _l7Core.gl.FLOAT,
|
|
73
|
-
aniso: 4
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
var _this$getLayerConfig = this.getLayerConfig(),
|
|
77
|
-
rampColors = _this$getLayerConfig.rampColors;
|
|
78
|
-
|
|
79
|
-
var imageData = (0, _l7Utils.generateColorRamp)(rampColors);
|
|
80
|
-
this.colorTexture = createTexture2D({
|
|
81
|
-
data: imageData.data,
|
|
82
|
-
width: imageData.width,
|
|
83
|
-
height: imageData.height,
|
|
84
|
-
flipY: false
|
|
85
|
-
});
|
|
86
|
-
this.models = [this.buildLayerModel({
|
|
87
|
-
moduleName: 'Raster3DImage',
|
|
88
|
-
vertexShader: rasterImageVert,
|
|
89
|
-
fragmentShader: rasterImageFrag,
|
|
90
|
-
triangulation: _triangulation.RasterImageTriangulation,
|
|
91
|
-
primitive: _l7Core.gl.TRIANGLES,
|
|
92
|
-
depth: {
|
|
93
|
-
enable: false
|
|
94
|
-
},
|
|
95
|
-
blend: {
|
|
96
|
-
enable: true,
|
|
97
|
-
func: {
|
|
98
|
-
srcRGB: _l7Core.gl.SRC_ALPHA,
|
|
99
|
-
srcAlpha: 1,
|
|
100
|
-
dstRGB: _l7Core.gl.ONE_MINUS_SRC_ALPHA,
|
|
101
|
-
dstAlpha: 1
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
})];
|
|
105
|
-
}
|
|
106
|
-
}, {
|
|
107
|
-
key: "renderModels",
|
|
108
|
-
value: function renderModels() {
|
|
109
|
-
var _this2 = this;
|
|
110
|
-
|
|
111
|
-
var _this$getLayerConfig2 = this.getLayerConfig(),
|
|
112
|
-
opacity = _this$getLayerConfig2.opacity;
|
|
113
|
-
|
|
114
|
-
var parserDataItem = this.getSource().data.dataArray[0];
|
|
115
|
-
var min = parserDataItem.min,
|
|
116
|
-
max = parserDataItem.max;
|
|
117
|
-
|
|
118
|
-
if (this.rasterTexture) {
|
|
119
|
-
this.models.forEach(function (model) {
|
|
120
|
-
return model.draw({
|
|
121
|
-
uniforms: {
|
|
122
|
-
u_opacity: opacity || 1,
|
|
123
|
-
u_texture: _this2.rasterTexture,
|
|
124
|
-
u_min: min,
|
|
125
|
-
u_max: max,
|
|
126
|
-
u_colorTexture: _this2.colorTexture
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return this;
|
|
133
|
-
}
|
|
134
|
-
}, {
|
|
135
|
-
key: "getConfigSchema",
|
|
136
|
-
value: function getConfigSchema() {
|
|
137
|
-
return {
|
|
138
|
-
properties: {
|
|
139
|
-
opacity: {
|
|
140
|
-
type: 'number',
|
|
141
|
-
minimum: 0,
|
|
142
|
-
maximum: 1
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
}, {
|
|
148
|
-
key: "registerBuiltinAttributes",
|
|
149
|
-
value: function registerBuiltinAttributes() {
|
|
150
|
-
this.styleAttributeService.registerStyleAttribute({
|
|
151
|
-
name: 'uv',
|
|
152
|
-
type: _l7Core.AttributeType.Attribute,
|
|
153
|
-
descriptor: {
|
|
154
|
-
name: 'a_Uv',
|
|
155
|
-
buffer: {
|
|
156
|
-
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
157
|
-
data: [],
|
|
158
|
-
type: _l7Core.gl.FLOAT
|
|
159
|
-
},
|
|
160
|
-
size: 2,
|
|
161
|
-
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
162
|
-
return [vertex[3], vertex[4]];
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
}]);
|
|
168
|
-
return Raster2dLayer;
|
|
169
|
-
}(_BaseLayer2.default);
|
|
170
|
-
|
|
171
|
-
exports.default = Raster2dLayer;
|
|
172
|
-
//# sourceMappingURL=raster2d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/raster/raster2d.ts"],"names":["Raster2dLayer","registerBuiltinAttributes","source","getSource","createTexture2D","rendererService","parserDataItem","data","dataArray","rasterTexture","width","height","format","gl","LUMINANCE","type","FLOAT","aniso","getLayerConfig","rampColors","imageData","colorTexture","flipY","models","buildLayerModel","moduleName","vertexShader","rasterImageVert","fragmentShader","rasterImageFrag","triangulation","RasterImageTriangulation","primitive","TRIANGLES","depth","enable","blend","func","srcRGB","SRC_ALPHA","srcAlpha","dstRGB","ONE_MINUS_SRC_ALPHA","dstAlpha","opacity","min","max","forEach","model","draw","uniforms","u_opacity","u_texture","u_min","u_max","u_colorTexture","properties","minimum","maximum","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","BaseLayer"],"mappings":"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","sourcesContent":["import { AttributeType, gl, IEncodeFeature, ITexture2D } from '@antv/l7-core';\nimport { generateColorRamp, IColorRamp } from '@antv/l7-utils';\nimport BaseLayer from '../core/BaseLayer';\nimport { RasterImageTriangulation } from '../core/triangulation';\nimport rasterImageFrag from './shaders/raster_2d_frag.glsl';\nimport rasterImageVert from './shaders/raster_2d_vert.glsl';\ninterface IRasterLayerStyleOptions {\n opacity: number;\n min: number;\n max: number;\n rampColors: IColorRamp;\n}\n\nexport default class Raster2dLayer extends BaseLayer<IRasterLayerStyleOptions> {\n public type: string = 'RasterLayer';\n protected rasterTexture: ITexture2D;\n protected colorTexture: ITexture2D;\n\n public buildModels() {\n this.registerBuiltinAttributes();\n const source = this.getSource();\n const { createTexture2D } = this.rendererService;\n const parserDataItem = this.getSource().data.dataArray[0];\n this.rasterTexture = 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 { rampColors } = this.getLayerConfig();\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 this.models = [\n this.buildLayerModel({\n moduleName: 'Raster3DImage',\n vertexShader: rasterImageVert,\n fragmentShader: rasterImageFrag,\n triangulation: RasterImageTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: false },\n blend: {\n enable: true,\n func: {\n srcRGB: gl.SRC_ALPHA,\n srcAlpha: 1,\n dstRGB: gl.ONE_MINUS_SRC_ALPHA,\n dstAlpha: 1,\n },\n },\n }),\n ];\n }\n public renderModels() {\n const { opacity } = this.getLayerConfig();\n const parserDataItem = this.getSource().data.dataArray[0];\n const { min, max } = parserDataItem;\n if (this.rasterTexture) {\n this.models.forEach((model) =>\n model.draw({\n uniforms: {\n u_opacity: opacity || 1,\n u_texture: this.rasterTexture,\n u_min: min,\n u_max: max,\n u_colorTexture: this.colorTexture,\n },\n }),\n );\n }\n\n return this;\n }\n\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n private 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"],"file":"raster2d.js"}
|
package/lib/utils/geo.js
DELETED
|
@@ -1,65 +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.calculateCentroid = calculateCentroid;
|
|
9
|
-
exports.calculatePointsCenterAndRadius = calculatePointsCenterAndRadius;
|
|
10
|
-
|
|
11
|
-
var _isNumber2 = _interopRequireDefault(require("lodash/isNumber"));
|
|
12
|
-
|
|
13
|
-
function calculateCentroid(coord) {
|
|
14
|
-
if ((0, _isNumber2.default)(coord[0])) {
|
|
15
|
-
return coord;
|
|
16
|
-
} else if ((0, _isNumber2.default)(coord[0][0])) {
|
|
17
|
-
throw new Error('当前数据不支持标注');
|
|
18
|
-
} else if ((0, _isNumber2.default)(coord[0][0][0])) {
|
|
19
|
-
var coords = coord;
|
|
20
|
-
var xSum = 0;
|
|
21
|
-
var ySum = 0;
|
|
22
|
-
var len = 0;
|
|
23
|
-
coords.forEach(function (coor) {
|
|
24
|
-
coor.forEach(function (pos) {
|
|
25
|
-
xSum += pos[0];
|
|
26
|
-
ySum += pos[1];
|
|
27
|
-
len++;
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
return [xSum / len, ySum / len, 0];
|
|
31
|
-
} else {
|
|
32
|
-
throw new Error('当前数据不支持标注');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function calculatePointsCenterAndRadius(points) {
|
|
37
|
-
var maxX = points[0];
|
|
38
|
-
var maxY = points[1];
|
|
39
|
-
var minX = points[0];
|
|
40
|
-
var minY = points[1];
|
|
41
|
-
var xCount = 0;
|
|
42
|
-
var yCount = 0;
|
|
43
|
-
var pCount = 0;
|
|
44
|
-
|
|
45
|
-
for (var i = 0; i < points.length; i += 2) {
|
|
46
|
-
var x = points[i];
|
|
47
|
-
var y = points[i + 1];
|
|
48
|
-
|
|
49
|
-
if (x && y) {
|
|
50
|
-
maxX = Math.max(x, maxX);
|
|
51
|
-
maxY = Math.max(y, maxY);
|
|
52
|
-
minX = Math.min(x, minX);
|
|
53
|
-
minY = Math.min(y, minY);
|
|
54
|
-
xCount += x;
|
|
55
|
-
yCount += y;
|
|
56
|
-
pCount++;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return {
|
|
61
|
-
center: [xCount / pCount, yCount / pCount],
|
|
62
|
-
radius: Math.sqrt(Math.pow(maxX - minX, 2) + Math.pow(maxY - minY, 2)) / 2
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=geo.js.map
|
package/lib/utils/geo.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/geo.ts"],"names":["calculateCentroid","coord","Error","coords","xSum","ySum","len","forEach","coor","pos","calculatePointsCenterAndRadius","points","maxX","maxY","minX","minY","xCount","yCount","pCount","i","length","x","y","Math","max","min","center","radius","sqrt","pow"],"mappings":";;;;;;;;;;;;AAEO,SAASA,iBAAT,CACLC,KADK,EAEK;AAEV,MAAI,wBAASA,KAAK,CAAC,CAAD,CAAd,CAAJ,EAAwB;AACtB,WAAOA,KAAP;AACD,GAFD,MAEO,IAAI,wBAASA,KAAK,CAAC,CAAD,CAAL,CAAS,CAAT,CAAT,CAAJ,EAA2B;AAChC,UAAM,IAAIC,KAAJ,CAAU,WAAV,CAAN;AACD,GAFM,MAEA,IAAI,wBAASD,KAAK,CAAC,CAAD,CAAL,CAAS,CAAT,EAAY,CAAZ,CAAT,CAAJ,EAA8B;AACnC,QAAME,MAAM,GAAGF,KAAf;AACA,QAAIG,IAAI,GAAG,CAAX;AACA,QAAIC,IAAI,GAAG,CAAX;AACA,QAAIC,GAAG,GAAG,CAAV;AACAH,IAAAA,MAAM,CAACI,OAAP,CAAe,UAACC,IAAD,EAAsB;AACnCA,MAAAA,IAAI,CAACD,OAAL,CAAa,UAACE,GAAD,EAAS;AACpBL,QAAAA,IAAI,IAAIK,GAAG,CAAC,CAAD,CAAX;AACAJ,QAAAA,IAAI,IAAII,GAAG,CAAC,CAAD,CAAX;AACAH,QAAAA,GAAG;AACJ,OAJD;AAKD,KAND;AAOA,WAAO,CAACF,IAAI,GAAGE,GAAR,EAAaD,IAAI,GAAGC,GAApB,EAAyB,CAAzB,CAAP;AACD,GAbM,MAaA;AACL,UAAM,IAAIJ,KAAJ,CAAU,WAAV,CAAN;AACD;AACF;;AAOM,SAASQ,8BAAT,CAAwCC,MAAxC,EAA0D;AAC/D,MAAIC,IAAI,GAAGD,MAAM,CAAC,CAAD,CAAjB;AACA,MAAIE,IAAI,GAAGF,MAAM,CAAC,CAAD,CAAjB;AACA,MAAIG,IAAI,GAAGH,MAAM,CAAC,CAAD,CAAjB;AACA,MAAII,IAAI,GAAGJ,MAAM,CAAC,CAAD,CAAjB;AACA,MAAIK,MAAM,GAAG,CAAb;AACA,MAAIC,MAAM,GAAG,CAAb;AACA,MAAIC,MAAM,GAAG,CAAb;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGR,MAAM,CAACS,MAA3B,EAAmCD,CAAC,IAAI,CAAxC,EAA2C;AACzC,QAAME,CAAC,GAAGV,MAAM,CAACQ,CAAD,CAAhB;AACA,QAAMG,CAAC,GAAGX,MAAM,CAACQ,CAAC,GAAG,CAAL,CAAhB;;AACA,QAAIE,CAAC,IAAIC,CAAT,EAAY;AACVV,MAAAA,IAAI,GAAGW,IAAI,CAACC,GAAL,CAASH,CAAT,EAAYT,IAAZ,CAAP;AACAC,MAAAA,IAAI,GAAGU,IAAI,CAACC,GAAL,CAASF,CAAT,EAAYT,IAAZ,CAAP;AACAC,MAAAA,IAAI,GAAGS,IAAI,CAACE,GAAL,CAASJ,CAAT,EAAYP,IAAZ,CAAP;AACAC,MAAAA,IAAI,GAAGQ,IAAI,CAACE,GAAL,CAASH,CAAT,EAAYP,IAAZ,CAAP;AACAC,MAAAA,MAAM,IAAIK,CAAV;AACAJ,MAAAA,MAAM,IAAIK,CAAV;AACAJ,MAAAA,MAAM;AACP;AACF;;AACD,SAAO;AACLQ,IAAAA,MAAM,EAAE,CAACV,MAAM,GAAGE,MAAV,EAAkBD,MAAM,GAAGC,MAA3B,CADH;AAELS,IAAAA,MAAM,EAAEJ,IAAI,CAACK,IAAL,CAAUL,IAAI,CAACM,GAAL,CAASjB,IAAI,GAAGE,IAAhB,EAAsB,CAAtB,IAA2BS,IAAI,CAACM,GAAL,CAAShB,IAAI,GAAGE,IAAhB,EAAsB,CAAtB,CAArC,IAAiE;AAFpE,GAAP;AAID","sourcesContent":["type Position = number[];\nimport { isNumber } from 'lodash';\nexport function calculateCentroid(\n coord: Position | Position[] | Position[][],\n): Position {\n // let pos = coord as Position;\n if (isNumber(coord[0])) {\n return coord as Position;\n } else if (isNumber(coord[0][0])) {\n throw new Error('当前数据不支持标注');\n } else if (isNumber(coord[0][0][0])) {\n const coords = coord as Position[][];\n let xSum = 0;\n let ySum = 0;\n let len = 0;\n coords.forEach((coor: Position[]) => {\n coor.forEach((pos) => {\n xSum += pos[0];\n ySum += pos[1];\n len++;\n });\n });\n return [xSum / len, ySum / len, 0];\n } else {\n throw new Error('当前数据不支持标注');\n }\n}\n\n/**\n * 计算\n * @param points\n * @returns\n */\nexport function calculatePointsCenterAndRadius(points: number[]) {\n let maxX = points[0];\n let maxY = points[1];\n let minX = points[0];\n let minY = points[1];\n let xCount = 0;\n let yCount = 0;\n let pCount = 0;\n\n for (let i = 0; i < points.length; i += 2) {\n const x = points[i];\n const y = points[i + 1];\n if (x && y) {\n maxX = Math.max(x, maxX);\n maxY = Math.max(y, maxY);\n minX = Math.min(x, minX);\n minY = Math.min(y, minY);\n xCount += x;\n yCount += y;\n pCount++;\n }\n }\n return {\n center: [xCount / pCount, yCount / pCount],\n radius: Math.sqrt(Math.pow(maxX - minX, 2) + Math.pow(maxY - minY, 2)) / 2,\n };\n}\n"],"file":"geo.js"}
|