@deck.gl/carto 8.9.0-alpha.2 → 8.9.0-alpha.4
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 +1940 -1675
- package/dist/es5/api/layer-map.js +117 -18
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +10 -8
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +62 -7
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/api/types.js +2 -0
- package/dist/es5/api/types.js.map +1 -0
- package/dist/es5/index.js +0 -20
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +19 -2
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/carto-tile-layer.js +33 -107
- package/dist/es5/layers/carto-tile-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +10 -1
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +10 -1
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tileset-2d.js +13 -11
- package/dist/es5/layers/quadbin-tileset-2d.js.map +1 -1
- package/dist/es5/layers/quadbin-utils.js +6 -82
- package/dist/es5/layers/quadbin-utils.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +16 -32
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +30 -6
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js +81 -0
- package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -0
- package/dist/es5/layers/schema/spatialjson-utils.js +4 -3
- package/dist/es5/layers/schema/spatialjson-utils.js.map +1 -1
- package/dist/es5/layers/schema/tile-loader-utils.js +34 -0
- package/dist/es5/layers/schema/tile-loader-utils.js.map +1 -0
- package/dist/es5/layers/spatial-index-tile-layer.js +40 -0
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/esm/api/layer-map.js +89 -9
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +5 -2
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +67 -7
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/api/types.js +2 -0
- package/dist/esm/api/types.js.map +1 -0
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +18 -0
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/carto-tile-layer.js +31 -82
- package/dist/esm/layers/carto-tile-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +6 -1
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +6 -1
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tileset-2d.js +12 -10
- package/dist/esm/layers/quadbin-tileset-2d.js.map +1 -1
- package/dist/esm/layers/quadbin-utils.js +2 -67
- package/dist/esm/layers/quadbin-utils.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +14 -29
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +22 -6
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js +40 -0
- package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -0
- package/dist/esm/layers/schema/spatialjson-utils.js +4 -3
- package/dist/esm/layers/schema/spatialjson-utils.js.map +1 -1
- package/dist/esm/layers/schema/tile-loader-utils.js +23 -0
- package/dist/esm/layers/schema/tile-loader-utils.js.map +1 -0
- package/dist/esm/layers/spatial-index-tile-layer.js +40 -1
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist.min.js +4 -4
- package/package.json +4 -3
- package/src/api/layer-map.ts +102 -17
- package/src/api/maps-v3-client.ts +5 -3
- package/src/api/parseMap.ts +91 -17
- package/src/api/types.ts +108 -0
- package/src/index.ts +0 -5
- package/src/layers/carto-layer.ts +9 -2
- package/src/layers/carto-tile-layer.ts +32 -82
- package/src/layers/h3-tile-layer.ts +7 -1
- package/src/layers/quadbin-layer.ts +1 -1
- package/src/layers/quadbin-tile-layer.ts +7 -1
- package/src/layers/quadbin-tileset-2d.ts +14 -12
- package/src/layers/quadbin-utils.ts +4 -85
- package/src/layers/schema/carto-spatial-tile-loader.ts +12 -29
- package/src/layers/schema/carto-tile.ts +31 -6
- package/src/layers/schema/carto-vector-tile-loader.ts +39 -0
- package/src/layers/schema/spatialjson-utils.ts +4 -4
- package/src/layers/schema/tile-loader-utils.ts +22 -0
- package/src/layers/spatial-index-tile-layer.ts +37 -1
- package/typed/api/layer-map.d.ts +14 -13
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts +1 -0
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/api/parseMap.d.ts +1 -0
- package/typed/api/parseMap.d.ts.map +1 -1
- package/typed/api/types.d.ts +87 -0
- package/typed/api/types.d.ts.map +1 -0
- package/typed/index.d.ts +0 -1
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/carto-layer.d.ts.map +1 -1
- package/typed/layers/carto-tile-layer.d.ts +2 -0
- package/typed/layers/carto-tile-layer.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-layer.d.ts +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tileset-2d.d.ts +6 -5
- package/typed/layers/quadbin-tileset-2d.d.ts.map +1 -1
- package/typed/layers/quadbin-utils.d.ts +2 -12
- package/typed/layers/quadbin-utils.d.ts.map +1 -1
- package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-tile.d.ts +4 -0
- package/typed/layers/schema/carto-tile.d.ts.map +1 -1
- package/typed/layers/schema/carto-vector-tile-loader.d.ts +4 -0
- package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -0
- package/typed/layers/schema/spatialjson-utils.d.ts +1 -1
- package/typed/layers/schema/spatialjson-utils.d.ts.map +1 -1
- package/typed/layers/schema/tile-loader-utils.d.ts +5 -0
- package/typed/layers/schema/tile-loader-utils.d.ts.map +1 -0
- package/typed/layers/spatial-index-tile-layer.d.ts +2 -1
- 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.d.ts +0 -21
- package/typed/layers/quadkey-tile-layer.d.ts.map +0 -1
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.d.ts +0 -15
- package/typed/layers/quadkey-tileset-2d.d.ts.map +0 -1
- 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
|
@@ -35,6 +35,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
35
35
|
|
|
36
36
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
37
|
|
|
38
|
+
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; }
|
|
39
|
+
|
|
40
|
+
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; }
|
|
41
|
+
|
|
38
42
|
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); }; }
|
|
39
43
|
|
|
40
44
|
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; } }
|
|
@@ -129,7 +133,12 @@ var H3TileLayer = function (_CompositeLayer) {
|
|
|
129
133
|
TilesetClass: _h3Tileset2d.default,
|
|
130
134
|
renderSubLayers: renderSubLayers,
|
|
131
135
|
minZoom: minresolution,
|
|
132
|
-
maxZoom: maxresolution
|
|
136
|
+
maxZoom: maxresolution,
|
|
137
|
+
loadOptions: _objectSpread(_objectSpread({}, this.getLoadOptions()), {}, {
|
|
138
|
+
cartoSpatialTile: {
|
|
139
|
+
scheme: 'h3'
|
|
140
|
+
}
|
|
141
|
+
})
|
|
133
142
|
})];
|
|
134
143
|
}
|
|
135
144
|
}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/h3-tile-layer.ts"],"names":["renderSubLayers","props","data","index","tile","length","H3HexagonLayer","getHexagon","d","id","centerHexagon","highPrecision","defaultProps","aggregationResLevel","H3TileLayer","_checkH3Lib","setState","tileJSON","changeFlags","dataChanged","tiles","state","minresolution","parseInt","maxresolution","minZoom","Math","max","zoom","latitude","maxZoom","min","SpatialIndexTileLayer","TilesetClass","H3Tileset2D","CompositeLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/h3-tile-layer.ts"],"names":["renderSubLayers","props","data","index","tile","length","H3HexagonLayer","getHexagon","d","id","centerHexagon","highPrecision","defaultProps","aggregationResLevel","H3TileLayer","_checkH3Lib","setState","tileJSON","changeFlags","dataChanged","tiles","state","minresolution","parseInt","maxresolution","minZoom","Math","max","zoom","latitude","maxZoom","min","SpatialIndexTileLayer","TilesetClass","H3Tileset2D","loadOptions","getLoadOptions","cartoSpatialTile","scheme","CompositeLayer"],"mappings":"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","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayersList,\n UpdateParameters,\n DefaultProps\n} from '@deck.gl/core';\nimport {H3HexagonLayer} from '@deck.gl/geo-layers';\nimport H3Tileset2D, {getHexagonResolution} from './h3-tileset-2d';\nimport SpatialIndexTileLayer from './spatial-index-tile-layer';\n\nconst renderSubLayers = props => {\n const {data} = props;\n const {index} = props.tile;\n if (!data || !data.length) return null;\n\n return new H3HexagonLayer(props, {\n getHexagon: d => d.id,\n centerHexagon: index,\n highPrecision: true\n });\n};\n\nconst defaultProps: DefaultProps<H3HexagonLayerProps> = {\n aggregationResLevel: 4\n};\n\n/** All properties supported by H3TileLayer. */\nexport type H3TileLayerProps<DataT = any> = _H3TileLayerProps<DataT> & CompositeLayerProps<DataT>;\n\n// TODO: use type from h3-hexagon-layer when available\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype H3HexagonLayerProps<DataT = any> = Record<string, any>;\n\n/** Properties added by H3TileLayer. */\ntype _H3TileLayerProps<DataT> = H3HexagonLayerProps<DataT> & {\n aggregationResLevel?: number;\n};\n\nexport default class H3TileLayer<DataT = any, ExtraPropsT = {}> extends CompositeLayer<\n ExtraPropsT & Required<_H3TileLayerProps<DataT>>\n> {\n static layerName = 'H3TileLayer';\n static defaultProps = defaultProps;\n\n state!: {\n tileJSON: any;\n data: any;\n };\n\n initializeState(): void {\n H3HexagonLayer._checkH3Lib();\n this.setState({data: null, tileJSON: null});\n }\n\n updateState({changeFlags}: UpdateParameters<this>): void {\n if (changeFlags.dataChanged) {\n let {data} = this.props;\n const tileJSON = data;\n data = (tileJSON as any).tiles;\n this.setState({data, tileJSON});\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n const {data, tileJSON} = this.state;\n let minresolution = parseInt(tileJSON.minresolution);\n let maxresolution = parseInt(tileJSON.maxresolution);\n\n // Convert Mercator zooms provided in props into H3 res levels\n // and clip into valid range provided from the tilejson\n if (this.props.minZoom) {\n minresolution = Math.max(\n minresolution,\n getHexagonResolution({zoom: this.props.minZoom, latitude: 0})\n );\n }\n if (this.props.maxZoom) {\n maxresolution = Math.min(\n maxresolution,\n getHexagonResolution({zoom: this.props.maxZoom, latitude: 0})\n );\n }\n\n // The naming is unfortunate, but minZoom & maxZoom in the context\n // of a Tileset2D refer to the resolution levels, not the Mercator zooms\n return [\n new SpatialIndexTileLayer(this.props, {\n id: `h3-tile-layer-${this.props.id}`,\n data,\n // @ts-expect-error Tileset2D should be generic over TileIndex\n TilesetClass: H3Tileset2D,\n renderSubLayers,\n // minZoom and maxZoom are H3 resolutions, however we must use this naming as that is what the Tileset2D class expects\n minZoom: minresolution,\n maxZoom: maxresolution,\n loadOptions: {\n ...this.getLoadOptions(),\n cartoSpatialTile: {\n scheme: 'h3'\n }\n }\n })\n ];\n }\n}\n"],"file":"h3-tile-layer.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/quadbin-layer.ts"],"names":["defaultProps","getQuadbin","type","value","d","quadbin","QuadbinLayer","props","data","_normalize","positionFormat","getPolygon","x","objectInfo","GeoCellLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;AAIA;;;;;;AAEA,IAAMA,YAA6C,GAAG;AACpDC,EAAAA,UAAU,EAAE;AAACC,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,OAAN;AAAA;AAA3B;AADwC,CAAtD;;IAiBqBC,Y;;;;;;;;;;;;WAOnB,yBAAuD;AACrD,wBAA2B,KAAKC,KAAhC;AAAA,UAAOC,IAAP,eAAOA,IAAP;AAAA,UAAaP,UAAb,eAAaA,UAAb;AAEA,aAAO;AACLO,QAAAA,IAAI,EAAJA,IADK;AAELC,QAAAA,UAAU,EAAE,KAFP;AAGLC,QAAAA,cAAc,EAAE,IAHX;AAKLC,QAAAA,UAAU,EAAE,oBAACC,CAAD,EAAWC,UAAX;AAAA,iBAA0B,qCAAkBZ,UAAU,CAACW,CAAD,EAAIC,UAAJ,CAA5B,CAA1B;AAAA;AALP,OAAP;AAOD;;;EAjBqEC,wB;;;8BAAnDR,Y,eAIA,c;8BAJAA,Y,kBAKGN,Y","sourcesContent":["import {AccessorFunction, DefaultProps} from '@deck.gl/core';\nimport {\n _GeoCellLayer as GeoCellLayer,\n _GeoCellLayerProps as GeoCellLayerProps\n} from '@deck.gl/geo-layers';\nimport {getQuadbinPolygon} from './quadbin-utils';\n\nconst defaultProps: DefaultProps<QuadbinLayerProps> = {\n getQuadbin: {type: 'accessor', value: d => d.quadbin}\n};\n\n/** All properties supported by QuadbinLayer. */\nexport type QuadbinLayerProps<DataT = any> = _QuadbinLayerProps<DataT> & GeoCellLayerProps<DataT>;\n\n/** Properties added by QuadbinLayer. */\ntype _QuadbinLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the quadbin string identifier.\n *\n * By default, it reads `quadbin` property of data object.\n */\n getQuadbin?: AccessorFunction<DataT,
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/quadbin-layer.ts"],"names":["defaultProps","getQuadbin","type","value","d","quadbin","QuadbinLayer","props","data","_normalize","positionFormat","getPolygon","x","objectInfo","GeoCellLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;AAIA;;;;;;AAEA,IAAMA,YAA6C,GAAG;AACpDC,EAAAA,UAAU,EAAE;AAACC,IAAAA,IAAI,EAAE,UAAP;AAAmBC,IAAAA,KAAK,EAAE,eAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,OAAN;AAAA;AAA3B;AADwC,CAAtD;;IAiBqBC,Y;;;;;;;;;;;;WAOnB,yBAAuD;AACrD,wBAA2B,KAAKC,KAAhC;AAAA,UAAOC,IAAP,eAAOA,IAAP;AAAA,UAAaP,UAAb,eAAaA,UAAb;AAEA,aAAO;AACLO,QAAAA,IAAI,EAAJA,IADK;AAELC,QAAAA,UAAU,EAAE,KAFP;AAGLC,QAAAA,cAAc,EAAE,IAHX;AAKLC,QAAAA,UAAU,EAAE,oBAACC,CAAD,EAAWC,UAAX;AAAA,iBAA0B,qCAAkBZ,UAAU,CAACW,CAAD,EAAIC,UAAJ,CAA5B,CAA1B;AAAA;AALP,OAAP;AAOD;;;EAjBqEC,wB;;;8BAAnDR,Y,eAIA,c;8BAJAA,Y,kBAKGN,Y","sourcesContent":["import {AccessorFunction, DefaultProps} from '@deck.gl/core';\nimport {\n _GeoCellLayer as GeoCellLayer,\n _GeoCellLayerProps as GeoCellLayerProps\n} from '@deck.gl/geo-layers';\nimport {getQuadbinPolygon} from './quadbin-utils';\n\nconst defaultProps: DefaultProps<QuadbinLayerProps> = {\n getQuadbin: {type: 'accessor', value: d => d.quadbin}\n};\n\n/** All properties supported by QuadbinLayer. */\nexport type QuadbinLayerProps<DataT = any> = _QuadbinLayerProps<DataT> & GeoCellLayerProps<DataT>;\n\n/** Properties added by QuadbinLayer. */\ntype _QuadbinLayerProps<DataT> = {\n /**\n * Called for each data object to retrieve the quadbin string identifier.\n *\n * By default, it reads `quadbin` property of data object.\n */\n getQuadbin?: AccessorFunction<DataT, bigint>;\n};\n\nexport default class QuadbinLayer<DataT = any, ExtraProps = {}> extends GeoCellLayer<\n DataT,\n Required<_QuadbinLayerProps<DataT>> & ExtraProps\n> {\n static layerName = 'QuadbinLayer';\n static defaultProps = defaultProps;\n\n indexToBounds(): Partial<GeoCellLayer['props']> | null {\n const {data, getQuadbin} = this.props;\n\n return {\n data,\n _normalize: false,\n positionFormat: 'XY',\n\n getPolygon: (x: DataT, objectInfo) => getQuadbinPolygon(getQuadbin(x, objectInfo))\n };\n }\n}\n"],"file":"quadbin-layer.js"}
|
|
@@ -29,6 +29,10 @@ var _quadbinTileset2d = _interopRequireDefault(require("./quadbin-tileset-2d"));
|
|
|
29
29
|
|
|
30
30
|
var _spatialIndexTileLayer = _interopRequireDefault(require("./spatial-index-tile-layer"));
|
|
31
31
|
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
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; }
|
|
35
|
+
|
|
32
36
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
33
37
|
|
|
34
38
|
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; } }
|
|
@@ -101,7 +105,12 @@ var QuadbinTileLayer = function (_CompositeLayer) {
|
|
|
101
105
|
data: data,
|
|
102
106
|
TilesetClass: _quadbinTileset2d.default,
|
|
103
107
|
renderSubLayers: renderSubLayers,
|
|
104
|
-
maxZoom: maxZoom
|
|
108
|
+
maxZoom: maxZoom,
|
|
109
|
+
loadOptions: _objectSpread(_objectSpread({}, this.getLoadOptions()), {}, {
|
|
110
|
+
cartoSpatialTile: {
|
|
111
|
+
scheme: 'quadbin'
|
|
112
|
+
}
|
|
113
|
+
})
|
|
105
114
|
})];
|
|
106
115
|
}
|
|
107
116
|
}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/quadbin-tile-layer.ts"],"names":["renderSubLayers","props","data","length","QuadbinLayer","getQuadbin","d","id","defaultProps","aggregationResLevel","QuadbinTileLayer","setState","tileJSON","changeFlags","dataChanged","tiles","state","maxZoom","parseInt","maxresolution","SpatialIndexTileLayer","TilesetClass","QuadbinTileset2D","CompositeLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/quadbin-tile-layer.ts"],"names":["renderSubLayers","props","data","length","QuadbinLayer","getQuadbin","d","id","defaultProps","aggregationResLevel","QuadbinTileLayer","setState","tileJSON","changeFlags","dataChanged","tiles","state","maxZoom","parseInt","maxresolution","SpatialIndexTileLayer","TilesetClass","QuadbinTileset2D","loadOptions","getLoadOptions","cartoSpatialTile","scheme","CompositeLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAC/B,MAAOC,IAAP,GAAeD,KAAf,CAAOC,IAAP;AACA,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACC,MAAnB,EAA2B,OAAO,IAAP;AAC3B,SAAO,IAAIC,qBAAJ,CAAiBH,KAAjB,EAAwB;AAC7BI,IAAAA,UAAU,EAAE,oBAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,EAAN;AAAA;AADgB,GAAxB,CAAP;AAGD,CAND;;AAQA,IAAMC,YAAiD,GAAG;AACxDC,EAAAA,mBAAmB,EAAE;AADmC,CAA1D;;IAaqBC,gB;;;;;;;;;;;;;;;;;;;;;WAUnB,2BAAwB;AACtB,WAAKC,QAAL,CAAc;AAACT,QAAAA,IAAI,EAAE,IAAP;AAAaU,QAAAA,QAAQ,EAAE;AAAvB,OAAd;AACD;;;WAED,2BAAyD;AAAA,UAA5CC,WAA4C,QAA5CA,WAA4C;;AACvD,UAAIA,WAAW,CAACC,WAAhB,EAA6B;AAC3B,YAAKZ,IAAL,GAAa,KAAKD,KAAlB,CAAKC,IAAL;AACA,YAAMU,QAAQ,GAAGV,IAAjB;AACAA,QAAAA,IAAI,GAAIU,QAAD,CAAkBG,KAAzB;AACA,aAAKJ,QAAL,CAAc;AAACT,UAAAA,IAAI,EAAJA,IAAD;AAAOU,UAAAA,QAAQ,EAARA;AAAP,SAAd;AACD;AACF;;;WAED,wBAA0C;AACxC,wBAAyB,KAAKI,KAA9B;AAAA,UAAOd,IAAP,eAAOA,IAAP;AAAA,UAAaU,QAAb,eAAaA,QAAb;AACA,UAAMK,OAAO,GAAGC,QAAQ,CAACN,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAEO,aAAX,CAAxB;AACA,aAAO,CACL,IAAIC,8BAAJ,CAA0B,KAAKnB,KAA/B,EAAsC;AACpCM,QAAAA,EAAE,+BAAwB,KAAKN,KAAL,CAAWM,EAAnC,CADkC;AAEpCL,QAAAA,IAAI,EAAJA,IAFoC;AAIpCmB,QAAAA,YAAY,EAAEC,yBAJsB;AAKpCtB,QAAAA,eAAe,EAAfA,eALoC;AAMpCiB,QAAAA,OAAO,EAAPA,OANoC;AAOpCM,QAAAA,WAAW,kCACN,KAAKC,cAAL,EADM;AAETC,UAAAA,gBAAgB,EAAE;AAChBC,YAAAA,MAAM,EAAE;AADQ;AAFT;AAPyB,OAAtC,CADK,CAAP;AAgBD;;;EA1CyEC,oB;;;8BAAvDjB,gB,eAGA,kB;8BAHAA,gB,kBAIGF,Y","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayersList,\n UpdateParameters,\n DefaultProps\n} from '@deck.gl/core';\nimport QuadbinLayer, {QuadbinLayerProps} from './quadbin-layer';\nimport QuadbinTileset2D from './quadbin-tileset-2d';\nimport SpatialIndexTileLayer from './spatial-index-tile-layer';\n\nconst renderSubLayers = props => {\n const {data} = props;\n if (!data || !data.length) return null;\n return new QuadbinLayer(props, {\n getQuadbin: d => d.id\n });\n};\n\nconst defaultProps: DefaultProps<QuadbinTileLayerProps> = {\n aggregationResLevel: 6\n};\n\n/** All properties supported by QuadbinTileLayer. */\nexport type QuadbinTileLayerProps<DataT = any> = _QuadbinTileLayerProps<DataT> &\n CompositeLayerProps<DataT>;\n\n/** Properties added by QuadbinTileLayer. */\ntype _QuadbinTileLayerProps<DataT> = QuadbinLayerProps<DataT> & {\n aggregationResLevel?: number;\n};\n\nexport default class QuadbinTileLayer<DataT = any, ExtraProps = {}> extends CompositeLayer<\n ExtraProps & Required<_QuadbinTileLayerProps<DataT>>\n> {\n static layerName = 'QuadbinTileLayer';\n static defaultProps = defaultProps;\n\n state!: {\n tileJSON: any;\n data: any;\n };\n initializeState(): void {\n this.setState({data: null, tileJSON: null});\n }\n\n updateState({changeFlags}: UpdateParameters<this>): void {\n if (changeFlags.dataChanged) {\n let {data} = this.props;\n const tileJSON = data;\n data = (tileJSON as any).tiles;\n this.setState({data, tileJSON});\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n const {data, tileJSON} = this.state;\n const maxZoom = parseInt(tileJSON?.maxresolution);\n return [\n new SpatialIndexTileLayer(this.props, {\n id: `quadbin-tile-layer-${this.props.id}`,\n data,\n // TODO: Tileset2D should be generic over TileIndex type\n TilesetClass: QuadbinTileset2D as any,\n renderSubLayers,\n maxZoom,\n loadOptions: {\n ...this.getLoadOptions(),\n cartoSpatialTile: {\n scheme: 'quadbin'\n }\n }\n })\n ];\n }\n}\n"],"file":"quadbin-tile-layer.js"}
|
|
@@ -21,7 +21,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
21
21
|
|
|
22
22
|
var _geoLayers = require("@deck.gl/geo-layers");
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _quadbin = require("quadbin");
|
|
25
25
|
|
|
26
26
|
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); }; }
|
|
27
27
|
|
|
@@ -40,36 +40,38 @@ var QuadbinTileset2D = function (_Tileset2D) {
|
|
|
40
40
|
(0, _createClass2.default)(QuadbinTileset2D, [{
|
|
41
41
|
key: "getTileIndices",
|
|
42
42
|
value: function getTileIndices(opts) {
|
|
43
|
-
return (0, _get2.default)((0, _getPrototypeOf2.default)(QuadbinTileset2D.prototype), "getTileIndices", this).call(this, opts).map(
|
|
43
|
+
return (0, _get2.default)((0, _getPrototypeOf2.default)(QuadbinTileset2D.prototype), "getTileIndices", this).call(this, opts).map(_quadbin.tileToCell).map(function (q) {
|
|
44
44
|
return {
|
|
45
|
-
|
|
45
|
+
q: q,
|
|
46
|
+
i: (0, _quadbin.bigIntToHex)(q)
|
|
46
47
|
};
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
50
|
}, {
|
|
50
51
|
key: "getTileId",
|
|
51
52
|
value: function getTileId(_ref) {
|
|
52
|
-
var
|
|
53
|
-
|
|
53
|
+
var q = _ref.q,
|
|
54
|
+
i = _ref.i;
|
|
55
|
+
return i || (0, _quadbin.bigIntToHex)(q);
|
|
54
56
|
}
|
|
55
57
|
}, {
|
|
56
58
|
key: "getTileMetadata",
|
|
57
59
|
value: function getTileMetadata(_ref2) {
|
|
58
|
-
var
|
|
59
|
-
return (0, _get2.default)((0, _getPrototypeOf2.default)(QuadbinTileset2D.prototype), "getTileMetadata", this).call(this, (0,
|
|
60
|
+
var q = _ref2.q;
|
|
61
|
+
return (0, _get2.default)((0, _getPrototypeOf2.default)(QuadbinTileset2D.prototype), "getTileMetadata", this).call(this, (0, _quadbin.cellToTile)(q));
|
|
60
62
|
}
|
|
61
63
|
}, {
|
|
62
64
|
key: "getTileZoom",
|
|
63
65
|
value: function getTileZoom(_ref3) {
|
|
64
|
-
var
|
|
65
|
-
return Number((0,
|
|
66
|
+
var q = _ref3.q;
|
|
67
|
+
return Number((0, _quadbin.getResolution)(q));
|
|
66
68
|
}
|
|
67
69
|
}, {
|
|
68
70
|
key: "getParentIndex",
|
|
69
71
|
value: function getParentIndex(_ref4) {
|
|
70
|
-
var
|
|
72
|
+
var q = _ref4.q;
|
|
71
73
|
return {
|
|
72
|
-
|
|
74
|
+
q: (0, _quadbin.cellToParent)(q)
|
|
73
75
|
};
|
|
74
76
|
}
|
|
75
77
|
}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/quadbin-tileset-2d.ts"],"names":["QuadbinTileset2D","opts","map","
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/quadbin-tileset-2d.ts"],"names":["QuadbinTileset2D","opts","map","tileToCell","q","i","Number","Tileset2D"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAMqBA,gB;;;;;;;;;;;;WAEnB,wBAAeC,IAAf,EAAyC;AACvC,aAAO,iHACWA,IADX,EAEJC,GAFI,CAEAC,mBAFA,EAGJD,GAHI,CAGA,UAAAE,CAAC;AAAA,eAAK;AAACA,UAAAA,CAAC,EAADA,CAAD;AAAIC,UAAAA,CAAC,EAAE,0BAAYD,CAAZ;AAAP,SAAL;AAAA,OAHD,CAAP;AAID;;;WAGD,yBAA4C;AAAA,UAAjCA,CAAiC,QAAjCA,CAAiC;AAAA,UAA9BC,CAA8B,QAA9BA,CAA8B;AAC1C,aAAOA,CAAC,IAAI,0BAAYD,CAAZ,CAAZ;AACD;;;WAGD,gCAAuC;AAAA,UAAtBA,CAAsB,SAAtBA,CAAsB;AACrC,+HAA6B,yBAAWA,CAAX,CAA7B;AACD;;;WAGD,4BAA2C;AAAA,UAA9BA,CAA8B,SAA9BA,CAA8B;AACzC,aAAOE,MAAM,CAAC,4BAAcF,CAAd,CAAD,CAAb;AACD;;;WAGD,+BAAwD;AAAA,UAAxCA,CAAwC,SAAxCA,CAAwC;AACtD,aAAO;AAACA,QAAAA,CAAC,EAAE,2BAAaA,CAAb;AAAJ,OAAP;AACD;;;EA3B2CG,qB","sourcesContent":["import {_Tileset2D as Tileset2D} from '@deck.gl/geo-layers';\nimport {bigIntToHex, cellToParent, cellToTile, getResolution, tileToCell} from 'quadbin';\n\n// For calculations bigint representation is used, but\n// for constructing URL also provide the hexidecimal value\ntype QuadbinTileIndex = {q: bigint; i?: string};\n\nexport default class QuadbinTileset2D extends Tileset2D {\n // @ts-expect-error for spatial indices, TileSet2d should be parametrized by TileIndexT\n getTileIndices(opts): QuadbinTileIndex[] {\n return super\n .getTileIndices(opts)\n .map(tileToCell)\n .map(q => ({q, i: bigIntToHex(q)}));\n }\n\n // @ts-expect-error TileIndex must be generic\n getTileId({q, i}: QuadbinTileIndex): string {\n return i || bigIntToHex(q);\n }\n\n // @ts-expect-error TileIndex must be generic\n getTileMetadata({q}: QuadbinTileIndex) {\n return super.getTileMetadata(cellToTile(q));\n }\n\n // @ts-expect-error TileIndex must be generic\n getTileZoom({q}: QuadbinTileIndex): number {\n return Number(getResolution(q));\n }\n\n // @ts-expect-error TileIndex must be generic\n getParentIndex({q}: QuadbinTileIndex): QuadbinTileIndex {\n return {q: cellToParent(q)};\n }\n}\n"],"file":"quadbin-tileset-2d.js"}
|
|
@@ -5,12 +5,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.indexToBigInt = indexToBigInt;
|
|
9
|
-
exports.bigIntToIndex = bigIntToIndex;
|
|
10
|
-
exports.tileToQuadbin = tileToQuadbin;
|
|
11
|
-
exports.quadbinToTile = quadbinToTile;
|
|
12
|
-
exports.quadbinZoom = quadbinZoom;
|
|
13
|
-
exports.quadbinParent = quadbinParent;
|
|
14
8
|
exports.quadbinToWorldBounds = quadbinToWorldBounds;
|
|
15
9
|
exports.getQuadbinPolygon = getQuadbinPolygon;
|
|
16
10
|
|
|
@@ -18,85 +12,15 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
18
12
|
|
|
19
13
|
var _webMercator = require("@math.gl/web-mercator");
|
|
20
14
|
|
|
21
|
-
var
|
|
22
|
-
var B = [0x5555555555555555n, 0x3333333333333333n, 0x0f0f0f0f0f0f0f0fn, 0x00ff00ff00ff00ffn, 0x0000ffff0000ffffn, 0x00000000ffffffffn];
|
|
23
|
-
var S = [0n, 1n, 2n, 4n, 8n, 16n];
|
|
24
|
-
|
|
25
|
-
function indexToBigInt(index) {
|
|
26
|
-
return BigInt("0x".concat(index));
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function bigIntToIndex(quadbin) {
|
|
30
|
-
return quadbin.toString(16);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function tileToQuadbin(tile) {
|
|
34
|
-
if (tile.z < 0 || tile.z > 26) {
|
|
35
|
-
throw new Error('Wrong zoom');
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
var z = BigInt(tile.z);
|
|
39
|
-
var x = BigInt(tile.x) << 32n - z;
|
|
40
|
-
var y = BigInt(tile.y) << 32n - z;
|
|
41
|
-
|
|
42
|
-
for (var i = 0; i < 5; i++) {
|
|
43
|
-
var s = S[5 - i];
|
|
44
|
-
var b = B[4 - i];
|
|
45
|
-
x = (x | x << s) & b;
|
|
46
|
-
y = (y | y << s) & b;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
var quadbin = 0x4000000000000000n | 1n << 59n | z << 52n | (x | y << 1n) >> 12n | 0xfffffffffffffn >> z * 2n;
|
|
50
|
-
return bigIntToIndex(quadbin);
|
|
51
|
-
}
|
|
15
|
+
var _quadbin = require("quadbin");
|
|
52
16
|
|
|
53
|
-
|
|
54
|
-
var quadbin = indexToBigInt(index);
|
|
55
|
-
var mode = quadbin >> 59n & 7n;
|
|
56
|
-
var modeDep = quadbin >> 57n & 3n;
|
|
57
|
-
var z = quadbin >> 52n & 0x1fn;
|
|
58
|
-
var q = (quadbin & 0xfffffffffffffn) << 12n;
|
|
59
|
-
|
|
60
|
-
if (mode !== 1n && modeDep !== 0n) {
|
|
61
|
-
throw new Error('Wrong mode');
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
var x = q;
|
|
65
|
-
var y = q >> 1n;
|
|
66
|
-
|
|
67
|
-
for (var i = 0; i < 6; i++) {
|
|
68
|
-
var s = S[i];
|
|
69
|
-
var b = B[i];
|
|
70
|
-
x = (x | x >> s) & b;
|
|
71
|
-
y = (y | y >> s) & b;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
x = x >> 32n - z;
|
|
75
|
-
y = y >> 32n - z;
|
|
76
|
-
return {
|
|
77
|
-
z: Number(z),
|
|
78
|
-
x: Number(x),
|
|
79
|
-
y: Number(y)
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
function quadbinZoom(index) {
|
|
84
|
-
var quadbin = indexToBigInt(index);
|
|
85
|
-
return quadbin >> 52n & 0x1fn;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
function quadbinParent(index) {
|
|
89
|
-
var quadbin = indexToBigInt(index);
|
|
90
|
-
var zparent = quadbinZoom(index) - 1n;
|
|
91
|
-
var parent = quadbin & ~(0x1fn << 52n) | zparent << 52n | 0xfffffffffffffn >> zparent * 2n;
|
|
92
|
-
return bigIntToIndex(parent);
|
|
93
|
-
}
|
|
17
|
+
var TILE_SIZE = 512;
|
|
94
18
|
|
|
95
19
|
function quadbinToWorldBounds(quadbin) {
|
|
96
|
-
var
|
|
97
|
-
x =
|
|
98
|
-
y =
|
|
99
|
-
z =
|
|
20
|
+
var _cellToTile = (0, _quadbin.cellToTile)(quadbin),
|
|
21
|
+
x = _cellToTile.x,
|
|
22
|
+
y = _cellToTile.y,
|
|
23
|
+
z = _cellToTile.z;
|
|
100
24
|
|
|
101
25
|
var mask = 1 << z;
|
|
102
26
|
var scale = mask / TILE_SIZE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/quadbin-utils.ts"],"names":["TILE_SIZE","
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/quadbin-utils.ts"],"names":["TILE_SIZE","quadbinToWorldBounds","quadbin","x","y","z","mask","scale","getQuadbinPolygon","topLeft","bottomRight","w","n","e","s"],"mappings":";;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,SAAS,GAAG,GAAlB;;AAEO,SAASC,oBAAT,CAA8BC,OAA9B,EAAqE;AAC1E,oBAAkB,yBAAWA,OAAX,CAAlB;AAAA,MAAOC,CAAP,eAAOA,CAAP;AAAA,MAAUC,CAAV,eAAUA,CAAV;AAAA,MAAaC,CAAb,eAAaA,CAAb;;AACA,MAAMC,IAAI,GAAG,KAAKD,CAAlB;AACA,MAAME,KAAK,GAAGD,IAAI,GAAGN,SAArB;AACA,SAAO,CACL,CAACG,CAAC,GAAGI,KAAL,EAAYP,SAAS,GAAGI,CAAC,GAAGG,KAA5B,CADK,EAEL,CAAC,CAACJ,CAAC,GAAG,IAAL,IAAaI,KAAd,EAAqBP,SAAS,GAAG,CAACI,CAAC,GAAG,IAAL,IAAaG,KAA9C,CAFK,CAAP;AAID;;AAEM,SAASC,iBAAT,CAA2BN,OAA3B,EAAsD;AAC3D,8BAA+BD,oBAAoB,CAACC,OAAD,CAAnD;AAAA;AAAA,MAAOO,OAAP;AAAA,MAAgBC,WAAhB;;AACA,uBAAe,gCAAcD,OAAd,CAAf;AAAA;AAAA,MAAOE,CAAP;AAAA,MAAUC,CAAV;;AACA,wBAAe,gCAAcF,WAAd,CAAf;AAAA;AAAA,MAAOG,CAAP;AAAA,MAAUC,CAAV;;AACA,SAAO,CAACD,CAAD,EAAID,CAAJ,EAAOC,CAAP,EAAUC,CAAV,EAAaH,CAAb,EAAgBG,CAAhB,EAAmBH,CAAnB,EAAsBC,CAAtB,EAAyBC,CAAzB,EAA4BD,CAA5B,CAAP;AACD","sourcesContent":["import {worldToLngLat} from '@math.gl/web-mercator';\nimport {cellToTile} from 'quadbin';\n\nconst TILE_SIZE = 512;\n\nexport function quadbinToWorldBounds(quadbin: bigint): [number[], number[]] {\n const {x, y, z} = cellToTile(quadbin);\n const mask = 1 << z;\n const scale = mask / TILE_SIZE;\n return [\n [x / scale, TILE_SIZE - y / scale],\n [(x + 0.99) / scale, TILE_SIZE - (y + 0.99) / scale]\n ];\n}\n\nexport function getQuadbinPolygon(quadbin: bigint): number[] {\n const [topLeft, bottomRight] = quadbinToWorldBounds(quadbin);\n const [w, n] = worldToLngLat(topLeft);\n const [e, s] = worldToLngLat(bottomRight);\n return [e, n, e, s, w, s, w, n, e, n];\n}\n"],"file":"quadbin-utils.js"}
|
|
@@ -13,11 +13,11 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
13
13
|
|
|
14
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _cartoSpatialTile = require("./carto-spatial-tile");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _tileLoaderUtils = require("./tile-loader-utils");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _spatialjsonUtils = require("./spatialjson-utils");
|
|
21
21
|
|
|
22
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
23
|
|
|
@@ -29,7 +29,7 @@ var CartoSpatialTileLoader = {
|
|
|
29
29
|
id: 'cartoSpatialTile',
|
|
30
30
|
module: 'carto',
|
|
31
31
|
extensions: ['pbf'],
|
|
32
|
-
mimeTypes: ['application/vnd.carto-spatial-tile'
|
|
32
|
+
mimeTypes: ['application/vnd.carto-spatial-tile'],
|
|
33
33
|
category: 'geometry',
|
|
34
34
|
worker: false,
|
|
35
35
|
parse: function () {
|
|
@@ -55,41 +55,25 @@ var CartoSpatialTileLoader = {
|
|
|
55
55
|
return parse;
|
|
56
56
|
}(),
|
|
57
57
|
parseSync: parseCartoSpatialTile,
|
|
58
|
-
options: {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
var pbf = new _pbf.default(buffer);
|
|
63
|
-
|
|
64
|
-
var tile = _cartoSpatialTile.TileReader.read(pbf);
|
|
65
|
-
|
|
66
|
-
return tile;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function unpackProperties(properties) {
|
|
70
|
-
if (!properties || !properties.length) {
|
|
71
|
-
return [];
|
|
58
|
+
options: {
|
|
59
|
+
cartoSpatialTile: {
|
|
60
|
+
scheme: 'quadbin'
|
|
61
|
+
}
|
|
72
62
|
}
|
|
73
|
-
|
|
74
|
-
return properties.map(function (item) {
|
|
75
|
-
var currentRecord = {};
|
|
76
|
-
item.data.forEach(function (_ref) {
|
|
77
|
-
var key = _ref.key,
|
|
78
|
-
value = _ref.value;
|
|
79
|
-
currentRecord[key] = value;
|
|
80
|
-
});
|
|
81
|
-
return currentRecord;
|
|
82
|
-
});
|
|
83
|
-
}
|
|
63
|
+
};
|
|
84
64
|
|
|
85
65
|
function parseCartoSpatialTile(arrayBuffer, options) {
|
|
66
|
+
var _options$cartoSpatial;
|
|
67
|
+
|
|
86
68
|
if (!arrayBuffer) return null;
|
|
87
|
-
var tile = parsePbf(arrayBuffer);
|
|
69
|
+
var tile = (0, _tileLoaderUtils.parsePbf)(arrayBuffer, _cartoSpatialTile.TileReader);
|
|
88
70
|
var cells = tile.cells;
|
|
71
|
+
var scheme = options === null || options === void 0 ? void 0 : (_options$cartoSpatial = options.cartoSpatialTile) === null || _options$cartoSpatial === void 0 ? void 0 : _options$cartoSpatial.scheme;
|
|
89
72
|
var data = {
|
|
90
73
|
cells: _objectSpread(_objectSpread({}, cells), {}, {
|
|
91
|
-
properties: unpackProperties(cells.properties)
|
|
92
|
-
})
|
|
74
|
+
properties: (0, _tileLoaderUtils.unpackProperties)(cells.properties)
|
|
75
|
+
}),
|
|
76
|
+
scheme: scheme
|
|
93
77
|
};
|
|
94
78
|
return (0, _spatialjsonUtils.binaryToSpatialjson)(data);
|
|
95
79
|
}
|
|
@@ -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","
|
|
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","properties"],"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;AACXD,IAAAA,KAAK,kCAAMA,KAAN;AAAaE,MAAAA,UAAU,EAAE,uCAAiBF,KAAK,CAACE,UAAvB;AAAzB,MADM;AAEXL,IAAAA,MAAM,EAANA;AAFW,GAAb;AAKA,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, unpackProperties} 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 = {\n cells: {...cells, properties: unpackProperties(cells.properties)},\n scheme\n };\n\n return binaryToSpatialjson(data);\n}\n\nexport default CartoSpatialTileLoader;\n"],"file":"carto-spatial-tile-loader.js"}
|
|
@@ -114,6 +114,27 @@ var IntsReader = function () {
|
|
|
114
114
|
return IntsReader;
|
|
115
115
|
}();
|
|
116
116
|
|
|
117
|
+
var FieldsReader = function () {
|
|
118
|
+
function FieldsReader() {
|
|
119
|
+
(0, _classCallCheck2.default)(this, FieldsReader);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
(0, _createClass2.default)(FieldsReader, null, [{
|
|
123
|
+
key: "read",
|
|
124
|
+
value: function read(pbf, end) {
|
|
125
|
+
return pbf.readFields(FieldsReader._readField, {
|
|
126
|
+
id: 0
|
|
127
|
+
}, end);
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
130
|
+
key: "_readField",
|
|
131
|
+
value: function _readField(tag, obj, pbf) {
|
|
132
|
+
if (tag === 1) obj.id = pbf.readVarint();
|
|
133
|
+
}
|
|
134
|
+
}]);
|
|
135
|
+
return FieldsReader;
|
|
136
|
+
}();
|
|
137
|
+
|
|
117
138
|
var NumericPropReader = function () {
|
|
118
139
|
function NumericPropReader() {
|
|
119
140
|
(0, _classCallCheck2.default)(this, NumericPropReader);
|
|
@@ -172,7 +193,8 @@ var PointsReader = function () {
|
|
|
172
193
|
globalFeatureIds: null,
|
|
173
194
|
featureIds: null,
|
|
174
195
|
properties: [],
|
|
175
|
-
numericProps: {}
|
|
196
|
+
numericProps: {},
|
|
197
|
+
fields: []
|
|
176
198
|
}, end);
|
|
177
199
|
}
|
|
178
200
|
}, {
|
|
@@ -181,7 +203,7 @@ var PointsReader = function () {
|
|
|
181
203
|
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
|
|
182
204
|
var entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
183
205
|
obj.numericProps[entry.key] = entry.value;
|
|
184
|
-
}
|
|
206
|
+
} else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
185
207
|
}
|
|
186
208
|
}]);
|
|
187
209
|
return PointsReader;
|
|
@@ -201,7 +223,8 @@ var LinesReader = function () {
|
|
|
201
223
|
globalFeatureIds: null,
|
|
202
224
|
featureIds: null,
|
|
203
225
|
properties: [],
|
|
204
|
-
numericProps: {}
|
|
226
|
+
numericProps: {},
|
|
227
|
+
fields: []
|
|
205
228
|
}, end);
|
|
206
229
|
}
|
|
207
230
|
}, {
|
|
@@ -210,7 +233,7 @@ var LinesReader = function () {
|
|
|
210
233
|
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
|
|
211
234
|
var entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
212
235
|
obj.numericProps[entry.key] = entry.value;
|
|
213
|
-
}
|
|
236
|
+
} else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
214
237
|
}
|
|
215
238
|
}]);
|
|
216
239
|
return LinesReader;
|
|
@@ -232,7 +255,8 @@ var PolygonsReader = function () {
|
|
|
232
255
|
primitivePolygonIndices: null,
|
|
233
256
|
triangles: null,
|
|
234
257
|
properties: [],
|
|
235
|
-
numericProps: {}
|
|
258
|
+
numericProps: {},
|
|
259
|
+
fields: []
|
|
236
260
|
}, end);
|
|
237
261
|
}
|
|
238
262
|
}, {
|
|
@@ -241,7 +265,7 @@ var PolygonsReader = function () {
|
|
|
241
265
|
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
|
|
242
266
|
var entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
243
267
|
obj.numericProps[entry.key] = entry.value;
|
|
244
|
-
}
|
|
268
|
+
} else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
245
269
|
}
|
|
246
270
|
}]);
|
|
247
271
|
return PolygonsReader;
|
|
@@ -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","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","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// 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}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {positions: null, globalFeatureIds: null, featureIds: null, properties: [], numericProps: {}},\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 }\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 },\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 }\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 },\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 }\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","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"}
|