@deck.gl/carto 8.8.0-alpha.4 → 8.8.0-alpha.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 +181 -190
- package/dist/es5/layers/carto-tile-layer.js +17 -12
- package/dist/es5/layers/carto-tile-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +1 -1
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadkey-tile-layer.js +1 -1
- package/dist/es5/layers/quadkey-tile-layer.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +261 -188
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/carto-tile-layer.js +20 -16
- package/dist/esm/layers/carto-tile-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +1 -1
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadkey-tile-layer.js +1 -1
- package/dist/esm/layers/quadkey-tile-layer.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +174 -189
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist.min.js +2 -2
- package/package.json +5 -3
- package/src/layers/{carto-tile-layer.js → carto-tile-layer.ts} +64 -27
- package/src/layers/h3-tile-layer.js +1 -1
- package/src/layers/quadkey-tile-layer.js +1 -1
- package/src/layers/schema/carto-tile.ts +221 -0
- package/src/layers/schema/carto-tile.js +0 -195
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-tile-layer.
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-tile-layer.ts"],"names":["Protobuf","log","ClipExtension","MVTLayer","_getURLFromTemplate","GeoJsonLayer","geojsonToBinary","TileReader","TILE_FORMATS","parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parsePbf","buffer","pbf","tile","read","unpackProperties","properties","length","map","item","currentRecord","data","forEach","key","value","parseCartoTile","options","formatTiles","cartoTile","GEOJSON","features","points","lines","polygons","defaultTileFormat","BINARY","CartoTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parseSync","defaultProps","loaders","CartoTileLayer","getTileData","url","state","Promise","reject","loadOptions","getLoadOptions","fetch","props","signal","mimeType","assert","Object","values","includes","propName","layer","renderSubLayers","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","clipBounds","subLayer"],"mappings":"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","sourcesContent":["/* global TextDecoder */\nimport Protobuf from 'pbf';\nimport {Layer, LayersList, log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {\n MVTLayer,\n MVTLayerProps,\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {Properties, Tile, TileReader} from './schema/carto-tile';\nimport {TileFormat, TILE_FORMATS} from '../api/maps-api-common';\nimport {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\nimport type {Feature} from 'geojson';\n\nfunction parseJSON(arrayBuffer: ArrayBuffer): any {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parsePbf(buffer: ArrayBuffer): Tile {\n const pbf = new Protobuf(buffer);\n const tile = TileReader.read(pbf);\n return tile;\n}\n\nfunction unpackProperties(properties: Properties[]) {\n if (!properties || !properties.length) {\n return [];\n }\n return properties.map(item => {\n const currentRecord: Record<string, unknown> = {};\n item.data.forEach(({key, value}) => {\n currentRecord[key] = value;\n });\n return currentRecord;\n });\n}\n\nfunction parseCartoTile(arrayBuffer: ArrayBuffer, options?: LoaderOptions): BinaryFeatures | null {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoTile && options.cartoTile.formatTiles;\n if (formatTiles === TILE_FORMATS.GEOJSON) return geojsonToBinary(parseJSON(arrayBuffer).features);\n\n const tile = parsePbf(arrayBuffer);\n\n const {points, lines, polygons} = tile;\n const data = {\n points: {...points, properties: unpackProperties(points.properties)},\n lines: {...lines, properties: unpackProperties(lines.properties)},\n polygons: {...polygons, properties: unpackProperties(polygons.properties)}\n };\n\n // Note: there is slight, difference in `numericProps` type, however geojson/mvtlayer can cope with this\n return data as unknown as BinaryFeatures;\n}\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst CartoTileLoader: LoaderWithParser = {\n name: 'CARTO Tile',\n version: '1',\n id: 'cartoTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/x-protobuf'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoTile(arrayBuffer, options),\n parseSync: parseCartoTile,\n options: {\n cartoTile: {\n formatTiles: defaultTileFormat\n }\n }\n};\n\nconst defaultProps = {\n ...MVTLayer.defaultProps,\n formatTiles: defaultTileFormat,\n loaders: [CartoTileLoader]\n};\n\n/** All properties supported by CartoTileLayer. */\nexport type CartoTileLayerProps<DataT extends Feature = Feature> = _CartoTileLayerProps &\n MVTLayerProps<DataT>;\n\n/** Properties added by CartoTileLayer. */\ntype _CartoTileLayerProps = {\n /** Use to override the default tile data format.\n *\n * Possible values are: `TILE_FORMATS.BINARY`, `TILE_FORMATS.GEOJSON` and `TILE_FORMATS.MVT`.\n *\n * Only supported when `apiVersion` is `API_VERSIONS.V3` and `format` is `FORMATS.TILEJSON`.\n * */\n formatTiles?: TileFormat;\n};\n\nexport default class CartoTileLayer<\n DataT extends Feature = Feature,\n ExtraProps = {}\n> extends MVTLayer<DataT, Required<_CartoTileLayerProps> & ExtraProps> {\n static layerName = 'CartoTileLayer';\n static defaultProps = defaultProps;\n\n getTileData(tile: TileLoadProps) {\n const url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n let loadOptions = this.getLoadOptions();\n const {fetch, formatTiles} = this.props;\n const {signal} = tile;\n\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/x-protobuf'\n };\n\n if (formatTiles) {\n log.assert(\n Object.values(TILE_FORMATS).includes(formatTiles),\n `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`\n );\n loadOptions.cartoTile = {formatTiles};\n }\n\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: any;\n _offset: number;\n tile: _Tile2DHeader;\n }\n ): GeoJsonLayer | null {\n if (props.data === null) {\n return null;\n }\n\n const tileBbox = props.tile.bbox as any;\n const {west, south, east, north} = tileBbox;\n\n const subLayerProps = {\n ...props,\n autoHighlight: false,\n extensions: [new ClipExtension(), ...(props.extensions || [])],\n clipBounds: [west, south, east, north]\n };\n\n const subLayer = new GeoJsonLayer(subLayerProps);\n return subLayer;\n }\n}\n"],"file":"carto-tile-layer.js"}
|
|
@@ -54,7 +54,7 @@ export default class H3TileLayer extends CompositeLayer {
|
|
|
54
54
|
} = this.state;
|
|
55
55
|
const maxZoom = parseInt(tileJSON.maxresolution);
|
|
56
56
|
return [new SpatialIndexTileLayer(this.props, {
|
|
57
|
-
id:
|
|
57
|
+
id: "h3-tile-layer-".concat(this.props.id),
|
|
58
58
|
data,
|
|
59
59
|
getHexagon: d => d.id,
|
|
60
60
|
TilesetClass: H3Tileset2D,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/h3-tile-layer.js"],"names":["CompositeLayer","H3HexagonLayer","H3Tileset2D","SpatialIndexTileLayer","renderSubLayers","props","data","index","tile","length","centerHexagon","highPrecision","defaultProps","aggregationResLevel","H3TileLayer","initializeState","setState","tileJSON","updateState","oldProps","context","changeFlags","dataChanged","tiles","renderLayers","state","maxZoom","parseInt","maxresolution","id","getHexagon","d","TilesetClass","layerName"],"mappings":"AAAA,SAAQA,cAAR,QAA6B,eAA7B;AACA,SAAQC,cAAR,QAA6B,qBAA7B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;;AAEA,MAAMC,eAAe,GAAGC,KAAK,IAAI;AAC/B,QAAM;AAACC,IAAAA;AAAD,MAASD,KAAf;AACA,QAAM;AAACE,IAAAA;AAAD,MAAUF,KAAK,CAACG,IAAtB;AACA,MAAI,CAACF,IAAD,IAAS,CAACA,IAAI,CAACG,MAAnB,EAA2B,OAAO,IAAP;AAE3B,SAAO,IAAIR,cAAJ,CAAmBI,KAAnB,EAA0B;AAC/BK,IAAAA,aAAa,EAAEH,KADgB;AAE/BI,IAAAA,aAAa,EAAE;AAFgB,GAA1B,CAAP;AAID,CATD;;AAWA,MAAMC,YAAY,GAAG;AACnBC,EAAAA,mBAAmB,EAAE;AADF,CAArB;AAIA,eAAe,MAAMC,WAAN,SAA0Bd,cAA1B,CAAyC;AACtDe,EAAAA,eAAe,GAAG;AAChB,SAAKC,QAAL,CAAc;AAACV,MAAAA,IAAI,EAAE,IAAP;AAAaW,MAAAA,QAAQ,EAAE;AAAvB,KAAd;AACD;;AAEDC,EAAAA,WAAW,CAAC;AAACb,IAAAA,KAAD;AAAQc,IAAAA,QAAR;AAAkBC,IAAAA,OAAlB;AAA2BC,IAAAA;AAA3B,GAAD,EAA0C;AACnD,QAAIA,WAAW,CAACC,WAAhB,EAA6B;AAC3B,UAAI;AAAChB,QAAAA;AAAD,UAAS,KAAKD,KAAlB;AACA,YAAMY,QAAQ,GAAGX,IAAjB;AACAA,MAAAA,IAAI,GAAGW,QAAQ,CAACM,KAAhB;AACA,WAAKP,QAAL,CAAc;AAACV,QAAAA,IAAD;AAAOW,QAAAA;AAAP,OAAd;AACD;AACF;;AAEDO,EAAAA,YAAY,GAAG;AACb,UAAM;AAAClB,MAAAA,IAAD;AAAOW,MAAAA;AAAP,QAAmB,KAAKQ,KAA9B;AACA,UAAMC,OAAO,GAAGC,QAAQ,CAACV,QAAQ,CAACW,aAAV,CAAxB;AACA,WAAO,CACL,IAAIzB,qBAAJ,CAA0B,KAAKE,KAA/B,EAAsC;AACpCwB,MAAAA,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/h3-tile-layer.js"],"names":["CompositeLayer","H3HexagonLayer","H3Tileset2D","SpatialIndexTileLayer","renderSubLayers","props","data","index","tile","length","centerHexagon","highPrecision","defaultProps","aggregationResLevel","H3TileLayer","initializeState","setState","tileJSON","updateState","oldProps","context","changeFlags","dataChanged","tiles","renderLayers","state","maxZoom","parseInt","maxresolution","id","getHexagon","d","TilesetClass","layerName"],"mappings":"AAAA,SAAQA,cAAR,QAA6B,eAA7B;AACA,SAAQC,cAAR,QAA6B,qBAA7B;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;;AAEA,MAAMC,eAAe,GAAGC,KAAK,IAAI;AAC/B,QAAM;AAACC,IAAAA;AAAD,MAASD,KAAf;AACA,QAAM;AAACE,IAAAA;AAAD,MAAUF,KAAK,CAACG,IAAtB;AACA,MAAI,CAACF,IAAD,IAAS,CAACA,IAAI,CAACG,MAAnB,EAA2B,OAAO,IAAP;AAE3B,SAAO,IAAIR,cAAJ,CAAmBI,KAAnB,EAA0B;AAC/BK,IAAAA,aAAa,EAAEH,KADgB;AAE/BI,IAAAA,aAAa,EAAE;AAFgB,GAA1B,CAAP;AAID,CATD;;AAWA,MAAMC,YAAY,GAAG;AACnBC,EAAAA,mBAAmB,EAAE;AADF,CAArB;AAIA,eAAe,MAAMC,WAAN,SAA0Bd,cAA1B,CAAyC;AACtDe,EAAAA,eAAe,GAAG;AAChB,SAAKC,QAAL,CAAc;AAACV,MAAAA,IAAI,EAAE,IAAP;AAAaW,MAAAA,QAAQ,EAAE;AAAvB,KAAd;AACD;;AAEDC,EAAAA,WAAW,CAAC;AAACb,IAAAA,KAAD;AAAQc,IAAAA,QAAR;AAAkBC,IAAAA,OAAlB;AAA2BC,IAAAA;AAA3B,GAAD,EAA0C;AACnD,QAAIA,WAAW,CAACC,WAAhB,EAA6B;AAC3B,UAAI;AAAChB,QAAAA;AAAD,UAAS,KAAKD,KAAlB;AACA,YAAMY,QAAQ,GAAGX,IAAjB;AACAA,MAAAA,IAAI,GAAGW,QAAQ,CAACM,KAAhB;AACA,WAAKP,QAAL,CAAc;AAACV,QAAAA,IAAD;AAAOW,QAAAA;AAAP,OAAd;AACD;AACF;;AAEDO,EAAAA,YAAY,GAAG;AACb,UAAM;AAAClB,MAAAA,IAAD;AAAOW,MAAAA;AAAP,QAAmB,KAAKQ,KAA9B;AACA,UAAMC,OAAO,GAAGC,QAAQ,CAACV,QAAQ,CAACW,aAAV,CAAxB;AACA,WAAO,CACL,IAAIzB,qBAAJ,CAA0B,KAAKE,KAA/B,EAAsC;AACpCwB,MAAAA,EAAE,0BAAmB,KAAKxB,KAAL,CAAWwB,EAA9B,CADkC;AAEpCvB,MAAAA,IAFoC;AAGpCwB,MAAAA,UAAU,EAAEC,CAAC,IAAIA,CAAC,CAACF,EAHiB;AAIpCG,MAAAA,YAAY,EAAE9B,WAJsB;AAKpCE,MAAAA,eALoC;AAMpCsB,MAAAA;AANoC,KAAtC,CADK,CAAP;AAUD;;AA3BqD;AA8BxDZ,WAAW,CAACmB,SAAZ,GAAwB,aAAxB;AACAnB,WAAW,CAACF,YAAZ,GAA2BA,YAA3B","sourcesContent":["import {CompositeLayer} from '@deck.gl/core';\nimport {H3HexagonLayer} from '@deck.gl/geo-layers';\nimport H3Tileset2D 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 centerHexagon: index,\n highPrecision: true\n });\n};\n\nconst defaultProps = {\n aggregationResLevel: 4\n};\n\nexport default class H3TileLayer extends CompositeLayer {\n initializeState() {\n this.setState({data: null, tileJSON: null});\n }\n\n updateState({props, oldProps, context, changeFlags}) {\n if (changeFlags.dataChanged) {\n let {data} = this.props;\n const tileJSON = data;\n data = tileJSON.tiles;\n this.setState({data, tileJSON});\n }\n }\n\n renderLayers() {\n const {data, tileJSON} = this.state;\n const maxZoom = parseInt(tileJSON.maxresolution);\n return [\n new SpatialIndexTileLayer(this.props, {\n id: `h3-tile-layer-${this.props.id}`,\n data,\n getHexagon: d => d.id,\n TilesetClass: H3Tileset2D,\n renderSubLayers,\n maxZoom\n })\n ];\n }\n}\n\nH3TileLayer.layerName = 'H3TileLayer';\nH3TileLayer.defaultProps = defaultProps;\n"],"file":"h3-tile-layer.js"}
|
|
@@ -48,7 +48,7 @@ export default class QuadkeyTileLayer extends CompositeLayer {
|
|
|
48
48
|
} = this.state;
|
|
49
49
|
const maxZoom = parseInt(tileJSON.maxresolution);
|
|
50
50
|
return [new SpatialIndexTileLayer(this.props, {
|
|
51
|
-
id:
|
|
51
|
+
id: "quadkey-tile-layer-".concat(this.props.id),
|
|
52
52
|
data,
|
|
53
53
|
getQuadkey: d => d.id,
|
|
54
54
|
TilesetClass: QuadkeyTileset2D,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/quadkey-tile-layer.js"],"names":["CompositeLayer","QuadkeyLayer","QuadkeyTileset2D","SpatialIndexTileLayer","renderSubLayers","props","data","length","defaultProps","aggregationResLevel","QuadkeyTileLayer","initializeState","setState","tileJSON","updateState","oldProps","context","changeFlags","dataChanged","tiles","renderLayers","state","maxZoom","parseInt","maxresolution","id","getQuadkey","d","TilesetClass","layerName"],"mappings":"AAAA,SAAQA,cAAR,QAA6B,eAA7B;AACA,SAAQC,YAAR,QAA2B,qBAA3B;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;;AAEA,MAAMC,eAAe,GAAGC,KAAK,IAAI;AAC/B,QAAM;AAACC,IAAAA;AAAD,MAASD,KAAf;AACA,MAAI,CAACC,IAAD,IAAS,CAACA,IAAI,CAACC,MAAnB,EAA2B,OAAO,IAAP;AAC3B,SAAO,IAAIN,YAAJ,CAAiBI,KAAjB,CAAP;AACD,CAJD;;AAMA,MAAMG,YAAY,GAAG;AACnBC,EAAAA,mBAAmB,EAAE;AADF,CAArB;AAIA,eAAe,MAAMC,gBAAN,SAA+BV,cAA/B,CAA8C;AAC3DW,EAAAA,eAAe,GAAG;AAChB,SAAKC,QAAL,CAAc;AAACN,MAAAA,IAAI,EAAE,IAAP;AAAaO,MAAAA,QAAQ,EAAE;AAAvB,KAAd;AACD;;AAEDC,EAAAA,WAAW,CAAC;AAACT,IAAAA,KAAD;AAAQU,IAAAA,QAAR;AAAkBC,IAAAA,OAAlB;AAA2BC,IAAAA;AAA3B,GAAD,EAA0C;AACnD,QAAIA,WAAW,CAACC,WAAhB,EAA6B;AAC3B,UAAI;AAACZ,QAAAA;AAAD,UAAS,KAAKD,KAAlB;AACA,YAAMQ,QAAQ,GAAGP,IAAjB;AACAA,MAAAA,IAAI,GAAGO,QAAQ,CAACM,KAAhB;AACA,WAAKP,QAAL,CAAc;AAACN,QAAAA,IAAD;AAAOO,QAAAA;AAAP,OAAd;AACD;AACF;;AAEDO,EAAAA,YAAY,GAAG;AACb,UAAM;AAACd,MAAAA,IAAD;AAAOO,MAAAA;AAAP,QAAmB,KAAKQ,KAA9B;AACA,UAAMC,OAAO,GAAGC,QAAQ,CAACV,QAAQ,CAACW,aAAV,CAAxB;AACA,WAAO,CACL,IAAIrB,qBAAJ,CAA0B,KAAKE,KAA/B,EAAsC;AACpCoB,MAAAA,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/quadkey-tile-layer.js"],"names":["CompositeLayer","QuadkeyLayer","QuadkeyTileset2D","SpatialIndexTileLayer","renderSubLayers","props","data","length","defaultProps","aggregationResLevel","QuadkeyTileLayer","initializeState","setState","tileJSON","updateState","oldProps","context","changeFlags","dataChanged","tiles","renderLayers","state","maxZoom","parseInt","maxresolution","id","getQuadkey","d","TilesetClass","layerName"],"mappings":"AAAA,SAAQA,cAAR,QAA6B,eAA7B;AACA,SAAQC,YAAR,QAA2B,qBAA3B;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;;AAEA,MAAMC,eAAe,GAAGC,KAAK,IAAI;AAC/B,QAAM;AAACC,IAAAA;AAAD,MAASD,KAAf;AACA,MAAI,CAACC,IAAD,IAAS,CAACA,IAAI,CAACC,MAAnB,EAA2B,OAAO,IAAP;AAC3B,SAAO,IAAIN,YAAJ,CAAiBI,KAAjB,CAAP;AACD,CAJD;;AAMA,MAAMG,YAAY,GAAG;AACnBC,EAAAA,mBAAmB,EAAE;AADF,CAArB;AAIA,eAAe,MAAMC,gBAAN,SAA+BV,cAA/B,CAA8C;AAC3DW,EAAAA,eAAe,GAAG;AAChB,SAAKC,QAAL,CAAc;AAACN,MAAAA,IAAI,EAAE,IAAP;AAAaO,MAAAA,QAAQ,EAAE;AAAvB,KAAd;AACD;;AAEDC,EAAAA,WAAW,CAAC;AAACT,IAAAA,KAAD;AAAQU,IAAAA,QAAR;AAAkBC,IAAAA,OAAlB;AAA2BC,IAAAA;AAA3B,GAAD,EAA0C;AACnD,QAAIA,WAAW,CAACC,WAAhB,EAA6B;AAC3B,UAAI;AAACZ,QAAAA;AAAD,UAAS,KAAKD,KAAlB;AACA,YAAMQ,QAAQ,GAAGP,IAAjB;AACAA,MAAAA,IAAI,GAAGO,QAAQ,CAACM,KAAhB;AACA,WAAKP,QAAL,CAAc;AAACN,QAAAA,IAAD;AAAOO,QAAAA;AAAP,OAAd;AACD;AACF;;AAEDO,EAAAA,YAAY,GAAG;AACb,UAAM;AAACd,MAAAA,IAAD;AAAOO,MAAAA;AAAP,QAAmB,KAAKQ,KAA9B;AACA,UAAMC,OAAO,GAAGC,QAAQ,CAACV,QAAQ,CAACW,aAAV,CAAxB;AACA,WAAO,CACL,IAAIrB,qBAAJ,CAA0B,KAAKE,KAA/B,EAAsC;AACpCoB,MAAAA,EAAE,+BAAwB,KAAKpB,KAAL,CAAWoB,EAAnC,CADkC;AAEpCnB,MAAAA,IAFoC;AAGpCoB,MAAAA,UAAU,EAAEC,CAAC,IAAIA,CAAC,CAACF,EAHiB;AAIpCG,MAAAA,YAAY,EAAE1B,gBAJsB;AAKpCE,MAAAA,eALoC;AAMpCkB,MAAAA;AANoC,KAAtC,CADK,CAAP;AAUD;;AA3B0D;AA8B7DZ,gBAAgB,CAACmB,SAAjB,GAA6B,kBAA7B;AACAnB,gBAAgB,CAACF,YAAjB,GAAgCA,YAAhC","sourcesContent":["import {CompositeLayer} from '@deck.gl/core';\nimport {QuadkeyLayer} from '@deck.gl/geo-layers';\nimport QuadkeyTileset2D from './quadkey-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 QuadkeyLayer(props);\n};\n\nconst defaultProps = {\n aggregationResLevel: 6\n};\n\nexport default class QuadkeyTileLayer extends CompositeLayer {\n initializeState() {\n this.setState({data: null, tileJSON: null});\n }\n\n updateState({props, oldProps, context, changeFlags}) {\n if (changeFlags.dataChanged) {\n let {data} = this.props;\n const tileJSON = data;\n data = tileJSON.tiles;\n this.setState({data, tileJSON});\n }\n }\n\n renderLayers() {\n const {data, tileJSON} = this.state;\n const maxZoom = parseInt(tileJSON.maxresolution);\n return [\n new SpatialIndexTileLayer(this.props, {\n id: `quadkey-tile-layer-${this.props.id}`,\n data,\n getQuadkey: d => d.id,\n TilesetClass: QuadkeyTileset2D,\n renderSubLayers,\n maxZoom\n })\n ];\n }\n}\n\nQuadkeyTileLayer.layerName = 'QuadkeyTileLayer';\nQuadkeyTileLayer.defaultProps = defaultProps;\n"],"file":"quadkey-tile-layer.js"}
|
|
@@ -1,190 +1,175 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
};
|
|
176
|
-
|
|
177
|
-
export const Tile = {};
|
|
178
|
-
|
|
179
|
-
Tile.read = function (pbf, end) {
|
|
180
|
-
return pbf.readFields(Tile._readField, {
|
|
181
|
-
points: null,
|
|
182
|
-
lines: null,
|
|
183
|
-
polygons: null
|
|
184
|
-
}, end);
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
Tile._readField = function (tag, obj, pbf) {
|
|
188
|
-
if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);
|
|
189
|
-
};
|
|
1
|
+
class KeyValueObjectReader {
|
|
2
|
+
static read(pbf, end) {
|
|
3
|
+
return pbf.readFields(KeyValueObjectReader._readField, {
|
|
4
|
+
key: '',
|
|
5
|
+
value: ''
|
|
6
|
+
}, end);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
static _readField(tag, obj, pbf) {
|
|
10
|
+
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
class PropertiesReader {
|
|
16
|
+
static read(pbf, end) {
|
|
17
|
+
return pbf.readFields(PropertiesReader._readField, {
|
|
18
|
+
data: []
|
|
19
|
+
}, end);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static _readField(tag, obj, pbf) {
|
|
23
|
+
if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
class DoublesReader {
|
|
29
|
+
static read(pbf, end) {
|
|
30
|
+
const {
|
|
31
|
+
value,
|
|
32
|
+
size
|
|
33
|
+
} = pbf.readFields(DoublesReader._readField, {
|
|
34
|
+
value: [],
|
|
35
|
+
size: 0
|
|
36
|
+
}, end);
|
|
37
|
+
return {
|
|
38
|
+
value: new Float32Array(value),
|
|
39
|
+
size
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static _readField(tag, obj, pbf) {
|
|
44
|
+
if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
class IntsReader {
|
|
50
|
+
static read(pbf, end) {
|
|
51
|
+
const {
|
|
52
|
+
value,
|
|
53
|
+
size
|
|
54
|
+
} = pbf.readFields(IntsReader._readField, {
|
|
55
|
+
value: [],
|
|
56
|
+
size: 0
|
|
57
|
+
}, end);
|
|
58
|
+
return {
|
|
59
|
+
value: new Uint32Array(value),
|
|
60
|
+
size
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static _readField(tag, obj, pbf) {
|
|
65
|
+
if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
class NumericPropReader {
|
|
71
|
+
static read(pbf, end) {
|
|
72
|
+
return pbf.readFields(NumericPropReader._readField, {
|
|
73
|
+
value: []
|
|
74
|
+
}, end);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
static _readField(tag, obj, pbf) {
|
|
78
|
+
if (tag === 1) pbf.readPackedDouble(obj.value);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
class NumericPropKeyValueReader {
|
|
84
|
+
static read(pbf, end) {
|
|
85
|
+
return pbf.readFields(NumericPropKeyValueReader._readField, {
|
|
86
|
+
key: '',
|
|
87
|
+
value: null
|
|
88
|
+
}, end);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
static _readField(tag, obj, pbf) {
|
|
92
|
+
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
class PointsReader {
|
|
98
|
+
static read(pbf, end) {
|
|
99
|
+
return pbf.readFields(PointsReader._readField, {
|
|
100
|
+
positions: null,
|
|
101
|
+
globalFeatureIds: null,
|
|
102
|
+
featureIds: null,
|
|
103
|
+
properties: [],
|
|
104
|
+
numericProps: {}
|
|
105
|
+
}, end);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
static _readField(tag, obj, pbf) {
|
|
109
|
+
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) {
|
|
110
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
111
|
+
obj.numericProps[entry.key] = entry.value;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
class LinesReader {
|
|
118
|
+
static read(pbf, end) {
|
|
119
|
+
return pbf.readFields(LinesReader._readField, {
|
|
120
|
+
positions: null,
|
|
121
|
+
pathIndices: null,
|
|
122
|
+
globalFeatureIds: null,
|
|
123
|
+
featureIds: null,
|
|
124
|
+
properties: [],
|
|
125
|
+
numericProps: {}
|
|
126
|
+
}, end);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
static _readField(tag, obj, pbf) {
|
|
130
|
+
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) {
|
|
131
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
132
|
+
obj.numericProps[entry.key] = entry.value;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
class PolygonsReader {
|
|
139
|
+
static read(pbf, end) {
|
|
140
|
+
return pbf.readFields(PolygonsReader._readField, {
|
|
141
|
+
positions: null,
|
|
142
|
+
polygonIndices: null,
|
|
143
|
+
globalFeatureIds: null,
|
|
144
|
+
featureIds: null,
|
|
145
|
+
primitivePolygonIndices: null,
|
|
146
|
+
triangles: null,
|
|
147
|
+
properties: [],
|
|
148
|
+
numericProps: {}
|
|
149
|
+
}, end);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
static _readField(tag, obj, pbf) {
|
|
153
|
+
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) {
|
|
154
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
155
|
+
obj.numericProps[entry.key] = entry.value;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export class TileReader {
|
|
162
|
+
static read(pbf, end) {
|
|
163
|
+
return pbf.readFields(TileReader._readField, {
|
|
164
|
+
points: null,
|
|
165
|
+
lines: null,
|
|
166
|
+
polygons: null
|
|
167
|
+
}, end);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
static _readField(tag, obj, pbf) {
|
|
171
|
+
if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
}
|
|
190
175
|
//# sourceMappingURL=carto-tile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.js"],"names":["KeyValueObject","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","Properties","data","push","readVarint","pos","Doubles","size","Float32Array","readPackedDouble","Ints","Uint32Array","readPackedVarint","NumericProp","NumericPropKeyValue","_FieldEntry1","readDouble","StringProp","Points","positions","globalFeatureIds","featureIds","properties","numericProps","entry","Lines","pathIndices","Polygons","polygonIndices","primitivePolygonIndices","triangles","Tile","points","lines","polygons"],"mappings":"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","sourcesContent":["// KeyValueObject ========================================\n\nconst KeyValueObject = {};\n\nKeyValueObject.read = function (pbf, end) {\n return pbf.readFields(KeyValueObject._readField, {key: '', value: ''}, end);\n};\nKeyValueObject._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n};\n\n// Properties ========================================\n\nconst Properties = {};\n\nProperties.read = function (pbf, end) {\n return pbf.readFields(Properties._readField, {data: []}, end);\n};\nProperties._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));\n};\n\n// Doubles ========================================\n\nconst Doubles = {};\n\nDoubles.read = function (pbf, end) {\n // TODO perhaps we can do better and directly map from the source\n // ArrayBuffer using ArrayBuffer.slice()\n const {value, size} = pbf.readFields(Doubles._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n};\nDoubles._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n};\n\n// Ints ========================================\n\nconst Ints = {};\n\nInts.read = function (pbf, end) {\n const {value, size} = pbf.readFields(Ints._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n};\nInts._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n};\n\n// NumericProp ========================================\n\nconst NumericProp = {};\n\nNumericProp.read = function (pbf, end) {\n return pbf.readFields(NumericProp._readField, {value: []}, end);\n};\nNumericProp._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n};\n\n// NumericPropKeyValue ========================================\n\nconst NumericPropKeyValue = {};\n\nNumericPropKeyValue.read = function (pbf, end) {\n return pbf.readFields(NumericPropKeyValue._readField, {key: '', value: null}, end);\n};\nNumericPropKeyValue._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);\n};\n\n// NumericProp._FieldEntry1 ========================================\n\nNumericProp._FieldEntry1 = {};\n\nNumericProp._FieldEntry1.read = function (pbf, end) {\n return pbf.readFields(NumericProp._FieldEntry1._readField, {key: '', value: 0}, end);\n};\nNumericProp._FieldEntry1._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readDouble();\n};\n\n// StringProp ========================================\n\nconst StringProp = {};\n\nStringProp.read = function (pbf, end) {\n return pbf.readFields(StringProp._readField, {value: []}, end);\n};\nStringProp._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.value.push(pbf.readString());\n};\n\n// Points ========================================\n\nconst Points = {};\n\nPoints.read = function (pbf, end) {\n return pbf.readFields(\n Points._readField,\n {positions: null, globalFeatureIds: null, featureIds: null, properties: [], numericProps: {}},\n end\n );\n};\nPoints._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Lines ========================================\n\nconst Lines = {};\n\nLines.read = function (pbf, end) {\n return pbf.readFields(\n Lines._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n};\nLines._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Polygons ========================================\n\nconst Polygons = {};\n\nPolygons.read = function (pbf, end) {\n return pbf.readFields(\n Polygons._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};\nPolygons._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.primitivePolygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Tile ========================================\n\nexport const Tile = {};\n\nTile.read = function (pbf, end) {\n return pbf.readFields(Tile._readField, {points: null, lines: null, polygons: null}, end);\n};\nTile._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);\n};\n"],"file":"carto-tile.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","data","push","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 Properties {\n data: KeyValueObject[];\n}\n\nclass PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {data: []}, end);\n }\n static _readField(this: void, tag: number, obj: Properties, 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\ninterface 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\nclass 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: Properties[];\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"}
|