@deck.gl/carto 8.8.9 → 8.8.11
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 +1747 -1555
- package/dist/es5/api/layer-map.js +104 -9
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +8 -8
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +38 -4
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/api/types.js +2 -0
- package/dist/es5/api/types.js.map +1 -0
- package/dist/es5/layers/carto-tile-layer.js +33 -107
- package/dist/es5/layers/carto-tile-layer.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +6 -30
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +30 -6
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js +81 -0
- package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -0
- package/dist/es5/layers/schema/tile-loader-utils.js +34 -0
- package/dist/es5/layers/schema/tile-loader-utils.js.map +1 -0
- package/dist/es5/layers/spatial-index-tile-layer.js +40 -0
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/esm/api/layer-map.js +85 -9
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +3 -2
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +41 -5
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/api/types.js +2 -0
- package/dist/esm/api/types.js.map +1 -0
- package/dist/esm/layers/carto-tile-layer.js +31 -82
- package/dist/esm/layers/carto-tile-layer.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +4 -27
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +22 -6
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js +40 -0
- package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -0
- package/dist/esm/layers/schema/tile-loader-utils.js +23 -0
- package/dist/esm/layers/schema/tile-loader-utils.js.map +1 -0
- package/dist/esm/layers/spatial-index-tile-layer.js +40 -1
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist.min.js +138 -138
- package/package.json +2 -2
- package/src/api/layer-map.ts +103 -17
- package/src/api/maps-v3-client.ts +3 -3
- package/src/api/parseMap.ts +80 -15
- package/src/api/types.ts +108 -0
- package/src/layers/carto-tile-layer.ts +32 -82
- package/src/layers/schema/carto-spatial-tile-loader.ts +4 -27
- package/src/layers/schema/carto-tile.ts +31 -6
- package/src/layers/schema/carto-vector-tile-loader.ts +39 -0
- package/src/layers/schema/tile-loader-utils.ts +22 -0
- package/src/layers/spatial-index-tile-layer.ts +37 -1
- package/typed/api/layer-map.d.ts +10 -13
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/parseMap.d.ts.map +1 -1
- package/typed/api/types.d.ts +87 -0
- package/typed/api/types.d.ts.map +1 -0
- package/typed/layers/carto-tile-layer.d.ts +2 -0
- package/typed/layers/carto-tile-layer.d.ts.map +1 -1
- package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-tile.d.ts +4 -0
- package/typed/layers/schema/carto-tile.d.ts.map +1 -1
- package/typed/layers/schema/carto-vector-tile-loader.d.ts +4 -0
- package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -0
- package/typed/layers/schema/tile-loader-utils.d.ts +5 -0
- package/typed/layers/schema/tile-loader-utils.d.ts.map +1 -0
- package/typed/layers/spatial-index-tile-layer.d.ts +2 -1
- package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
- package/typed/api/index.js +0 -3
- package/typed/api/layer-map.js +0 -264
- package/typed/api/maps-api-common.js +0 -50
- package/typed/api/maps-client.js +0 -125
- package/typed/api/maps-v3-client.js +0 -304
- package/typed/api/parseMap.js +0 -178
- package/typed/basemap.js +0 -9
- package/typed/config.js +0 -35
- package/typed/index.js +0 -10
- package/typed/layers/carto-layer.js +0 -173
- package/typed/layers/carto-tile-layer.js +0 -105
- package/typed/layers/h3-tile-layer.js +0 -47
- package/typed/layers/h3-tileset-2d.js +0 -85
- package/typed/layers/quadkey-tile-layer.d.ts +0 -21
- package/typed/layers/quadkey-tile-layer.d.ts.map +0 -1
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.d.ts +0 -15
- package/typed/layers/quadkey-tileset-2d.d.ts.map +0 -1
- package/typed/layers/quadkey-tileset-2d.js +0 -36
- package/typed/layers/schema/carto-tile.js +0 -161
- package/typed/layers/spatial-index-tile-layer.js +0 -40
- package/typed/style/color-bins-style.js +0 -12
- package/typed/style/color-categories-style.js +0 -16
- package/typed/style/color-continuous-style.js +0 -12
- package/typed/style/palette.js +0 -62
- package/typed/style/utils.js +0 -15
- package/typed/utils.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/parseMap.ts"],"names":["parseMap","json","keplerMapConfig","datasets","version","config","mapState","mapStyle","visState","layers","layerBlending","interactionConfig","id","title","description","createdAt","updatedAt","initialViewState","extractTextLayers","reverse","map","type","visualChannels","dataId","dataset","find","d","data","Layer","propMap","defaultProps","createBlendingProps","textLabel","createInteractionProps","createStyleProps","createChannelProps","e","log","error","message","undefined","rest","configRest","filter","t","field","name","label","visConfig","opacity","parameters","blendFunc","blendEquation","pickable","tooltip","enabled","autoHighlight","mapProps","source","target","mapping","sourceKey","sourceValue","targetKey","Object","entries","key","value","result","stroked","getLineColor","getFillColor","colorAccessor","OPACITY_MAP","Array","isArray","color","opacityKey","highlightColor","enable3d","colorField","colorScale","sizeField","sizeScale","strokeColorField","strokeColorScale","heightField","heightScale","textLabelField","colorScaleType","colorAggregation","AGGREGATION","getColorValue","getColorWeight","aggregation","range","colorRange","fallbackOpacity","strokeOpacity","strokeColorAggregation","strokeColorRange","getElevation","heightAggregation","heightRange","sizeRange","getPointRadius","sizeAggregation","radiusRange","getText","pointType","radius","getTextPixelOffset"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {\n AGGREGATION,\n getLayer,\n getColorAccessor,\n getColorValueAccessor,\n getSizeAccessor,\n getTextAccessor,\n getTextPixelOffsetAccessor,\n OPACITY_MAP,\n opacityToAlpha\n} from './layer-map';\nimport {_flatten as flatten, log} from '@deck.gl/core';\nimport {assert} from '../utils';\n\nexport function parseMap(json) {\n const {keplerMapConfig, datasets} = json;\n assert(keplerMapConfig.version === 'v1', 'Only support Kepler v1');\n const {mapState, mapStyle} = keplerMapConfig.config;\n const {layers, layerBlending, interactionConfig} = keplerMapConfig.config.visState;\n\n return {\n id: json.id,\n title: json.title,\n description: json.description,\n createdAt: json.createdAt,\n updatedAt: json.updatedAt,\n initialViewState: mapState,\n mapStyle,\n layers: extractTextLayers(layers.reverse()).map(({id, type, config, visualChannels}) => {\n try {\n const {dataId} = config;\n const dataset = datasets.find(d => d.id === dataId);\n assert(dataset, `No dataset matching dataId: ${dataId}`);\n const {data} = dataset;\n assert(data, `No data loaded for dataId: ${dataId}`);\n const {Layer, propMap, defaultProps} = getLayer(type, config, dataset);\n return new Layer({\n id,\n data,\n ...defaultProps,\n ...createBlendingProps(layerBlending),\n ...(!config.textLabel && createInteractionProps(interactionConfig)),\n ...createStyleProps(config, propMap),\n ...createChannelProps(visualChannels, type, config, data) // Must come after style\n });\n } catch (e: any) {\n log.error(e.message)();\n return undefined;\n }\n })\n };\n}\n\nfunction extractTextLayers(layers) {\n return flatten(\n layers.map(({id, config, ...rest}) => {\n const {textLabel, ...configRest} = config;\n return [\n // Original layer without textLabel\n {id, config: configRest, ...rest},\n\n // One layer per valid text label, with full opacity\n ...textLabel\n .filter(t => t.field)\n .map(t => {\n return {\n id: `${id}-label-${t.field.name}`,\n config: {\n textLabel: t,\n ...configRest,\n label: `${config.label}-label-${t.field.name}`,\n visConfig: {...configRest.visConfig, opacity: 1}\n },\n ...rest\n };\n })\n ];\n })\n );\n}\n\nfunction createBlendingProps(layerBlending) {\n if (layerBlending === 'additive') {\n return {\n parameters: {\n blendFunc: [GL.SRC_ALPHA, GL.DST_ALPHA],\n blendEquation: GL.FUNC_ADD\n }\n };\n } else if (layerBlending === 'subtractive') {\n return {\n parameters: {\n blendFunc: [GL.ONE, GL.ONE_MINUS_DST_COLOR, GL.SRC_ALPHA, GL.DST_ALPHA],\n blendEquation: [GL.FUNC_SUBTRACT, GL.FUNC_ADD]\n }\n };\n }\n\n return {};\n}\n\nfunction createInteractionProps(interactionConfig) {\n const pickable = interactionConfig && interactionConfig.tooltip.enabled;\n return {\n autoHighlight: pickable,\n pickable\n };\n}\n\nfunction mapProps(source, target, mapping) {\n for (const sourceKey in mapping) {\n const sourceValue = source[sourceKey];\n const targetKey = mapping[sourceKey];\n if (sourceValue === undefined) {\n // eslint-disable-next-line no-continue\n continue;\n }\n if (typeof targetKey === 'string') {\n target[targetKey] = sourceValue;\n } else if (typeof targetKey === 'function') {\n const [key, value] = Object.entries(targetKey(sourceValue))[0];\n target[key] = value;\n } else if (typeof targetKey === 'object') {\n // Nested definition, recurse down one level (also handles arrays)\n mapProps(sourceValue, target, targetKey);\n }\n }\n}\n\nfunction createStyleProps(config, mapping) {\n const result: Record<string, any> = {};\n mapProps(config, result, mapping);\n\n // Kepler format sometimes omits strokeColor. TODO: remove once we can rely on\n // `strokeColor` always being set when `stroke: true`.\n if (result.stroked && !result.getLineColor) {\n result.getLineColor = result.getFillColor;\n }\n\n for (const colorAccessor in OPACITY_MAP) {\n if (Array.isArray(result[colorAccessor])) {\n const color = [...result[colorAccessor]];\n const opacityKey = OPACITY_MAP[colorAccessor];\n const opacity = config.visConfig[opacityKey];\n color[3] = opacityToAlpha(opacity);\n result[colorAccessor] = color;\n }\n }\n\n result.highlightColor = config.visConfig.enable3d ? [255, 255, 255, 60] : [252, 242, 26, 255];\n return result;\n}\n\n/* eslint-disable complexity, max-statements */\nfunction createChannelProps(visualChannels, type, config, data) {\n const {colorField, colorScale, sizeField, sizeScale, strokeColorField, strokeColorScale} =\n visualChannels;\n let {heightField, heightScale} = visualChannels;\n if (type === 'hexagonId') {\n heightField = sizeField;\n heightScale = sizeScale;\n }\n const {textLabel, visConfig} = config;\n const result: Record<string, any> = {};\n const textLabelField = textLabel && textLabel.field;\n\n if (type === 'grid' || type === 'hexagon') {\n result.colorScaleType = colorScale;\n if (colorField) {\n const {colorAggregation} = config.visConfig;\n if (!AGGREGATION[colorAggregation]) {\n result.getColorValue = getColorValueAccessor(colorField, colorAggregation, data);\n } else {\n result.getColorWeight = d => d[colorField.name];\n }\n }\n } else if (colorField) {\n const {colorAggregation: aggregation, colorRange: range} = visConfig;\n result.getFillColor = getColorAccessor(\n colorField,\n colorScale,\n {aggregation, range},\n visConfig.opacity,\n data\n );\n }\n\n if (strokeColorField) {\n const fallbackOpacity = type === 'point' ? visConfig.opacity : 1;\n const opacity =\n visConfig.strokeOpacity !== undefined ? visConfig.strokeOpacity : fallbackOpacity;\n const {strokeColorAggregation: aggregation, strokeColorRange: range} = visConfig;\n result.getLineColor = getColorAccessor(\n strokeColorField,\n strokeColorScale,\n {aggregation, range},\n opacity,\n data\n );\n }\n if (heightField) {\n result.getElevation = getSizeAccessor(\n heightField,\n heightScale,\n visConfig.heightAggregation,\n visConfig.heightRange || visConfig.sizeRange,\n data\n );\n }\n if (sizeField) {\n result.getPointRadius = getSizeAccessor(\n sizeField,\n sizeScale,\n visConfig.sizeAggregation,\n visConfig.radiusRange || visConfig.sizeRange,\n data\n );\n }\n if (textLabelField) {\n result.getText = getTextAccessor(textLabelField, data);\n result.pointType = 'text';\n const radius = result.getPointRadius || visConfig.radius;\n result.getTextPixelOffset = getTextPixelOffsetAccessor(textLabel, radius);\n }\n\n return result;\n}\n"],"file":"parseMap.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/api/parseMap.ts"],"names":["parseMap","json","keplerMapConfig","datasets","version","config","mapState","mapStyle","visState","layers","layerBlending","interactionConfig","id","title","description","createdAt","updatedAt","initialViewState","extractTextLayers","reverse","map","type","visualChannels","dataId","dataset","find","d","data","Layer","propMap","defaultProps","createBlendingProps","textLabel","createInteractionProps","createStyleProps","createChannelProps","e","log","error","message","undefined","rest","configRest","filter","t","field","name","label","visConfig","opacity","parameters","blendFunc","blendEquation","pickable","tooltip","enabled","autoHighlight","mapProps","source","target","mapping","sourceKey","sourceValue","targetKey","Object","entries","key","value","result","stroked","getLineColor","getFillColor","colorAccessor","OPACITY_MAP","Array","isArray","color","opacityKey","highlightColor","enable3d","colorField","colorScale","radiusField","radiusScale","sizeField","sizeScale","strokeColorField","strokeColorScale","heightField","heightScale","textLabelField","colorScaleType","colorAggregation","AGGREGATION","getColorValue","getColorWeight","aggregation","range","colorRange","getPointRadius","sizeAggregation","radiusRange","sizeRange","fallbackOpacity","strokeOpacity","strokeColorAggregation","strokeColorRange","getElevation","heightAggregation","heightRange","getText","pointType","radius","getTextPixelOffset","customMarkers","maxIconSize","getIcon","customMarkersField","customMarkersUrl","customMarkersRange","_subLayerProps","loadOptions","image","imagebitmap","resizeWidth","resizeHeight","resizeQuality","getIconColor","getIconSize","rotationField","getIconAngle"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {\n AGGREGATION,\n getLayer,\n getColorAccessor,\n getColorValueAccessor,\n getSizeAccessor,\n getTextAccessor,\n getTextPixelOffsetAccessor,\n OPACITY_MAP,\n opacityToAlpha,\n getIconUrlAccessor,\n negateAccessor,\n getMaxMarkerSize\n} from './layer-map';\nimport {_flatten as flatten, log} from '@deck.gl/core';\nimport {assert} from '../utils';\nimport {MapDataset, MapTextSubLayerConfig, VisualChannels} from './types';\n\nexport function parseMap(json) {\n const {keplerMapConfig, datasets} = json;\n assert(keplerMapConfig.version === 'v1', 'Only support Kepler v1');\n const {mapState, mapStyle} = keplerMapConfig.config;\n const {layers, layerBlending, interactionConfig} = keplerMapConfig.config.visState;\n\n return {\n id: json.id,\n title: json.title,\n description: json.description,\n createdAt: json.createdAt,\n updatedAt: json.updatedAt,\n initialViewState: mapState,\n mapStyle,\n layers: extractTextLayers(layers.reverse()).map(({id, type, config, visualChannels}) => {\n try {\n const {dataId} = config;\n const dataset: MapDataset | null = datasets.find(d => d.id === dataId);\n assert(dataset, `No dataset matching dataId: ${dataId}`);\n const {data} = dataset;\n assert(data, `No data loaded for dataId: ${dataId}`);\n const {Layer, propMap, defaultProps} = getLayer(type, config, dataset);\n return new Layer({\n id,\n data,\n ...defaultProps,\n ...createBlendingProps(layerBlending),\n ...(!config.textLabel && createInteractionProps(interactionConfig)),\n ...createStyleProps(config, propMap),\n ...createChannelProps(visualChannels, type, config, data) // Must come after style\n });\n } catch (e: any) {\n log.error(e.message)();\n return undefined;\n }\n })\n };\n}\n\nfunction extractTextLayers(layers) {\n return flatten(\n layers.map(({id, config, ...rest}) => {\n const {textLabel, ...configRest} = config;\n return [\n // Original layer without textLabel\n {id, config: configRest, ...rest},\n\n // One layer per valid text label, with full opacity\n ...textLabel\n .filter(t => t.field)\n .map(t => {\n return {\n id: `${id}-label-${t.field.name}`,\n config: {\n textLabel: t,\n ...configRest,\n label: `${config.label}-label-${t.field.name}`,\n visConfig: {...configRest.visConfig, opacity: 1}\n },\n ...rest\n };\n })\n ];\n })\n );\n}\n\nfunction createBlendingProps(layerBlending) {\n if (layerBlending === 'additive') {\n return {\n parameters: {\n blendFunc: [GL.SRC_ALPHA, GL.DST_ALPHA],\n blendEquation: GL.FUNC_ADD\n }\n };\n } else if (layerBlending === 'subtractive') {\n return {\n parameters: {\n blendFunc: [GL.ONE, GL.ONE_MINUS_DST_COLOR, GL.SRC_ALPHA, GL.DST_ALPHA],\n blendEquation: [GL.FUNC_SUBTRACT, GL.FUNC_ADD]\n }\n };\n }\n\n return {};\n}\n\nfunction createInteractionProps(interactionConfig) {\n const pickable = interactionConfig && interactionConfig.tooltip.enabled;\n return {\n autoHighlight: pickable,\n pickable\n };\n}\n\nfunction mapProps(source, target, mapping) {\n for (const sourceKey in mapping) {\n const sourceValue = source[sourceKey];\n const targetKey = mapping[sourceKey];\n if (sourceValue === undefined) {\n // eslint-disable-next-line no-continue\n continue;\n }\n if (typeof targetKey === 'string') {\n target[targetKey] = sourceValue;\n } else if (typeof targetKey === 'function') {\n const [key, value] = Object.entries(targetKey(sourceValue))[0];\n target[key] = value;\n } else if (typeof targetKey === 'object') {\n // Nested definition, recurse down one level (also handles arrays)\n mapProps(sourceValue, target, targetKey);\n }\n }\n}\n\nfunction createStyleProps(config: MapTextSubLayerConfig, mapping) {\n const result: Record<string, any> = {};\n mapProps(config, result, mapping);\n\n // Kepler format sometimes omits strokeColor. TODO: remove once we can rely on\n // `strokeColor` always being set when `stroke: true`.\n if (result.stroked && !result.getLineColor) {\n result.getLineColor = result.getFillColor;\n }\n\n for (const colorAccessor in OPACITY_MAP) {\n if (Array.isArray(result[colorAccessor])) {\n const color = [...result[colorAccessor]];\n const opacityKey = OPACITY_MAP[colorAccessor];\n const opacity = config.visConfig[opacityKey];\n color[3] = opacityToAlpha(opacity);\n result[colorAccessor] = color;\n }\n }\n\n result.highlightColor = config.visConfig.enable3d ? [255, 255, 255, 60] : [252, 242, 26, 255];\n return result;\n}\n\n/* eslint-disable complexity, max-statements */\nfunction createChannelProps(\n visualChannels: VisualChannels,\n type: string,\n config: MapTextSubLayerConfig,\n data\n) {\n const {\n colorField,\n colorScale,\n radiusField,\n radiusScale,\n sizeField,\n sizeScale,\n strokeColorField,\n strokeColorScale\n } = visualChannels;\n let {heightField, heightScale} = visualChannels;\n if (type === 'hexagonId') {\n heightField = sizeField;\n heightScale = sizeScale;\n }\n const {textLabel, visConfig} = config;\n const result: Record<string, any> = {};\n const textLabelField = textLabel && textLabel.field;\n\n if (type === 'grid' || type === 'hexagon') {\n result.colorScaleType = colorScale;\n if (colorField) {\n const {colorAggregation} = config.visConfig;\n if (!AGGREGATION[colorAggregation]) {\n result.getColorValue = getColorValueAccessor(colorField, colorAggregation, data);\n } else {\n result.getColorWeight = d => d[colorField.name];\n }\n }\n } else if (colorField) {\n const {colorAggregation: aggregation, colorRange: range} = visConfig;\n result.getFillColor = getColorAccessor(\n colorField,\n // @ts-ignore\n colorScale,\n {aggregation, range},\n visConfig.opacity,\n data\n );\n }\n\n if (radiusField || sizeField) {\n result.getPointRadius = getSizeAccessor(\n // @ts-ignore\n radiusField || sizeField,\n // @ts-ignore\n radiusScale || sizeScale,\n visConfig.sizeAggregation,\n visConfig.radiusRange || visConfig.sizeRange,\n data\n );\n }\n\n if (strokeColorField) {\n const fallbackOpacity = type === 'point' ? visConfig.opacity : 1;\n const opacity =\n visConfig.strokeOpacity !== undefined ? visConfig.strokeOpacity : fallbackOpacity;\n const {strokeColorAggregation: aggregation, strokeColorRange: range} = visConfig;\n result.getLineColor = getColorAccessor(\n strokeColorField,\n // @ts-ignore\n strokeColorScale,\n // @ts-ignore\n {aggregation, range},\n opacity,\n data\n );\n }\n\n if (heightField) {\n result.getElevation = getSizeAccessor(\n heightField,\n // @ts-ignore\n heightScale,\n visConfig.heightAggregation,\n visConfig.heightRange || visConfig.sizeRange,\n data\n );\n }\n\n if (textLabelField) {\n result.getText = getTextAccessor(textLabelField, data);\n result.pointType = 'text';\n const radius = result.getPointRadius || visConfig.radius;\n result.getTextPixelOffset = getTextPixelOffsetAccessor(textLabel, radius);\n } else if (visConfig.customMarkers) {\n const maxIconSize = getMaxMarkerSize(visConfig, visualChannels);\n const {getPointRadius, getFillColor} = result;\n result.pointType = 'icon';\n result.getIcon = getIconUrlAccessor(\n visualChannels.customMarkersField,\n visConfig.customMarkersUrl,\n visConfig.customMarkersRange,\n maxIconSize,\n data\n );\n result._subLayerProps = {\n 'points-icon': {\n loadOptions: {\n image: {\n type: 'imagebitmap'\n },\n imagebitmap: {\n resizeWidth: maxIconSize,\n resizeHeight: maxIconSize,\n resizeQuality: 'high'\n }\n }\n }\n };\n\n if (getFillColor) {\n result.getIconColor = getFillColor;\n }\n\n if (getPointRadius) {\n result.getIconSize = getPointRadius;\n }\n\n if (visualChannels.rotationField) {\n result.getIconAngle = negateAccessor(\n getSizeAccessor(visualChannels.rotationField, undefined, null, undefined, data)\n );\n }\n }\n\n return result;\n}\n"],"file":"parseMap.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
|
|
@@ -7,27 +7,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
11
|
|
|
14
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
13
|
|
|
16
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
15
|
|
|
16
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
17
|
+
|
|
18
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
19
|
|
|
20
20
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
21
|
|
|
22
22
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
23
|
|
|
24
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
25
|
-
|
|
26
24
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
25
|
|
|
28
|
-
var
|
|
26
|
+
var _core = require("@loaders.gl/core");
|
|
29
27
|
|
|
30
|
-
var
|
|
28
|
+
var _cartoVectorTileLoader = _interopRequireDefault(require("./schema/carto-vector-tile-loader"));
|
|
31
29
|
|
|
32
30
|
var _extensions = require("@deck.gl/extensions");
|
|
33
31
|
|
|
@@ -37,8 +35,6 @@ var _layers = require("@deck.gl/layers");
|
|
|
37
35
|
|
|
38
36
|
var _gis = require("@loaders.gl/gis");
|
|
39
37
|
|
|
40
|
-
var _cartoTile = require("./schema/carto-tile");
|
|
41
|
-
|
|
42
38
|
var _mapsApiCommon = require("../api/maps-api-common");
|
|
43
39
|
|
|
44
40
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
@@ -49,99 +45,11 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
49
45
|
|
|
50
46
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
51
47
|
|
|
52
|
-
|
|
53
|
-
return JSON.parse(new TextDecoder().decode(arrayBuffer));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function parsePbf(buffer) {
|
|
57
|
-
var pbf = new _pbf.default(buffer);
|
|
58
|
-
|
|
59
|
-
var tile = _cartoTile.TileReader.read(pbf);
|
|
60
|
-
|
|
61
|
-
return tile;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function unpackProperties(properties) {
|
|
65
|
-
if (!properties || !properties.length) {
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return properties.map(function (item) {
|
|
70
|
-
var currentRecord = {};
|
|
71
|
-
item.data.forEach(function (_ref) {
|
|
72
|
-
var key = _ref.key,
|
|
73
|
-
value = _ref.value;
|
|
74
|
-
currentRecord[key] = value;
|
|
75
|
-
});
|
|
76
|
-
return currentRecord;
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
function parseCartoTile(arrayBuffer, options) {
|
|
81
|
-
if (!arrayBuffer) return null;
|
|
82
|
-
var formatTiles = options && options.cartoTile && options.cartoTile.formatTiles;
|
|
83
|
-
if (formatTiles === _mapsApiCommon.TILE_FORMATS.GEOJSON) return (0, _gis.geojsonToBinary)(parseJSON(arrayBuffer).features);
|
|
84
|
-
var tile = parsePbf(arrayBuffer);
|
|
85
|
-
var points = tile.points,
|
|
86
|
-
lines = tile.lines,
|
|
87
|
-
polygons = tile.polygons;
|
|
88
|
-
var data = {
|
|
89
|
-
points: _objectSpread(_objectSpread({}, points), {}, {
|
|
90
|
-
properties: unpackProperties(points.properties)
|
|
91
|
-
}),
|
|
92
|
-
lines: _objectSpread(_objectSpread({}, lines), {}, {
|
|
93
|
-
properties: unpackProperties(lines.properties)
|
|
94
|
-
}),
|
|
95
|
-
polygons: _objectSpread(_objectSpread({}, polygons), {}, {
|
|
96
|
-
properties: unpackProperties(polygons.properties)
|
|
97
|
-
})
|
|
98
|
-
};
|
|
99
|
-
return data;
|
|
100
|
-
}
|
|
101
|
-
|
|
48
|
+
(0, _core.registerLoaders)([_cartoVectorTileLoader.default]);
|
|
102
49
|
var defaultTileFormat = _mapsApiCommon.TILE_FORMATS.BINARY;
|
|
103
|
-
var CartoTileLoader = {
|
|
104
|
-
name: 'CARTO Tile',
|
|
105
|
-
version: '1',
|
|
106
|
-
id: 'cartoTile',
|
|
107
|
-
module: 'carto',
|
|
108
|
-
extensions: ['pbf'],
|
|
109
|
-
mimeTypes: ['application/vnd.carto-vector-tile', 'application/x-protobuf'],
|
|
110
|
-
category: 'geometry',
|
|
111
|
-
worker: false,
|
|
112
|
-
parse: function () {
|
|
113
|
-
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
114
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
115
|
-
while (1) {
|
|
116
|
-
switch (_context.prev = _context.next) {
|
|
117
|
-
case 0:
|
|
118
|
-
return _context.abrupt("return", parseCartoTile(arrayBuffer, options));
|
|
119
|
-
|
|
120
|
-
case 1:
|
|
121
|
-
case "end":
|
|
122
|
-
return _context.stop();
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}, _callee);
|
|
126
|
-
}));
|
|
127
|
-
|
|
128
|
-
function parse(_x, _x2) {
|
|
129
|
-
return _parse.apply(this, arguments);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return parse;
|
|
133
|
-
}(),
|
|
134
|
-
parseSync: parseCartoTile,
|
|
135
|
-
options: {
|
|
136
|
-
cartoTile: {
|
|
137
|
-
formatTiles: defaultTileFormat
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
50
|
|
|
142
51
|
var defaultProps = _objectSpread(_objectSpread({}, _geoLayers.MVTLayer.defaultProps), {}, {
|
|
143
|
-
formatTiles: defaultTileFormat
|
|
144
|
-
loaders: [CartoTileLoader]
|
|
52
|
+
formatTiles: defaultTileFormat
|
|
145
53
|
});
|
|
146
54
|
|
|
147
55
|
var CartoTileLayer = function (_MVTLayer) {
|
|
@@ -155,6 +63,15 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
155
63
|
}
|
|
156
64
|
|
|
157
65
|
(0, _createClass2.default)(CartoTileLayer, [{
|
|
66
|
+
key: "initializeState",
|
|
67
|
+
value: function initializeState() {
|
|
68
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(CartoTileLayer.prototype), "initializeState", this).call(this);
|
|
69
|
+
var binary = this.props.formatTiles === _mapsApiCommon.TILE_FORMATS.BINARY;
|
|
70
|
+
this.setState({
|
|
71
|
+
binary: binary
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
158
75
|
key: "getTileData",
|
|
159
76
|
value: function getTileData(tile) {
|
|
160
77
|
var url = (0, _geoLayers._getURLFromTemplate)(this.state.data, tile);
|
|
@@ -168,16 +85,11 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
168
85
|
fetch = _this$props.fetch,
|
|
169
86
|
formatTiles = _this$props.formatTiles;
|
|
170
87
|
var signal = tile.signal;
|
|
171
|
-
loadOptions = _objectSpread(_objectSpread({}, loadOptions), {}, {
|
|
172
|
-
mimeType: 'application/x-protobuf'
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
if (formatTiles) {
|
|
176
|
-
_core.log.assert(Object.values(_mapsApiCommon.TILE_FORMATS).includes(formatTiles), "Invalid value for formatTiles: ".concat(formatTiles, ". Use value from TILE_FORMATS"));
|
|
177
88
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
89
|
+
if (formatTiles === _mapsApiCommon.TILE_FORMATS.BINARY) {
|
|
90
|
+
loadOptions = _objectSpread(_objectSpread({}, loadOptions), {}, {
|
|
91
|
+
mimeType: 'application/vnd.carto-vector-tile'
|
|
92
|
+
});
|
|
181
93
|
}
|
|
182
94
|
|
|
183
95
|
return fetch(url, {
|
|
@@ -209,6 +121,20 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
209
121
|
var subLayer = new _layers.GeoJsonLayer(subLayerProps);
|
|
210
122
|
return subLayer;
|
|
211
123
|
}
|
|
124
|
+
}, {
|
|
125
|
+
key: "getPickingInfo",
|
|
126
|
+
value: function getPickingInfo(params) {
|
|
127
|
+
var info = (0, _get2.default)((0, _getPrototypeOf2.default)(CartoTileLayer.prototype), "getPickingInfo", this).call(this, params);
|
|
128
|
+
|
|
129
|
+
if (this.state.binary && info.index !== -1) {
|
|
130
|
+
var data = params.sourceLayer.props.data;
|
|
131
|
+
info.object = (0, _gis.binaryToGeojson)(data, {
|
|
132
|
+
globalFeatureId: info.index
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return info;
|
|
137
|
+
}
|
|
212
138
|
}]);
|
|
213
139
|
return CartoTileLayer;
|
|
214
140
|
}(_geoLayers.MVTLayer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-tile-layer.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-tile-layer.ts"],"names":["CartoVectorTileLoader","defaultTileFormat","TILE_FORMATS","BINARY","defaultProps","MVTLayer","formatTiles","CartoTileLayer","binary","props","setState","tile","url","state","data","Promise","reject","loadOptions","getLoadOptions","fetch","signal","mimeType","propName","layer","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","extensions","ClipExtension","clipBounds","subLayer","GeoJsonLayer","params","info","index","sourceLayer","object","globalFeatureId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAIA;;AACA;;AAQA;;AACA;;AAEA;;;;;;;;;;AAfA,2BAAgB,CAACA,8BAAD,CAAhB;AAkBA,IAAMC,iBAAiB,GAAGC,4BAAaC,MAAvC;;AAEA,IAAMC,YAA+C,mCAChDC,oBAASD,YADuC;AAEnDE,EAAAA,WAAW,EAAEL;AAFsC,EAArD;;IAoBqBM,c;;;;;;;;;;;;WAOnB,2BAAwB;AACtB;AACA,UAAMC,MAAM,GAAG,KAAKC,KAAL,CAAWH,WAAX,KAA2BJ,4BAAaC,MAAvD;AACA,WAAKO,QAAL,CAAc;AAACF,QAAAA,MAAM,EAANA;AAAD,OAAd;AACD;;;WAED,qBAAYG,IAAZ,EAAiC;AAC/B,UAAMC,GAAG,GAAG,oCAAoB,KAAKC,KAAL,CAAWC,IAA/B,EAAqCH,IAArC,CAAZ;;AACA,UAAI,CAACC,GAAL,EAAU;AACR,eAAOG,OAAO,CAACC,MAAR,CAAe,aAAf,CAAP;AACD;;AAED,UAAIC,WAAW,GAAG,KAAKC,cAAL,EAAlB;AACA,wBAA6B,KAAKT,KAAlC;AAAA,UAAOU,KAAP,eAAOA,KAAP;AAAA,UAAcb,WAAd,eAAcA,WAAd;AACA,UAAOc,MAAP,GAAiBT,IAAjB,CAAOS,MAAP;;AAIA,UAAId,WAAW,KAAKJ,4BAAaC,MAAjC,EAAyC;AACvCc,QAAAA,WAAW,mCACNA,WADM;AAETI,UAAAA,QAAQ,EAAE;AAFD,UAAX;AAID;;AAED,aAAOF,KAAK,CAACP,GAAD,EAAM;AAACU,QAAAA,QAAQ,EAAE,MAAX;AAAmBC,QAAAA,KAAK,EAAE,IAA1B;AAAgCN,QAAAA,WAAW,EAAXA,WAAhC;AAA6CG,QAAAA,MAAM,EAANA;AAA7C,OAAN,CAAZ;AACD;;;WAED,yBACEX,KADF,EAOuB;AACrB,UAAIA,KAAK,CAACK,IAAN,KAAe,IAAnB,EAAyB;AACvB,eAAO,IAAP;AACD;;AAED,UAAMU,QAAQ,GAAGf,KAAK,CAACE,IAAN,CAAWc,IAA5B;AACA,UAAOC,IAAP,GAAmCF,QAAnC,CAAOE,IAAP;AAAA,UAAaC,KAAb,GAAmCH,QAAnC,CAAaG,KAAb;AAAA,UAAoBC,IAApB,GAAmCJ,QAAnC,CAAoBI,IAApB;AAAA,UAA0BC,KAA1B,GAAmCL,QAAnC,CAA0BK,KAA1B;;AAEA,UAAMC,aAAa,mCACdrB,KADc;AAEjBsB,QAAAA,aAAa,EAAE,KAFE;AAGjBC,QAAAA,UAAU,GAAG,IAAIC,yBAAJ,EAAH,0CAA4BxB,KAAK,CAACuB,UAAN,IAAoB,EAAhD,EAHO;AAIjBE,QAAAA,UAAU,EAAE,CAACR,IAAD,EAAOC,KAAP,EAAcC,IAAd,EAAoBC,KAApB;AAJK,QAAnB;;AAOA,UAAMM,QAAQ,GAAG,IAAIC,oBAAJ,CAAiBN,aAAjB,CAAjB;AACA,aAAOK,QAAP;AACD;;;WAED,wBAAeE,MAAf,EAAuB;AACrB,UAAMC,IAAI,kHAAwBD,MAAxB,CAAV;;AAEA,UAAI,KAAKxB,KAAL,CAAWL,MAAX,IAAqB8B,IAAI,CAACC,KAAL,KAAe,CAAC,CAAzC,EAA4C;AAC1C,YAAOzB,IAAP,GAAeuB,MAAM,CAACG,WAAP,CAAoB/B,KAAnC,CAAOK,IAAP;AACAwB,QAAAA,IAAI,CAACG,MAAL,GAAc,0BAAgB3B,IAAhB,EAAwC;AAAC4B,UAAAA,eAAe,EAAEJ,IAAI,CAACC;AAAvB,SAAxC,CAAd;AACD;;AAED,aAAOD,IAAP;AACD;;;EAnEOjC,mB;;;8BAHWE,c,eAIA,gB;8BAJAA,c,kBAKGH,Y","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport CartoVectorTileLoader from './schema/carto-vector-tile-loader';\nregisterLoaders([CartoVectorTileLoader]);\n\nimport {DefaultProps} 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 {binaryToGeojson, geojsonToBinary} from '@loaders.gl/gis';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\nimport {TileFormat, TILE_FORMATS} from '../api/maps-api-common';\nimport type {Feature} from 'geojson';\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst defaultProps: DefaultProps<CartoTileLayerProps> = {\n ...MVTLayer.defaultProps,\n formatTiles: defaultTileFormat\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 initializeState(): void {\n super.initializeState();\n const binary = this.props.formatTiles === TILE_FORMATS.BINARY;\n this.setState({binary});\n }\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 // The backend doesn't yet support our custom mime-type, so force it here\n // TODO remove once backend sends the correct mime-type\n if (formatTiles === TILE_FORMATS.BINARY) {\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/vnd.carto-vector-tile'\n };\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 getPickingInfo(params) {\n const info = super.getPickingInfo(params);\n\n if (this.state.binary && info.index !== -1) {\n const {data} = params.sourceLayer!.props;\n info.object = binaryToGeojson(data as BinaryFeatures, {globalFeatureId: info.index}) as DataT;\n }\n\n return info;\n }\n}\n"],"file":"carto-tile-layer.js"}
|
|
@@ -13,11 +13,11 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
13
13
|
|
|
14
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _cartoSpatialTile = require("./carto-spatial-tile");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _tileLoaderUtils = require("./tile-loader-utils");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _spatialjsonUtils = require("./spatialjson-utils");
|
|
21
21
|
|
|
22
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
23
23
|
|
|
@@ -29,7 +29,7 @@ var CartoSpatialTileLoader = {
|
|
|
29
29
|
id: 'cartoSpatialTile',
|
|
30
30
|
module: 'carto',
|
|
31
31
|
extensions: ['pbf'],
|
|
32
|
-
mimeTypes: ['application/vnd.carto-spatial-tile'
|
|
32
|
+
mimeTypes: ['application/vnd.carto-spatial-tile'],
|
|
33
33
|
category: 'geometry',
|
|
34
34
|
worker: false,
|
|
35
35
|
parse: function () {
|
|
@@ -58,37 +58,13 @@ var CartoSpatialTileLoader = {
|
|
|
58
58
|
options: {}
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
-
function parsePbf(buffer) {
|
|
62
|
-
var pbf = new _pbf.default(buffer);
|
|
63
|
-
|
|
64
|
-
var tile = _cartoSpatialTile.TileReader.read(pbf);
|
|
65
|
-
|
|
66
|
-
return tile;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function unpackProperties(properties) {
|
|
70
|
-
if (!properties || !properties.length) {
|
|
71
|
-
return [];
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return properties.map(function (item) {
|
|
75
|
-
var currentRecord = {};
|
|
76
|
-
item.data.forEach(function (_ref) {
|
|
77
|
-
var key = _ref.key,
|
|
78
|
-
value = _ref.value;
|
|
79
|
-
currentRecord[key] = value;
|
|
80
|
-
});
|
|
81
|
-
return currentRecord;
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
|
|
85
61
|
function parseCartoSpatialTile(arrayBuffer, options) {
|
|
86
62
|
if (!arrayBuffer) return null;
|
|
87
|
-
var tile = parsePbf(arrayBuffer);
|
|
63
|
+
var tile = (0, _tileLoaderUtils.parsePbf)(arrayBuffer, _cartoSpatialTile.TileReader);
|
|
88
64
|
var cells = tile.cells;
|
|
89
65
|
var data = {
|
|
90
66
|
cells: _objectSpread(_objectSpread({}, cells), {}, {
|
|
91
|
-
properties: unpackProperties(cells.properties)
|
|
67
|
+
properties: (0, _tileLoaderUtils.unpackProperties)(cells.properties)
|
|
92
68
|
})
|
|
93
69
|
};
|
|
94
70
|
return (0, _spatialjsonUtils.binaryToSpatialjson)(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile-loader.ts"],"names":["CartoSpatialTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parse","arrayBuffer","options","parseCartoSpatialTile","parseSync","
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile-loader.ts"],"names":["CartoSpatialTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parse","arrayBuffer","options","parseCartoSpatialTile","parseSync","tile","TileReader","cells","data","properties"],"mappings":";;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;;;AAEA,IAAMA,sBAAwC,GAAG;AAC/CC,EAAAA,IAAI,EAAE,oBADyC;AAE/CC,EAAAA,OAAO,EAAE,GAFsC;AAG/CC,EAAAA,EAAE,EAAE,kBAH2C;AAI/CC,EAAAA,MAAM,EAAE,OAJuC;AAK/CC,EAAAA,UAAU,EAAE,CAAC,KAAD,CALmC;AAM/CC,EAAAA,SAAS,EAAE,CAAC,oCAAD,CANoC;AAO/CC,EAAAA,QAAQ,EAAE,UAPqC;AAQ/CC,EAAAA,MAAM,EAAE,KARuC;AAS/CC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgCC,qBAAqB,CAACF,WAAD,EAAcC,OAAd,CAArD;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KAT0C;AAU/CE,EAAAA,SAAS,EAAED,qBAVoC;AAW/CD,EAAAA,OAAO,EAAE;AAXsC,CAAjD;;AAcA,SAASC,qBAAT,CACEF,WADF,EAEEC,OAFF,EAGsB;AACpB,MAAI,CAACD,WAAL,EAAkB,OAAO,IAAP;AAClB,MAAMI,IAAU,GAAG,+BAASJ,WAAT,EAAsBK,4BAAtB,CAAnB;AAEA,MAAOC,KAAP,GAAgBF,IAAhB,CAAOE,KAAP;AACA,MAAMC,IAAI,GAAG;AACXD,IAAAA,KAAK,kCAAMA,KAAN;AAAaE,MAAAA,UAAU,EAAE,uCAAiBF,KAAK,CAACE,UAAvB;AAAzB;AADM,GAAb;AAIA,SAAO,2CAAoBD,IAApB,CAAP;AACD;;eAEcjB,sB","sourcesContent":["import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\n\nimport {Tile, TileReader} from './carto-spatial-tile';\nimport {parsePbf, unpackProperties} from './tile-loader-utils';\nimport {binaryToSpatialjson, SpatialJson} from './spatialjson-utils';\n\nconst CartoSpatialTileLoader: LoaderWithParser = {\n name: 'CARTO Spatial Tile',\n version: '1',\n id: 'cartoSpatialTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/vnd.carto-spatial-tile'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoSpatialTile(arrayBuffer, options),\n parseSync: parseCartoSpatialTile,\n options: {}\n};\n\nfunction parseCartoSpatialTile(\n arrayBuffer: ArrayBuffer,\n options?: LoaderOptions\n): SpatialJson | null {\n if (!arrayBuffer) return null;\n const tile: Tile = parsePbf(arrayBuffer, TileReader);\n\n const {cells} = tile;\n const data = {\n cells: {...cells, properties: unpackProperties(cells.properties)}\n };\n\n return binaryToSpatialjson(data);\n}\n\nexport default CartoSpatialTileLoader;\n"],"file":"carto-spatial-tile-loader.js"}
|
|
@@ -114,6 +114,27 @@ var IntsReader = function () {
|
|
|
114
114
|
return IntsReader;
|
|
115
115
|
}();
|
|
116
116
|
|
|
117
|
+
var FieldsReader = function () {
|
|
118
|
+
function FieldsReader() {
|
|
119
|
+
(0, _classCallCheck2.default)(this, FieldsReader);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
(0, _createClass2.default)(FieldsReader, null, [{
|
|
123
|
+
key: "read",
|
|
124
|
+
value: function read(pbf, end) {
|
|
125
|
+
return pbf.readFields(FieldsReader._readField, {
|
|
126
|
+
id: 0
|
|
127
|
+
}, end);
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
130
|
+
key: "_readField",
|
|
131
|
+
value: function _readField(tag, obj, pbf) {
|
|
132
|
+
if (tag === 1) obj.id = pbf.readVarint();
|
|
133
|
+
}
|
|
134
|
+
}]);
|
|
135
|
+
return FieldsReader;
|
|
136
|
+
}();
|
|
137
|
+
|
|
117
138
|
var NumericPropReader = function () {
|
|
118
139
|
function NumericPropReader() {
|
|
119
140
|
(0, _classCallCheck2.default)(this, NumericPropReader);
|
|
@@ -172,7 +193,8 @@ var PointsReader = function () {
|
|
|
172
193
|
globalFeatureIds: null,
|
|
173
194
|
featureIds: null,
|
|
174
195
|
properties: [],
|
|
175
|
-
numericProps: {}
|
|
196
|
+
numericProps: {},
|
|
197
|
+
fields: []
|
|
176
198
|
}, end);
|
|
177
199
|
}
|
|
178
200
|
}, {
|
|
@@ -181,7 +203,7 @@ var PointsReader = function () {
|
|
|
181
203
|
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
|
|
182
204
|
var entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
183
205
|
obj.numericProps[entry.key] = entry.value;
|
|
184
|
-
}
|
|
206
|
+
} else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
185
207
|
}
|
|
186
208
|
}]);
|
|
187
209
|
return PointsReader;
|
|
@@ -201,7 +223,8 @@ var LinesReader = function () {
|
|
|
201
223
|
globalFeatureIds: null,
|
|
202
224
|
featureIds: null,
|
|
203
225
|
properties: [],
|
|
204
|
-
numericProps: {}
|
|
226
|
+
numericProps: {},
|
|
227
|
+
fields: []
|
|
205
228
|
}, end);
|
|
206
229
|
}
|
|
207
230
|
}, {
|
|
@@ -210,7 +233,7 @@ var LinesReader = function () {
|
|
|
210
233
|
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
|
|
211
234
|
var entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
212
235
|
obj.numericProps[entry.key] = entry.value;
|
|
213
|
-
}
|
|
236
|
+
} else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
214
237
|
}
|
|
215
238
|
}]);
|
|
216
239
|
return LinesReader;
|
|
@@ -232,7 +255,8 @@ var PolygonsReader = function () {
|
|
|
232
255
|
primitivePolygonIndices: null,
|
|
233
256
|
triangles: null,
|
|
234
257
|
properties: [],
|
|
235
|
-
numericProps: {}
|
|
258
|
+
numericProps: {},
|
|
259
|
+
fields: []
|
|
236
260
|
}, end);
|
|
237
261
|
}
|
|
238
262
|
}, {
|
|
@@ -241,7 +265,7 @@ var PolygonsReader = function () {
|
|
|
241
265
|
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
|
|
242
266
|
var entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
243
267
|
obj.numericProps[entry.key] = entry.value;
|
|
244
|
-
}
|
|
268
|
+
} else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
245
269
|
}
|
|
246
270
|
}]);
|
|
247
271
|
return PolygonsReader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","data","push","read","readVarint","pos","DoublesReader","size","Float32Array","readPackedDouble","IntsReader","Uint32Array","readPackedVarint","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":";;;;;;;;;;;;;IAMMA,oB;;;;;;;WACJ,cAAYC,GAAZ,EAAiBC,GAAjB,EAA+C;AAC7C,aAAOD,GAAG,CAACE,UAAJ,CAAeH,oBAAoB,CAACI,UAApC,EAAgD;AAACC,QAAAA,GAAG,EAAE,EAAN;AAAUC,QAAAA,KAAK,EAAE;AAAjB,OAAhD,EAAsEJ,GAAtE,CAAP;AACD;;;WACD,oBAA8BK,GAA9B,EAA2CC,GAA3C,EAAgEP,GAAhE,EAAqE;AACnE,UAAIM,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACH,GAAJ,GAAUJ,GAAG,CAACQ,UAAJ,EAAV,CAAf,KACK,IAAIF,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACF,KAAJ,GAAYL,GAAG,CAACQ,UAAJ,EAAZ;AACrB;;;;;IASUC,gB;;;;;;;WACX,cAAYT,GAAZ,EAAiBC,GAAjB,EAA+B;AAC7B,aAAOD,GAAG,CAACE,UAAJ,CAAeO,gBAAgB,CAACN,UAAhC,EAA4C;AAACO,QAAAA,IAAI,EAAE;AAAP,OAA5C,EAAwDT,GAAxD,CAAP;AACD;;;WACD,oBAA8BK,GAA9B,EAA2CC,GAA3C,EAAoEP,GAApE,EAAyE;AACvE,UAAIM,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACG,IAAJ,CAASC,IAAT,CAAcZ,oBAAoB,CAACa,IAArB,CAA0BZ,GAA1B,EAA+BA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAAtD,CAAd;AAChB;;;;;;;IAUGC,a;;;;;;;WACJ,cAAYf,GAAZ,EAAiBC,GAAjB,EAAwC;AAGtC,4BAAsBD,GAAG,CAACE,UAAJ,CAAea,aAAa,CAACZ,UAA7B,EAAyC;AAACE,QAAAA,KAAK,EAAE,EAAR;AAAYW,QAAAA,IAAI,EAAE;AAAlB,OAAzC,EAA+Df,GAA/D,CAAtB;AAAA,UAAOI,KAAP,mBAAOA,KAAP;AAAA,UAAcW,IAAd,mBAAcA,IAAd;;AACA,aAAO;AAACX,QAAAA,KAAK,EAAE,IAAIY,YAAJ,CAAiBZ,KAAjB,CAAR;AAAiCW,QAAAA,IAAI,EAAJA;AAAjC,OAAP;AACD;;;WACD,oBAA8BV,GAA9B,EAA2CC,GAA3C,EAAgDP,GAAhD,EAAqD;AACnD,UAAIM,GAAG,KAAK,CAAZ,EAAeN,GAAG,CAACkB,gBAAJ,CAAqBX,GAAG,CAACF,KAAzB,EAAf,KACK,IAAIC,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACS,IAAJ,GAAWhB,GAAG,CAACa,UAAJ,CAAe,IAAf,CAAX;AACrB;;;;;IAUGM,U;;;;;;;WACJ,cAAYnB,GAAZ,EAAiBC,GAAjB,EAAqC;AACnC,6BAAsBD,GAAG,CAACE,UAAJ,CAAeiB,UAAU,CAAChB,UAA1B,EAAsC;AAACE,QAAAA,KAAK,EAAE,EAAR;AAAYW,QAAAA,IAAI,EAAE;AAAlB,OAAtC,EAA4Df,GAA5D,CAAtB;AAAA,UAAOI,KAAP,oBAAOA,KAAP;AAAA,UAAcW,IAAd,oBAAcA,IAAd;;AACA,aAAO;AAACX,QAAAA,KAAK,EAAE,IAAIe,WAAJ,CAAgBf,KAAhB,CAAR;AAAgCW,QAAAA,IAAI,EAAJA;AAAhC,OAAP;AACD;;;WACD,oBAA8BV,GAA9B,EAA2CC,GAA3C,EAAgDP,GAAhD,EAAqD;AACnD,UAAIM,GAAG,KAAK,CAAZ,EAAeN,GAAG,CAACqB,gBAAJ,CAAqBd,GAAG,CAACF,KAAzB,EAAf,KACK,IAAIC,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACS,IAAJ,GAAWhB,GAAG,CAACa,UAAJ,CAAe,IAAf,CAAX;AACrB;;;;;IASGS,iB;;;;;;;WACJ,cAAYtB,GAAZ,EAAiBC,GAAjB,EAA4C;AAC1C,aAAOD,GAAG,CAACE,UAAJ,CAAeoB,iBAAiB,CAACnB,UAAjC,EAA6C;AAACE,QAAAA,KAAK,EAAE;AAAR,OAA7C,EAA0DJ,GAA1D,CAAP;AACD;;;WACD,oBAA8BK,GAA9B,EAA2CC,GAA3C,EAA6DP,GAA7D,EAAkE;AAChE,UAAIM,GAAG,KAAK,CAAZ,EAAeN,GAAG,CAACkB,gBAAJ,CAAqBX,GAAG,CAACF,KAAzB;AAChB;;;;;IASUkB,yB;;;;;;;WACX,cAAYvB,GAAZ,EAAiBC,GAAjB,EAAqD;AACnD,aAAOD,GAAG,CAACE,UAAJ,CAAeqB,yBAAyB,CAACpB,UAAzC,EAAqD;AAACC,QAAAA,GAAG,EAAE,EAAN;AAAUC,QAAAA,KAAK,EAAE;AAAjB,OAArD,EAA6EJ,GAA7E,CAAP;AACD;;;WACD,oBAA8BK,GAA9B,EAA2CC,GAA3C,EAAsEP,GAAtE,EAA2E;AACzE,UAAIM,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACH,GAAJ,GAAUJ,GAAG,CAACQ,UAAJ,EAAV,CAAf,KACK,IAAIF,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACF,KAAJ,GAAYiB,iBAAiB,CAACV,IAAlB,CAAuBZ,GAAvB,EAA4BA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAAnD,CAAZ;AACrB;;;;;;;IAaGU,Y;;;;;;;WACJ,cAAYxB,GAAZ,EAAiBC,GAAjB,EAAuC;AACrC,aAAOD,GAAG,CAACE,UAAJ,CACLsB,YAAY,CAACrB,UADR,EAEL;AAACsB,QAAAA,SAAS,EAAE,IAAZ;AAAkBC,QAAAA,gBAAgB,EAAE,IAApC;AAA0CC,QAAAA,UAAU,EAAE,IAAtD;AAA4DC,QAAAA,UAAU,EAAE,EAAxE;AAA4EC,QAAAA,YAAY,EAAE;AAA1F,OAFK,EAGL5B,GAHK,CAAP;AAKD;;;WACD,oBAA8BK,GAA9B,EAA2CC,GAA3C,EAAwDP,GAAxD,EAA6D;AAC3D,UAAIM,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACkB,SAAJ,GAAgBV,aAAa,CAACH,IAAd,CAAmBZ,GAAnB,EAAwBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA/C,CAAhB,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACmB,gBAAJ,GAAuBP,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAAvB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACoB,UAAJ,GAAiBR,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAAjB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACqB,UAAJ,CAAejB,IAAf,CAAoBF,gBAAgB,CAACG,IAAjB,CAAsBZ,GAAtB,EAA2BA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAAlD,CAApB,EAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMwB,KAAK,GAAGP,yBAAyB,CAACX,IAA1B,CAA+BZ,GAA/B,EAAoCA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA3D,CAAd;AACAP,QAAAA,GAAG,CAACsB,YAAJ,CAAiBC,KAAK,CAAC1B,GAAvB,IAA8B0B,KAAK,CAACzB,KAApC;AACD;AACF;;;;;IAQG0B,W;;;;;;;WACJ,cAAY/B,GAAZ,EAAiBC,GAAjB,EAAsC;AACpC,aAAOD,GAAG,CAACE,UAAJ,CACL6B,WAAW,CAAC5B,UADP,EAEL;AACEsB,QAAAA,SAAS,EAAE,IADb;AAEEO,QAAAA,WAAW,EAAE,IAFf;AAGEN,QAAAA,gBAAgB,EAAE,IAHpB;AAIEC,QAAAA,UAAU,EAAE,IAJd;AAKEC,QAAAA,UAAU,EAAE,EALd;AAMEC,QAAAA,YAAY,EAAE;AANhB,OAFK,EAUL5B,GAVK,CAAP;AAYD;;;WACD,oBAA8BK,GAA9B,EAA2CC,GAA3C,EAAuDP,GAAvD,EAA4D;AAC1D,UAAIM,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACkB,SAAJ,GAAgBV,aAAa,CAACH,IAAd,CAAmBZ,GAAnB,EAAwBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA/C,CAAhB,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACyB,WAAJ,GAAkBb,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAAlB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACmB,gBAAJ,GAAuBP,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAAvB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACoB,UAAJ,GAAiBR,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAAjB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACqB,UAAJ,CAAejB,IAAf,CAAoBF,gBAAgB,CAACG,IAAjB,CAAsBZ,GAAtB,EAA2BA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAAlD,CAApB,EAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMwB,KAAK,GAAGP,yBAAyB,CAACX,IAA1B,CAA+BZ,GAA/B,EAAoCA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA3D,CAAd;AACAP,QAAAA,GAAG,CAACsB,YAAJ,CAAiBC,KAAK,CAAC1B,GAAvB,IAA8B0B,KAAK,CAACzB,KAApC;AACD;AACF;;;;;IAUG4B,c;;;;;;;WACJ,cAAYjC,GAAZ,EAAiBC,GAAjB,EAAyC;AACvC,aAAOD,GAAG,CAACE,UAAJ,CACL+B,cAAc,CAAC9B,UADV,EAEL;AACEsB,QAAAA,SAAS,EAAE,IADb;AAEES,QAAAA,cAAc,EAAE,IAFlB;AAGER,QAAAA,gBAAgB,EAAE,IAHpB;AAIEC,QAAAA,UAAU,EAAE,IAJd;AAKEQ,QAAAA,uBAAuB,EAAE,IAL3B;AAMEC,QAAAA,SAAS,EAAE,IANb;AAOER,QAAAA,UAAU,EAAE,EAPd;AAQEC,QAAAA,YAAY,EAAE;AARhB,OAFK,EAYL5B,GAZK,CAAP;AAcD;;;WACD,oBAA8BK,GAA9B,EAA2CC,GAA3C,EAA0DP,GAA1D,EAA+D;AAC7D,UAAIM,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACkB,SAAJ,GAAgBV,aAAa,CAACH,IAAd,CAAmBZ,GAAnB,EAAwBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA/C,CAAhB,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAAC2B,cAAJ,GAAqBf,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAArB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACmB,gBAAJ,GAAuBP,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAAvB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACoB,UAAJ,GAAiBR,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAAjB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EACHC,GAAG,CAAC4B,uBAAJ,GAA8BhB,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAA9B,CADG,KAEA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAAC6B,SAAJ,GAAgBjB,UAAU,CAACP,IAAX,CAAgBZ,GAAhB,EAAqBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA5C,CAAhB,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACqB,UAAJ,CAAejB,IAAf,CAAoBF,gBAAgB,CAACG,IAAjB,CAAsBZ,GAAtB,EAA2BA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAAlD,CAApB,EAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMwB,KAAK,GAAGP,yBAAyB,CAACX,IAA1B,CAA+BZ,GAA/B,EAAoCA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA3D,CAAd;AACAP,QAAAA,GAAG,CAACsB,YAAJ,CAAiBC,KAAK,CAAC1B,GAAvB,IAA8B0B,KAAK,CAACzB,KAApC;AACD;AACF;;;;;IAWUgC,U;;;;;;;WACX,cAAYrC,GAAZ,EAAiBC,GAAjB,EAAqC;AACnC,aAAOD,GAAG,CAACE,UAAJ,CAAemC,UAAU,CAAClC,UAA1B,EAAsC;AAACmC,QAAAA,MAAM,EAAE,IAAT;AAAeC,QAAAA,KAAK,EAAE,IAAtB;AAA4BC,QAAAA,QAAQ,EAAE;AAAtC,OAAtC,EAAmFvC,GAAnF,CAAP;AACD;;;WACD,oBAA8BK,GAA9B,EAA2CC,GAA3C,EAAsDP,GAAtD,EAA2D;AACzD,UAAIM,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAAC+B,MAAJ,GAAad,YAAY,CAACZ,IAAb,CAAkBZ,GAAlB,EAAuBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA9C,CAAb,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACgC,KAAJ,GAAYR,WAAW,CAACnB,IAAZ,CAAiBZ,GAAjB,EAAsBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA7C,CAAZ,CAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACiC,QAAJ,GAAeP,cAAc,CAACrB,IAAf,CAAoBZ,GAApB,EAAyBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAAhD,CAAf;AACrB","sourcesContent":["// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport interface KeyValueProperties {\n data: KeyValueObject[];\n}\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {data: []}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueProperties, pbf) {\n if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n // TODO perhaps we can do better and directly map from the source\n // ArrayBuffer using ArrayBuffer.slice()\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: KeyValueProperties[];\n numericProps: Record<string, NumericProp>;\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {positions: null, globalFeatureIds: null, featureIds: null, properties: [], numericProps: {}},\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","data","push","read","readVarint","pos","DoublesReader","size","Float32Array","readPackedDouble","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport interface KeyValueProperties {\n data: KeyValueObject[];\n}\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {data: []}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueProperties, pbf) {\n if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n // TODO perhaps we can do better and directly map from the source\n // ArrayBuffer using ArrayBuffer.slice()\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: KeyValueProperties[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
|