@deck.gl/carto 8.9.4 → 8.9.5
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/dist/dist.dev.js +359 -174
- package/dist/es5/api/layer-map.js +44 -44
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +22 -4
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +64 -48
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/index.js +8 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/point-label-layer.js +268 -0
- package/dist/es5/layers/point-label-layer.js.map +1 -0
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +1 -9
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile.js +5 -31
- package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +12 -6
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js +1 -21
- package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/fast-pbf.js +22 -0
- package/dist/es5/layers/schema/fast-pbf.js.map +1 -0
- package/dist/es5/layers/schema/tile-loader-utils.js +0 -17
- package/dist/es5/layers/schema/tile-loader-utils.js.map +1 -1
- package/dist/es5/layers/spatial-index-tile-layer.js +19 -1
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/esm/api/layer-map.js +29 -21
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +12 -1
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +59 -44
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/point-label-layer.js +198 -0
- package/dist/esm/layers/point-label-layer.js.map +1 -0
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +2 -4
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile.js +3 -28
- package/dist/esm/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +12 -6
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js +2 -18
- package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/fast-pbf.js +13 -0
- package/dist/esm/layers/schema/fast-pbf.js.map +1 -0
- package/dist/esm/layers/schema/tile-loader-utils.js +0 -16
- package/dist/esm/layers/schema/tile-loader-utils.js.map +1 -1
- package/dist/esm/layers/spatial-index-tile-layer.js +21 -1
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist.min.js +24 -23
- package/package.json +2 -2
- package/src/api/layer-map.ts +21 -25
- package/src/api/maps-v3-client.ts +19 -4
- package/src/api/parseMap.ts +67 -44
- package/src/api/types.ts +1 -0
- package/src/index.ts +1 -0
- package/src/layers/point-label-layer.ts +266 -0
- package/src/layers/schema/carto-spatial-tile-loader.ts +2 -5
- package/src/layers/schema/carto-spatial-tile.ts +5 -30
- package/src/layers/schema/carto-tile.ts +11 -12
- package/src/layers/schema/carto-vector-tile-loader.ts +2 -9
- package/src/layers/schema/fast-pbf.ts +13 -0
- package/src/layers/schema/tile-loader-utils.ts +0 -15
- package/src/layers/spatial-index-tile-layer.ts +22 -1
- package/typed/api/layer-map.d.ts +1 -2
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts +4 -1
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/api/parseMap.d.ts +1 -1
- package/typed/api/parseMap.d.ts.map +1 -1
- package/typed/api/types.d.ts +1 -0
- package/typed/api/types.d.ts.map +1 -1
- package/typed/index.d.ts +1 -0
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/point-label-layer.d.ts +56 -0
- package/typed/layers/point-label-layer.d.ts.map +1 -0
- package/typed/layers/schema/carto-spa-tile.d.ts +57 -0
- package/typed/layers/schema/carto-spa-tile.d.ts.map +1 -0
- package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-spatial-tile.d.ts +2 -2
- package/typed/layers/schema/carto-spatial-tile.d.ts.map +1 -1
- package/typed/layers/schema/carto-tile.d.ts +2 -9
- package/typed/layers/schema/carto-tile.d.ts.map +1 -1
- package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/fast-pbf.d.ts +3 -0
- package/typed/layers/schema/fast-pbf.d.ts.map +1 -0
- package/typed/layers/schema/tile-loader-utils.d.ts +0 -3
- package/typed/layers/schema/tile-loader-utils.d.ts.map +1 -1
- package/typed/layers/spatial-index-tile-layer.d.ts +1 -0
- package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
- package/typed/api/index.js +0 -3
- package/typed/api/layer-map.js +0 -264
- package/typed/api/maps-api-common.js +0 -50
- package/typed/api/maps-client.js +0 -125
- package/typed/api/maps-v3-client.js +0 -304
- package/typed/api/parseMap.js +0 -178
- package/typed/basemap.js +0 -9
- package/typed/config.js +0 -35
- package/typed/index.js +0 -10
- package/typed/layers/carto-layer.js +0 -173
- package/typed/layers/carto-tile-layer.js +0 -105
- package/typed/layers/h3-tile-layer.js +0 -47
- package/typed/layers/h3-tileset-2d.js +0 -85
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.js +0 -36
- package/typed/layers/schema/carto-tile.js +0 -161
- package/typed/layers/spatial-index-tile-layer.js +0 -40
- package/typed/style/color-bins-style.js +0 -12
- package/typed/style/color-categories-style.js +0 -16
- package/typed/style/color-continuous-style.js +0 -12
- package/typed/style/palette.js +0 -62
- package/typed/style/utils.js +0 -15
- package/typed/utils.js +0 -4
|
@@ -9,8 +9,6 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
13
|
|
|
16
14
|
var _cartoSpatialTile = require("./carto-spatial-tile");
|
|
@@ -19,10 +17,6 @@ var _tileLoaderUtils = require("./tile-loader-utils");
|
|
|
19
17
|
|
|
20
18
|
var _spatialjsonUtils = require("./spatialjson-utils");
|
|
21
19
|
|
|
22
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
-
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
25
|
-
|
|
26
20
|
var CartoSpatialTileLoader = {
|
|
27
21
|
name: 'CARTO Spatial Tile',
|
|
28
22
|
version: '1',
|
|
@@ -70,9 +64,7 @@ function parseCartoSpatialTile(arrayBuffer, options) {
|
|
|
70
64
|
var cells = tile.cells;
|
|
71
65
|
var scheme = options === null || options === void 0 ? void 0 : (_options$cartoSpatial = options.cartoSpatialTile) === null || _options$cartoSpatial === void 0 ? void 0 : _options$cartoSpatial.scheme;
|
|
72
66
|
var data = {
|
|
73
|
-
cells:
|
|
74
|
-
properties: (0, _tileLoaderUtils.unpackProperties)(cells.properties)
|
|
75
|
-
}),
|
|
67
|
+
cells: cells,
|
|
76
68
|
scheme: scheme
|
|
77
69
|
};
|
|
78
70
|
return (0, _spatialjsonUtils.binaryToSpatialjson)(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile-loader.ts"],"names":["CartoSpatialTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parse","arrayBuffer","options","parseCartoSpatialTile","parseSync","cartoSpatialTile","scheme","tile","TileReader","cells","data"
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile-loader.ts"],"names":["CartoSpatialTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parse","arrayBuffer","options","parseCartoSpatialTile","parseSync","cartoSpatialTile","scheme","tile","TileReader","cells","data"],"mappings":";;;;;;;;;;;;;AAEA;;AACA;;AACA;;AAEA,IAAMA,sBAAwC,GAAG;AAC/CC,EAAAA,IAAI,EAAE,oBADyC;AAE/CC,EAAAA,OAAO,EAAE,GAFsC;AAG/CC,EAAAA,EAAE,EAAE,kBAH2C;AAI/CC,EAAAA,MAAM,EAAE,OAJuC;AAK/CC,EAAAA,UAAU,EAAE,CAAC,KAAD,CALmC;AAM/CC,EAAAA,SAAS,EAAE,CAAC,oCAAD,CANoC;AAO/CC,EAAAA,QAAQ,EAAE,UAPqC;AAQ/CC,EAAAA,MAAM,EAAE,KARuC;AAS/CC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgCC,qBAAqB,CAACF,WAAD,EAAcC,OAAd,CAArD;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KAT0C;AAU/CE,EAAAA,SAAS,EAAED,qBAVoC;AAW/CD,EAAAA,OAAO,EAAE;AACPG,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,MAAM,EAAE;AADQ;AADX;AAXsC,CAAjD;;AAkBA,SAASH,qBAAT,CACEF,WADF,EAEEC,OAFF,EAGsB;AAAA;;AACpB,MAAI,CAACD,WAAL,EAAkB,OAAO,IAAP;AAClB,MAAMM,IAAU,GAAG,+BAASN,WAAT,EAAsBO,4BAAtB,CAAnB;AAEA,MAAOC,KAAP,GAAgBF,IAAhB,CAAOE,KAAP;AACA,MAAMH,MAAM,GAAGJ,OAAH,aAAGA,OAAH,gDAAGA,OAAO,CAAEG,gBAAZ,0DAAG,sBAA2BC,MAA1C;AACA,MAAMI,IAAI,GAAG;AAACD,IAAAA,KAAK,EAALA,KAAD;AAAQH,IAAAA,MAAM,EAANA;AAAR,GAAb;AAEA,SAAO,2CAAoBI,IAApB,CAAP;AACD;;eAEcnB,sB","sourcesContent":["import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\n\nimport {Tile, TileReader} from './carto-spatial-tile';\nimport {parsePbf} from './tile-loader-utils';\nimport {IndexScheme, binaryToSpatialjson, SpatialJson} from './spatialjson-utils';\n\nconst CartoSpatialTileLoader: LoaderWithParser = {\n name: 'CARTO Spatial Tile',\n version: '1',\n id: 'cartoSpatialTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/vnd.carto-spatial-tile'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoSpatialTile(arrayBuffer, options),\n parseSync: parseCartoSpatialTile,\n options: {\n cartoSpatialTile: {\n scheme: 'quadbin'\n } as {scheme: IndexScheme}\n }\n};\n\nfunction parseCartoSpatialTile(\n arrayBuffer: ArrayBuffer,\n options?: LoaderOptions\n): SpatialJson | null {\n if (!arrayBuffer) return null;\n const tile: Tile = parsePbf(arrayBuffer, TileReader);\n\n const {cells} = tile;\n const scheme = options?.cartoSpatialTile?.scheme;\n const data = {cells, scheme};\n\n return binaryToSpatialjson(data);\n}\n\nexport default CartoSpatialTileLoader;\n"],"file":"carto-spatial-tile-loader.js"}
|
|
@@ -11,6 +11,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
11
11
|
|
|
12
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
13
|
|
|
14
|
+
var _fastPbf = require("./fast-pbf");
|
|
15
|
+
|
|
14
16
|
var _cartoTile = require("./carto-tile");
|
|
15
17
|
|
|
16
18
|
var IndicesReader = function () {
|
|
@@ -21,19 +23,14 @@ var IndicesReader = function () {
|
|
|
21
23
|
(0, _createClass2.default)(IndicesReader, null, [{
|
|
22
24
|
key: "read",
|
|
23
25
|
value: function read(pbf, end) {
|
|
24
|
-
|
|
26
|
+
return pbf.readFields(IndicesReader._readField, {
|
|
25
27
|
value: []
|
|
26
|
-
}, end)
|
|
27
|
-
value = _pbf$readFields.value;
|
|
28
|
-
|
|
29
|
-
return {
|
|
30
|
-
value: new BigUint64Array(value)
|
|
31
|
-
};
|
|
28
|
+
}, end);
|
|
32
29
|
}
|
|
33
30
|
}, {
|
|
34
31
|
key: "_readField",
|
|
35
32
|
value: function _readField(tag, obj, pbf) {
|
|
36
|
-
if (tag === 1) readPackedFixed64(pbf, obj
|
|
33
|
+
if (tag === 1) (0, _fastPbf.readPackedFixed64)(pbf, obj);
|
|
37
34
|
}
|
|
38
35
|
}]);
|
|
39
36
|
return IndicesReader;
|
|
@@ -91,27 +88,4 @@ var TileReader = function () {
|
|
|
91
88
|
}();
|
|
92
89
|
|
|
93
90
|
exports.TileReader = TileReader;
|
|
94
|
-
var SHIFT_LEFT_32 = BigInt((1 << 16) * (1 << 16));
|
|
95
|
-
|
|
96
|
-
function readPackedEnd(pbf) {
|
|
97
|
-
return pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function readFixed64(pbf) {
|
|
101
|
-
var a = BigInt(pbf.readFixed32());
|
|
102
|
-
var b = BigInt(pbf.readFixed32());
|
|
103
|
-
return a + b * SHIFT_LEFT_32;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function readPackedFixed64(pbf, arr) {
|
|
107
|
-
if (pbf.type !== 2) return arr.push(readFixed64(pbf));
|
|
108
|
-
var end = readPackedEnd(pbf);
|
|
109
|
-
arr = arr || [];
|
|
110
|
-
|
|
111
|
-
while (pbf.pos < end) {
|
|
112
|
-
arr.push(readFixed64(pbf));
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
return arr;
|
|
116
|
-
}
|
|
117
91
|
//# sourceMappingURL=carto-spatial-tile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile.ts"],"names":["IndicesReader","pbf","end","readFields","_readField","value","
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile.ts"],"names":["IndicesReader","pbf","end","readFields","_readField","value","tag","obj","CellsReader","indices","properties","numericProps","read","readVarint","pos","push","PropertiesReader","entry","NumericPropKeyValueReader","key","TileReader","scheme","cells"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;IAIaA,a;;;;;;;WACX,cAAYC,GAAZ,EAAiBC,GAAjB,EAAwC;AACtC,aAAOD,GAAG,CAACE,UAAJ,CAAeH,aAAa,CAACI,UAA7B,EAAyC;AAACC,QAAAA,KAAK,EAAE;AAAR,OAAzC,EAAsDH,GAAtD,CAAP;AACD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAgDN,GAAhD,EAAqD;AACnD,UAAIK,GAAG,KAAK,CAAZ,EAAe,gCAAkBL,GAAlB,EAAuBM,GAAvB;AAChB;;;;;;;IAWGC,W;;;;;;;WACJ,cAAYP,GAAZ,EAAiBC,GAAjB,EAAsC;AACpC,aAAOD,GAAG,CAACE,UAAJ,CACLK,WAAW,CAACJ,UADP,EAEL;AAACK,QAAAA,OAAO,EAAE,IAAV;AAAgBC,QAAAA,UAAU,EAAE,EAA5B;AAAgCC,QAAAA,YAAY,EAAE;AAA9C,OAFK,EAGLT,GAHK,CAAP;AAKD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAuDN,GAAvD,EAA4D;AAC1D,UAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACE,OAAJ,GAAcT,aAAa,CAACY,IAAd,CAAmBX,GAAnB,EAAwBA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA/C,CAAd,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACG,UAAJ,CAAeK,IAAf,CAAoBC,4BAAiBJ,IAAjB,CAAsBX,GAAtB,EAA2BA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAAlD,CAApB,EAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMW,KAAK,GAAGC,qCAA0BN,IAA1B,CAA+BX,GAA/B,EAAoCA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA3D,CAAd;;AACAP,QAAAA,GAAG,CAACI,YAAJ,CAAiBM,KAAK,CAACE,GAAvB,IAA8BF,KAAK,CAACZ,KAApC;AACD;AACF;;;;;IAWUe,U;;;;;;;WACX,cAAYnB,GAAZ,EAAiBC,GAAjB,EAAqC;AACnC,aAAOD,GAAG,CAACE,UAAJ,CAAeiB,UAAU,CAAChB,UAA1B,EAAsC;AAACiB,QAAAA,MAAM,EAAE,CAAT;AAAYC,QAAAA,KAAK,EAAE;AAAnB,OAAtC,EAAgEpB,GAAhE,CAAP;AACD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAsDN,GAAtD,EAA2D;AACzD,UAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACc,MAAJ,GAAapB,GAAG,CAACY,UAAJ,EAAb,CAAf,KACK,IAAIP,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACe,KAAJ,GAAYd,WAAW,CAACI,IAAZ,CAAiBX,GAAjB,EAAsBA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA7C,CAAZ;AACrB","sourcesContent":["import {readPackedFixed64} from './fast-pbf';\nimport {Indices, IndexScheme} from './spatialjson-utils';\nimport {NumericProp, NumericPropKeyValueReader, PropertiesReader} from './carto-tile';\n\n// Indices =====================================\n\nexport class IndicesReader {\n static read(pbf, end?: number): Indices {\n return pbf.readFields(IndicesReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedFixed64(pbf, obj);\n }\n}\n\n// Cells =========================================\n\ninterface Cells {\n indices: Indices;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n}\n\nclass CellsReader {\n static read(pbf, end?: number): Cells {\n return pbf.readFields(\n CellsReader._readField,\n {indices: null, properties: [], numericProps: {}},\n end\n );\n }\n static _readField(this: void, tag: number, obj: Cells, pbf) {\n if (tag === 1) obj.indices = IndicesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 3) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\n// Tile ========================================\n\n// TODO this type is very similar to SpatialBinary, should align\nexport interface Tile {\n scheme: IndexScheme;\n cells: Cells;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {scheme: 0, cells: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.scheme = pbf.readVarint();\n else if (tag === 2) obj.cells = CellsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-spatial-tile.js"}
|
|
@@ -11,6 +11,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
11
11
|
|
|
12
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
13
|
|
|
14
|
+
var _fastPbf = require("./fast-pbf");
|
|
15
|
+
|
|
14
16
|
var KeyValueObjectReader = function () {
|
|
15
17
|
function KeyValueObjectReader() {
|
|
16
18
|
(0, _classCallCheck2.default)(this, KeyValueObjectReader);
|
|
@@ -41,14 +43,18 @@ var PropertiesReader = function () {
|
|
|
41
43
|
(0, _createClass2.default)(PropertiesReader, null, [{
|
|
42
44
|
key: "read",
|
|
43
45
|
value: function read(pbf, end) {
|
|
44
|
-
return pbf.readFields(PropertiesReader._readField, {
|
|
45
|
-
data: []
|
|
46
|
-
}, end);
|
|
46
|
+
return pbf.readFields(PropertiesReader._readField, {}, end);
|
|
47
47
|
}
|
|
48
48
|
}, {
|
|
49
49
|
key: "_readField",
|
|
50
50
|
value: function _readField(tag, obj, pbf) {
|
|
51
|
-
if (tag === 1)
|
|
51
|
+
if (tag === 1) {
|
|
52
|
+
var _KeyValueObjectReader = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos),
|
|
53
|
+
key = _KeyValueObjectReader.key,
|
|
54
|
+
value = _KeyValueObjectReader.value;
|
|
55
|
+
|
|
56
|
+
obj[key] = value;
|
|
57
|
+
}
|
|
52
58
|
}
|
|
53
59
|
}]);
|
|
54
60
|
return PropertiesReader;
|
|
@@ -79,7 +85,7 @@ var DoublesReader = function () {
|
|
|
79
85
|
}, {
|
|
80
86
|
key: "_readField",
|
|
81
87
|
value: function _readField(tag, obj, pbf) {
|
|
82
|
-
if (tag === 1)
|
|
88
|
+
if (tag === 1) (0, _fastPbf.readPackedDouble)(pbf, obj);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
83
89
|
}
|
|
84
90
|
}]);
|
|
85
91
|
return DoublesReader;
|
|
@@ -150,7 +156,7 @@ var NumericPropReader = function () {
|
|
|
150
156
|
}, {
|
|
151
157
|
key: "_readField",
|
|
152
158
|
value: function _readField(tag, obj, pbf) {
|
|
153
|
-
if (tag === 1)
|
|
159
|
+
if (tag === 1) (0, _fastPbf.readPackedDouble)(pbf, obj);
|
|
154
160
|
}
|
|
155
161
|
}]);
|
|
156
162
|
return NumericPropReader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","data","push","read","readVarint","pos","DoublesReader","size","Float32Array","readPackedDouble","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport interface KeyValueProperties {\n data: KeyValueObject[];\n}\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {data: []}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueProperties, pbf) {\n if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n // TODO perhaps we can do better and directly map from the source\n // ArrayBuffer using ArrayBuffer.slice()\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: KeyValueProperties[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","read","readVarint","pos","DoublesReader","size","Float32Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedDouble} from './fast-pbf';\n\n// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedDouble(pbf, obj);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) readPackedDouble(pbf, obj);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
|
|
@@ -9,18 +9,12 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
13
|
|
|
16
14
|
var _cartoTile = require("./carto-tile");
|
|
17
15
|
|
|
18
16
|
var _tileLoaderUtils = require("./tile-loader-utils");
|
|
19
17
|
|
|
20
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
-
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
-
|
|
24
18
|
var CartoVectorTileLoader = {
|
|
25
19
|
name: 'CARTO Vector Tile',
|
|
26
20
|
version: '1',
|
|
@@ -59,21 +53,7 @@ var CartoVectorTileLoader = {
|
|
|
59
53
|
function parseCartoVectorTile(arrayBuffer, options) {
|
|
60
54
|
if (!arrayBuffer) return null;
|
|
61
55
|
var tile = (0, _tileLoaderUtils.parsePbf)(arrayBuffer, _cartoTile.TileReader);
|
|
62
|
-
|
|
63
|
-
lines = tile.lines,
|
|
64
|
-
polygons = tile.polygons;
|
|
65
|
-
var data = {
|
|
66
|
-
points: _objectSpread(_objectSpread({}, points), {}, {
|
|
67
|
-
properties: (0, _tileLoaderUtils.unpackProperties)(points.properties)
|
|
68
|
-
}),
|
|
69
|
-
lines: _objectSpread(_objectSpread({}, lines), {}, {
|
|
70
|
-
properties: (0, _tileLoaderUtils.unpackProperties)(lines.properties)
|
|
71
|
-
}),
|
|
72
|
-
polygons: _objectSpread(_objectSpread({}, polygons), {}, {
|
|
73
|
-
properties: (0, _tileLoaderUtils.unpackProperties)(polygons.properties)
|
|
74
|
-
})
|
|
75
|
-
};
|
|
76
|
-
return data;
|
|
56
|
+
return tile;
|
|
77
57
|
}
|
|
78
58
|
|
|
79
59
|
var _default = CartoVectorTileLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-vector-tile-loader.ts"],"names":["CartoVectorTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parse","arrayBuffer","options","parseCartoVectorTile","parseSync","tile","TileReader"
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-vector-tile-loader.ts"],"names":["CartoVectorTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parse","arrayBuffer","options","parseCartoVectorTile","parseSync","tile","TileReader"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAEA,IAAMA,qBAAuC,GAAG;AAC9CC,EAAAA,IAAI,EAAE,mBADwC;AAE9CC,EAAAA,OAAO,EAAE,GAFqC;AAG9CC,EAAAA,EAAE,EAAE,iBAH0C;AAI9CC,EAAAA,MAAM,EAAE,OAJsC;AAK9CC,EAAAA,UAAU,EAAE,CAAC,KAAD,CALkC;AAM9CC,EAAAA,SAAS,EAAE,CAAC,mCAAD,CANmC;AAO9CC,EAAAA,QAAQ,EAAE,UAPoC;AAQ9CC,EAAAA,MAAM,EAAE,KARsC;AAS9CC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgCC,oBAAoB,CAACF,WAAD,EAAcC,OAAd,CAApD;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KATyC;AAU9CE,EAAAA,SAAS,EAAED,oBAVmC;AAW9CD,EAAAA,OAAO,EAAE;AAXqC,CAAhD;;AAcA,SAASC,oBAAT,CACEF,WADF,EAEEC,OAFF,EAGyB;AACvB,MAAI,CAACD,WAAL,EAAkB,OAAO,IAAP;AAClB,MAAMI,IAAI,GAAG,+BAASJ,WAAT,EAAsBK,qBAAtB,CAAb;AAGA,SAAOD,IAAP;AACD;;eAEcd,qB","sourcesContent":["import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\n\nimport {TileReader} from './carto-tile';\nimport {parsePbf} from './tile-loader-utils';\n\nconst CartoVectorTileLoader: LoaderWithParser = {\n name: 'CARTO Vector Tile',\n version: '1',\n id: 'cartoVectorTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/vnd.carto-vector-tile'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoVectorTile(arrayBuffer, options),\n parseSync: parseCartoVectorTile,\n options: {}\n};\n\nfunction parseCartoVectorTile(\n arrayBuffer: ArrayBuffer,\n options?: LoaderOptions\n): BinaryFeatures | null {\n if (!arrayBuffer) return null;\n const tile = parsePbf(arrayBuffer, TileReader);\n\n // Note: there is slight, difference in `numericProps` type, however geojson/mvtlayer can cope with this\n return tile as unknown as BinaryFeatures;\n}\n\nexport default CartoVectorTileLoader;\n"],"file":"carto-vector-tile-loader.js"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.readPackedDouble = readPackedDouble;
|
|
7
|
+
exports.readPackedFixed64 = readPackedFixed64;
|
|
8
|
+
|
|
9
|
+
function readPackedDouble(pbf, obj) {
|
|
10
|
+
var end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
11
|
+
obj.value = new Float64Array(pbf.buf.buffer.slice(pbf.pos, end));
|
|
12
|
+
pbf.pos = end;
|
|
13
|
+
return obj.value;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function readPackedFixed64(pbf, obj) {
|
|
17
|
+
var end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
18
|
+
obj.value = new BigUint64Array(pbf.buf.buffer.slice(pbf.pos, end));
|
|
19
|
+
pbf.pos = end;
|
|
20
|
+
return obj.value;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=fast-pbf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/fast-pbf.ts"],"names":["readPackedDouble","pbf","obj","end","type","readVarint","pos","value","Float64Array","buf","buffer","slice","readPackedFixed64","BigUint64Array"],"mappings":";;;;;;;;AACO,SAASA,gBAAT,CAA0BC,GAA1B,EAA+BC,GAA/B,EAAoC;AACzC,MAAMC,GAAG,GAAGF,GAAG,CAACG,IAAJ,KAAa,CAAb,GAAiBH,GAAG,CAACI,UAAJ,KAAmBJ,GAAG,CAACK,GAAxC,GAA8CL,GAAG,CAACK,GAAJ,GAAU,CAApE;AACAJ,EAAAA,GAAG,CAACK,KAAJ,GAAY,IAAIC,YAAJ,CAAiBP,GAAG,CAACQ,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBV,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAjB,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD;;AACM,SAASK,iBAAT,CAA2BX,GAA3B,EAAgCC,GAAhC,EAAqC;AAC1C,MAAMC,GAAG,GAAGF,GAAG,CAACG,IAAJ,KAAa,CAAb,GAAiBH,GAAG,CAACI,UAAJ,KAAmBJ,GAAG,CAACK,GAAxC,GAA8CL,GAAG,CAACK,GAAJ,GAAU,CAApE;AACAJ,EAAAA,GAAG,CAACK,KAAJ,GAAY,IAAIM,cAAJ,CAAmBZ,GAAG,CAACQ,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBV,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAnB,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD","sourcesContent":["// Optimized (100X speed improvement) reading functions for binary data\nexport function readPackedDouble(pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new Float64Array(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\nexport function readPackedFixed64(pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new BigUint64Array(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\n"],"file":"fast-pbf.js"}
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.parsePbf = parsePbf;
|
|
9
|
-
exports.unpackProperties = unpackProperties;
|
|
10
9
|
|
|
11
10
|
var _pbf = _interopRequireDefault(require("pbf"));
|
|
12
11
|
|
|
@@ -15,20 +14,4 @@ function parsePbf(buffer, TileReader) {
|
|
|
15
14
|
var tile = TileReader.read(pbf);
|
|
16
15
|
return tile;
|
|
17
16
|
}
|
|
18
|
-
|
|
19
|
-
function unpackProperties(properties) {
|
|
20
|
-
if (!properties || !properties.length) {
|
|
21
|
-
return [];
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return properties.map(function (item) {
|
|
25
|
-
var currentRecord = {};
|
|
26
|
-
item.data.forEach(function (_ref) {
|
|
27
|
-
var key = _ref.key,
|
|
28
|
-
value = _ref.value;
|
|
29
|
-
currentRecord[key] = value;
|
|
30
|
-
});
|
|
31
|
-
return currentRecord;
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
17
|
//# sourceMappingURL=tile-loader-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/tile-loader-utils.ts"],"names":["parsePbf","buffer","TileReader","pbf","Protobuf","tile","read"
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/tile-loader-utils.ts"],"names":["parsePbf","buffer","TileReader","pbf","Protobuf","tile","read"],"mappings":";;;;;;;;;AAAA;;AAEO,SAASA,QAAT,CAAkBC,MAAlB,EAAuCC,UAAvC,EAAmD;AACxD,MAAMC,GAAG,GAAG,IAAIC,YAAJ,CAAaH,MAAb,CAAZ;AACA,MAAMI,IAAI,GAAGH,UAAU,CAACI,IAAX,CAAgBH,GAAhB,CAAb;AACA,SAAOE,IAAP;AACD","sourcesContent":["import Protobuf from 'pbf';\n\nexport function parsePbf(buffer: ArrayBuffer, TileReader) {\n const pbf = new Protobuf(buffer);\n const tile = TileReader.read(pbf);\n return tile;\n}\n"],"file":"tile-loader-utils.js"}
|
|
@@ -144,7 +144,7 @@ var SpatialIndexTileLayer = function (_TileLayer) {
|
|
|
144
144
|
var data = tile.content;
|
|
145
145
|
var isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
|
|
146
146
|
|
|
147
|
-
if (!isFeatureIdPresent || !Array.isArray(data)) {
|
|
147
|
+
if (!isFeatureIdPresent || !Array.isArray(data) || !this._featureInTile(tile, hoveredFeatureId)) {
|
|
148
148
|
return -1;
|
|
149
149
|
}
|
|
150
150
|
|
|
@@ -152,6 +152,24 @@ var SpatialIndexTileLayer = function (_TileLayer) {
|
|
|
152
152
|
return feature.id === hoveredFeatureId;
|
|
153
153
|
});
|
|
154
154
|
}
|
|
155
|
+
}, {
|
|
156
|
+
key: "_featureInTile",
|
|
157
|
+
value: function _featureInTile(tile, featureId) {
|
|
158
|
+
var _this$state$tileset = this.state.tileset,
|
|
159
|
+
getTileZoom = _this$state$tileset.getTileZoom,
|
|
160
|
+
getParentIndex = _this$state$tileset.getParentIndex;
|
|
161
|
+
var tileZoom = getTileZoom(tile.index);
|
|
162
|
+
var KEY = tile.index.q ? 'q' : 'i';
|
|
163
|
+
var featureIndex = (0, _defineProperty2.default)({}, KEY, featureId);
|
|
164
|
+
var featureZoom = getTileZoom(featureIndex);
|
|
165
|
+
|
|
166
|
+
while (!(featureZoom <= tileZoom)) {
|
|
167
|
+
featureIndex = getParentIndex(featureIndex);
|
|
168
|
+
featureZoom = getTileZoom(featureIndex);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return featureIndex[KEY] === tile.index[KEY];
|
|
172
|
+
}
|
|
155
173
|
}]);
|
|
156
174
|
return SpatialIndexTileLayer;
|
|
157
175
|
}(_geoLayers.TileLayer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["CartoSpatialTileLoader","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","tile","props","data","getTileData","fetch","signal","url","Array","isArray","Promise","reject","loadOptions","getLoadOptions","formatTiles","TILE_FORMATS","BINARY","mimeType","propName","layer","params","oldProps","setState","tileset","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","highlightedObjectIndex","getHighlightedObjectIndex","content","isFeatureIdPresent","findIndex","feature","TileLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AAIA;;AAMA;;;;;;;;;;AATA,2BAAgB,CAACA,+BAAD,CAAhB;;AAWA,SAASC,kBAAT,CAA4BC,KAA5B,EAAqD;AACnD,SAAOA,KAAK,KAAKC,SAAV,IAAuBD,KAAK,KAAK,IAAjC,IAAyCA,KAAK,KAAK,EAA1D;AACD;;AAED,IAAME,YAAsD,GAAG;AAC7DC,EAAAA,mBAAmB,EAAE;AADwC,CAA/D;;IAaqBC,qB;;;;;;;;;;;;WAOnB,qBAAYC,IAAZ,EAAiC;AAC/B,wBAAmC,KAAKC,KAAxC;AAAA,UAAOC,IAAP,eAAOA,IAAP;AAAA,UAAaC,WAAb,eAAaA,WAAb;AAAA,UAA0BC,KAA1B,eAA0BA,KAA1B;AACA,UAAOC,MAAP,GAAiBL,IAAjB,CAAOK,MAAP;AAEAL,MAAAA,IAAI,CAACM,GAAL,GACE,OAAOJ,IAAP,KAAgB,QAAhB,IAA4BK,KAAK,CAACC,OAAN,CAAcN,IAAd,CAA5B,GAAkD,oCAAoBA,IAApB,EAA0BF,IAA1B,CAAlD,GAAoF,IADtF;;AAEA,UAAI,CAACA,IAAI,CAACM,GAAV,EAAe;AACb,eAAOG,OAAO,CAACC,MAAR,CAAe,aAAf,CAAP;AACD;;AAED,UAAIP,WAAJ,EAAiB;AACf,eAAOA,WAAW,CAACH,IAAD,CAAlB;AACD;;AAED,UAAIW,WAAW,GAAG,KAAKC,cAAL,EAAlB;AAEA,UAAOC,WAAP,GAAsB,KAAKZ,KAA3B,CAAOY,WAAP;;AAIA,UAAIA,WAAW,KAAKC,4BAAaC,MAAjC,EAAyC;AACvCJ,QAAAA,WAAW,mCACNA,WADM;AAETK,UAAAA,QAAQ,EAAE;AAFD,UAAX;AAID;;AAED,aAAOZ,KAAK,CAACJ,IAAI,CAACM,GAAN,EAAW;AAACW,QAAAA,QAAQ,EAAE,MAAX;AAAmBC,QAAAA,KAAK,EAAE,IAA1B;AAAgCP,QAAAA,WAAW,EAAXA,WAAhC;AAA6CN,QAAAA,MAAM,EAANA;AAA7C,OAAX,CAAZ;AACD;;;WAED,qBAAYc,MAAZ,EAA4C;AAC1C,UAAOlB,KAAP,GAA0BkB,MAA1B,CAAOlB,KAAP;AAAA,UAAcmB,QAAd,GAA0BD,MAA1B,CAAcC,QAAd;;AACA,UAAInB,KAAK,CAACH,mBAAN,KAA8BsB,QAAQ,CAACtB,mBAA3C,EAAgE;AAE9D,aAAKuB,QAAL,CAAc;AAACC,UAAAA,OAAO,EAAE;AAAV,SAAd;AACD;;
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["CartoSpatialTileLoader","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","tile","props","data","getTileData","fetch","signal","url","Array","isArray","Promise","reject","loadOptions","getLoadOptions","formatTiles","TILE_FORMATS","BINARY","mimeType","propName","layer","params","oldProps","setState","tileset","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","highlightedObjectIndex","getHighlightedObjectIndex","content","isFeatureIdPresent","_featureInTile","findIndex","feature","featureId","getTileZoom","getParentIndex","tileZoom","index","KEY","q","featureIndex","featureZoom","TileLayer"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport {DefaultProps, UpdateParameters} from '@deck.gl/core';\nimport CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';\nregisterLoaders([CartoSpatialTileLoader]);\n\nimport {PickingInfo} from '@deck.gl/core';\nimport {\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader as Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {TILE_FORMATS} from '../api/maps-api-common';\n\nfunction isFeatureIdDefined(value: unknown): boolean {\n return value !== undefined && value !== null && value !== '';\n}\n\nconst defaultProps: DefaultProps<SpatialIndexTileLayerProps> = {\n aggregationResLevel: 4\n};\n\n/** All properties supported by SpatialIndexTileLayer. */\nexport type SpatialIndexTileLayerProps<DataT = any> = _SpatialIndexTileLayerProps<DataT> &\n TileLayer<DataT>;\n\n/** Properties added by SpatialIndexTileLayer. */\ntype _SpatialIndexTileLayerProps<DataT = any> = {\n aggregationResLevel?: number;\n};\n\nexport default class SpatialIndexTileLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends TileLayer<DataT, ExtraProps & Required<_SpatialIndexTileLayerProps<DataT>>> {\n static layerName = 'SpatialIndexTileLayer';\n static defaultProps = defaultProps;\n\n getTileData(tile: TileLoadProps) {\n const {data, getTileData, fetch} = this.props;\n const {signal} = tile;\n\n tile.url =\n typeof data === 'string' || Array.isArray(data) ? _getURLFromTemplate(data, tile) : null;\n if (!tile.url) {\n return Promise.reject('Invalid URL');\n }\n\n if (getTileData) {\n return getTileData(tile);\n }\n\n let loadOptions = this.getLoadOptions();\n // @ts-ignore\n const {formatTiles} = this.props;\n\n // The backend doesn't yet support our custom mime-type, so force it here\n // TODO remove entire `getTileData` method once backend sends the correct mime-type\n if (formatTiles === TILE_FORMATS.BINARY) {\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/vnd.carto-spatial-tile'\n };\n }\n\n return fetch(tile.url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n updateState(params: UpdateParameters<this>) {\n const {props, oldProps} = params;\n if (props.aggregationResLevel !== oldProps.aggregationResLevel) {\n // Tileset cache is invalid when resLevel changes\n this.setState({tileset: null});\n }\n\n super.updateState(params);\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const {hoveredFeatureId} = this.state;\n const hoveredFeature = info.object;\n let newHoveredFeatureId;\n\n if (hoveredFeature) {\n newHoveredFeatureId = hoveredFeature.id;\n }\n\n if (hoveredFeatureId !== newHoveredFeatureId) {\n let {highlightColor} = this.props;\n if (typeof highlightColor === 'function') {\n highlightColor = highlightColor(info);\n }\n\n this.setState({\n highlightColor,\n hoveredFeatureId: newHoveredFeatureId\n });\n }\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader) {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n getHighlightedObjectIndex(tile: Tile2DHeader) {\n const {hoveredFeatureId} = this.state;\n const data = tile.content;\n\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);\n if (\n !isFeatureIdPresent ||\n !Array.isArray(data) ||\n // Quick check for whether id is within tile. data.findIndex is expensive\n !this._featureInTile(tile, hoveredFeatureId)\n ) {\n return -1;\n }\n\n return data.findIndex(feature => feature.id === hoveredFeatureId);\n }\n\n _featureInTile(tile: Tile2DHeader, featureId: BigInt | number) {\n const {getTileZoom, getParentIndex} = this.state.tileset;\n const tileZoom = getTileZoom(tile.index);\n // @ts-ignore\n const KEY = tile.index.q ? 'q' : 'i';\n let featureIndex = {[KEY]: featureId};\n let featureZoom = getTileZoom(featureIndex);\n while (!(featureZoom <= tileZoom)) {\n featureIndex = getParentIndex(featureIndex);\n featureZoom = getTileZoom(featureIndex);\n }\n\n return featureIndex[KEY] === tile.index[KEY];\n }\n}\n"],"file":"spatial-index-tile-layer.js"}
|
|
@@ -116,7 +116,7 @@ export function getLayer(type, config, dataset) {
|
|
|
116
116
|
|
|
117
117
|
let basePropMap = sharedPropMap;
|
|
118
118
|
|
|
119
|
-
if ((_config$visConfig = config.visConfig) !== null && _config$visConfig !== void 0 && _config$visConfig.customMarkers
|
|
119
|
+
if ((_config$visConfig = config.visConfig) !== null && _config$visConfig !== void 0 && _config$visConfig.customMarkers) {
|
|
120
120
|
basePropMap = mergePropMaps(sharedPropMap, customMarkersPropsMap);
|
|
121
121
|
}
|
|
122
122
|
|
|
@@ -304,10 +304,34 @@ function calculateDomain(data, name, scaleType, scaleLength) {
|
|
|
304
304
|
|
|
305
305
|
function normalizeAccessor(accessor, data) {
|
|
306
306
|
if (data.features || data.tilestats) {
|
|
307
|
-
return ({
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
307
|
+
return (object, info) => {
|
|
308
|
+
if (object) {
|
|
309
|
+
return accessor(object.properties || object.__source.object.properties);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
const {
|
|
313
|
+
data,
|
|
314
|
+
index
|
|
315
|
+
} = info;
|
|
316
|
+
const {
|
|
317
|
+
properties,
|
|
318
|
+
numericProps
|
|
319
|
+
} = data;
|
|
320
|
+
const proxy = new Proxy(properties[index] || {}, {
|
|
321
|
+
get(target, property, receiver) {
|
|
322
|
+
if (property in numericProps) {
|
|
323
|
+
return numericProps[property].value[index];
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return target[property];
|
|
327
|
+
},
|
|
328
|
+
|
|
329
|
+
has(target, property) {
|
|
330
|
+
return property in numericProps || property in target;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
});
|
|
334
|
+
return accessor(proxy);
|
|
311
335
|
};
|
|
312
336
|
}
|
|
313
337
|
|
|
@@ -500,21 +524,5 @@ export function getTextAccessor({
|
|
|
500
524
|
|
|
501
525
|
return normalizeAccessor(accessor, data);
|
|
502
526
|
}
|
|
503
|
-
export function getTextPixelOffsetAccessor({
|
|
504
|
-
alignment,
|
|
505
|
-
anchor,
|
|
506
|
-
size
|
|
507
|
-
}, radius) {
|
|
508
|
-
const padding = 20;
|
|
509
|
-
const signX = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;
|
|
510
|
-
const signY = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;
|
|
511
|
-
const sizeOffset = alignment === 'center' ? 0 : size;
|
|
512
|
-
|
|
513
|
-
const calculateOffset = r => [signX * (r + padding), signY * (r + padding + sizeOffset)];
|
|
514
|
-
|
|
515
|
-
return typeof radius === 'function' ? d => {
|
|
516
|
-
return calculateOffset(radius(d));
|
|
517
|
-
} : calculateOffset(radius);
|
|
518
|
-
}
|
|
519
527
|
export { domainFromValues as _domainFromValues };
|
|
520
528
|
//# sourceMappingURL=layer-map.js.map
|