@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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/carto-tile-layer.js"],"names":["Protobuf","log","ClipExtension","MVTLayer","_getURLFromTemplate","GeoJsonLayer","geojsonToBinary","Tile","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","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","autoHighlight","bbox","west","south","east","north","clipBounds","subLayer","layerName"],"mappings":"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","sourcesContent":["/* global TextDecoder */\nimport Protobuf from 'pbf';\nimport {log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {MVTLayer, _getURLFromTemplate} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {Tile} from './schema/carto-tile';\nimport {TILE_FORMATS} from '../api/maps-api-common';\n\nfunction parseJSON(arrayBuffer) {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parsePbf(buffer) {\n const pbf = new Protobuf(buffer);\n const tile = Tile.read(pbf);\n return tile;\n}\n\nfunction unpackProperties(properties) {\n if (!properties || !properties.length) {\n return [];\n }\n return properties.map(item => {\n const currentRecord = {};\n item.data.forEach(({key, value}) => {\n currentRecord[key] = value;\n });\n return currentRecord;\n });\n}\n\nfunction parseCartoTile(arrayBuffer, options) {\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 return data;\n}\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst CartoTileLoader = {\n name: 'CARTO Tile',\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\nexport default class CartoTileLayer extends MVTLayer {\n getTileData(tile) {\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(props) {\n if (props.data === null) {\n return null;\n }\n\n props.autoHighlight = false;\n\n const {\n bbox: {west, south, east, north}\n } = props.tile;\n props.extensions = [new ClipExtension(), ...(props.extensions || [])];\n props.clipBounds = [west, south, east, north];\n\n const subLayer = new GeoJsonLayer({\n ...props\n });\n return subLayer;\n }\n}\n\nCartoTileLayer.layerName = 'CartoTileLayer';\nCartoTileLayer.defaultProps = defaultProps;\n"],"file":"carto-tile-layer.js"}
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: 'h3-tile-layer',
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,EAAE,eADgC;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',\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"}
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: 'quadkey-tile-layer',
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,EAAE,oBADgC;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',\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
+ {"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
- const KeyValueObject = {};
2
-
3
- KeyValueObject.read = function (pbf, end) {
4
- return pbf.readFields(KeyValueObject._readField, {
5
- key: '',
6
- value: ''
7
- }, end);
8
- };
9
-
10
- KeyValueObject._readField = function (tag, obj, pbf) {
11
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
12
- };
13
-
14
- const Properties = {};
15
-
16
- Properties.read = function (pbf, end) {
17
- return pbf.readFields(Properties._readField, {
18
- data: []
19
- }, end);
20
- };
21
-
22
- Properties._readField = function (tag, obj, pbf) {
23
- if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));
24
- };
25
-
26
- const Doubles = {};
27
-
28
- Doubles.read = function (pbf, end) {
29
- const {
30
- value,
31
- size
32
- } = pbf.readFields(Doubles._readField, {
33
- value: [],
34
- size: 0
35
- }, end);
36
- return {
37
- value: new Float32Array(value),
38
- size
39
- };
40
- };
41
-
42
- Doubles._readField = function (tag, obj, pbf) {
43
- if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
44
- };
45
-
46
- const Ints = {};
47
-
48
- Ints.read = function (pbf, end) {
49
- const {
50
- value,
51
- size
52
- } = pbf.readFields(Ints._readField, {
53
- value: [],
54
- size: 0
55
- }, end);
56
- return {
57
- value: new Uint32Array(value),
58
- size
59
- };
60
- };
61
-
62
- Ints._readField = function (tag, obj, pbf) {
63
- if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
64
- };
65
-
66
- const NumericProp = {};
67
-
68
- NumericProp.read = function (pbf, end) {
69
- return pbf.readFields(NumericProp._readField, {
70
- value: []
71
- }, end);
72
- };
73
-
74
- NumericProp._readField = function (tag, obj, pbf) {
75
- if (tag === 1) pbf.readPackedDouble(obj.value);
76
- };
77
-
78
- const NumericPropKeyValue = {};
79
-
80
- NumericPropKeyValue.read = function (pbf, end) {
81
- return pbf.readFields(NumericPropKeyValue._readField, {
82
- key: '',
83
- value: null
84
- }, end);
85
- };
86
-
87
- NumericPropKeyValue._readField = function (tag, obj, pbf) {
88
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);
89
- };
90
-
91
- NumericProp._FieldEntry1 = {};
92
-
93
- NumericProp._FieldEntry1.read = function (pbf, end) {
94
- return pbf.readFields(NumericProp._FieldEntry1._readField, {
95
- key: '',
96
- value: 0
97
- }, end);
98
- };
99
-
100
- NumericProp._FieldEntry1._readField = function (tag, obj, pbf) {
101
- if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readDouble();
102
- };
103
-
104
- const StringProp = {};
105
-
106
- StringProp.read = function (pbf, end) {
107
- return pbf.readFields(StringProp._readField, {
108
- value: []
109
- }, end);
110
- };
111
-
112
- StringProp._readField = function (tag, obj, pbf) {
113
- if (tag === 1) obj.value.push(pbf.readString());
114
- };
115
-
116
- const Points = {};
117
-
118
- Points.read = function (pbf, end) {
119
- return pbf.readFields(Points._readField, {
120
- positions: null,
121
- globalFeatureIds: null,
122
- featureIds: null,
123
- properties: [],
124
- numericProps: {}
125
- }, end);
126
- };
127
-
128
- Points._readField = function (tag, obj, pbf) {
129
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
130
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
131
- obj.numericProps[entry.key] = entry.value;
132
- }
133
- };
134
-
135
- const Lines = {};
136
-
137
- Lines.read = function (pbf, end) {
138
- return pbf.readFields(Lines._readField, {
139
- positions: null,
140
- pathIndices: null,
141
- globalFeatureIds: null,
142
- featureIds: null,
143
- properties: [],
144
- numericProps: {}
145
- }, end);
146
- };
147
-
148
- Lines._readField = function (tag, obj, pbf) {
149
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
150
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
151
- obj.numericProps[entry.key] = entry.value;
152
- }
153
- };
154
-
155
- const Polygons = {};
156
-
157
- Polygons.read = function (pbf, end) {
158
- return pbf.readFields(Polygons._readField, {
159
- positions: null,
160
- polygonIndices: null,
161
- globalFeatureIds: null,
162
- featureIds: null,
163
- primitivePolygonIndices: null,
164
- triangles: null,
165
- properties: [],
166
- numericProps: {}
167
- }, end);
168
- };
169
-
170
- Polygons._readField = function (tag, obj, pbf) {
171
- if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
172
- const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
173
- obj.numericProps[entry.key] = entry.value;
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"}