@deck.gl/carto 8.7.0-beta.3 → 8.7.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +1043 -20
- package/dist/es5/api/index.js +6 -0
- package/dist/es5/api/index.js.map +1 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/index.js +6 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-dynamic-tile-layer.js +56 -11
- package/dist/es5/layers/carto-dynamic-tile-layer.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +10 -3
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/schema/carto-dynamic-tile.js +197 -0
- package/dist/es5/layers/schema/carto-dynamic-tile.js.map +1 -0
- package/dist/esm/api/index.js +1 -1
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-dynamic-tile-layer.js +49 -7
- package/dist/esm/layers/carto-dynamic-tile-layer.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +7 -1
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/schema/carto-dynamic-tile.js +190 -0
- package/dist/esm/layers/schema/carto-dynamic-tile.js.map +1 -0
- package/dist.min.js +14 -14
- package/package.json +4 -3
- package/src/api/index.js +1 -1
- package/src/api/maps-api-common.js +1 -0
- package/src/index.js +1 -0
- package/src/layers/carto-dynamic-tile-layer.js +39 -8
- package/src/layers/carto-layer.js +11 -4
- package/src/layers/schema/carto-dynamic-tile.js +195 -0
|
@@ -1,19 +1,61 @@
|
|
|
1
|
+
import Protobuf from 'pbf';
|
|
1
2
|
import { log } from '@deck.gl/core';
|
|
2
3
|
import { ClipExtension } from '@deck.gl/extensions';
|
|
3
4
|
import { MVTLayer, _getURLFromTemplate } from '@deck.gl/geo-layers';
|
|
4
5
|
import { GeoJsonLayer } from '@deck.gl/layers';
|
|
5
6
|
import { geojsonToBinary } from '@loaders.gl/gis';
|
|
6
|
-
import {
|
|
7
|
+
import { Tile } from './schema/carto-dynamic-tile';
|
|
8
|
+
import { encodeParameter, TILE_FORMATS } from '../api/maps-api-common';
|
|
7
9
|
|
|
8
10
|
function parseJSON(arrayBuffer) {
|
|
9
11
|
return JSON.parse(new TextDecoder().decode(arrayBuffer));
|
|
10
12
|
}
|
|
11
13
|
|
|
14
|
+
function parsePbf(buffer) {
|
|
15
|
+
const pbf = new Protobuf(buffer);
|
|
16
|
+
const tile = Tile.read(pbf);
|
|
17
|
+
return tile;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function unpackProperties(properties) {
|
|
21
|
+
if (!properties || !properties.length) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return properties.map(item => {
|
|
26
|
+
const currentRecord = {};
|
|
27
|
+
item.data.forEach(({
|
|
28
|
+
key,
|
|
29
|
+
value
|
|
30
|
+
}) => {
|
|
31
|
+
currentRecord[key] = value;
|
|
32
|
+
});
|
|
33
|
+
return currentRecord;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
12
37
|
function parseCartoDynamicTile(arrayBuffer, options) {
|
|
13
38
|
if (!arrayBuffer) return null;
|
|
14
39
|
const formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;
|
|
15
|
-
if (formatTiles ===
|
|
16
|
-
|
|
40
|
+
if (formatTiles === TILE_FORMATS.GEOJSON) return geojsonToBinary(parseJSON(arrayBuffer).features);
|
|
41
|
+
const tile = parsePbf(arrayBuffer);
|
|
42
|
+
const {
|
|
43
|
+
points,
|
|
44
|
+
lines,
|
|
45
|
+
polygons
|
|
46
|
+
} = tile;
|
|
47
|
+
const data = {
|
|
48
|
+
points: { ...points,
|
|
49
|
+
properties: unpackProperties(points.properties)
|
|
50
|
+
},
|
|
51
|
+
lines: { ...lines,
|
|
52
|
+
properties: unpackProperties(lines.properties)
|
|
53
|
+
},
|
|
54
|
+
polygons: { ...polygons,
|
|
55
|
+
properties: unpackProperties(polygons.properties)
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return data;
|
|
17
59
|
}
|
|
18
60
|
|
|
19
61
|
const CartoDynamicTileLoader = {
|
|
@@ -28,7 +70,7 @@ const CartoDynamicTileLoader = {
|
|
|
28
70
|
parseSync: parseCartoDynamicTile,
|
|
29
71
|
options: {
|
|
30
72
|
cartoDynamicTile: {
|
|
31
|
-
formatTiles:
|
|
73
|
+
formatTiles: TILE_FORMATS.BINARY
|
|
32
74
|
}
|
|
33
75
|
}
|
|
34
76
|
};
|
|
@@ -53,9 +95,9 @@ export default class CartoDynamicTileLayer extends MVTLayer {
|
|
|
53
95
|
};
|
|
54
96
|
|
|
55
97
|
if (formatTiles) {
|
|
56
|
-
log.assert(
|
|
98
|
+
log.assert(Object.values(TILE_FORMATS).includes(formatTiles), "Invalid value for formatTiles: ".concat(formatTiles, ". Use value from TILE_FORMATS"));
|
|
57
99
|
url += "&".concat(encodeParameter('formatTiles', formatTiles));
|
|
58
|
-
loadOptions.
|
|
100
|
+
loadOptions.cartoDynamicTile = {
|
|
59
101
|
formatTiles
|
|
60
102
|
};
|
|
61
103
|
}
|
|
@@ -82,7 +124,7 @@ export default class CartoDynamicTileLayer extends MVTLayer {
|
|
|
82
124
|
north
|
|
83
125
|
}
|
|
84
126
|
} = props.tile;
|
|
85
|
-
props.extensions = [new ClipExtension()];
|
|
127
|
+
props.extensions = [new ClipExtension(), ...props.extensions];
|
|
86
128
|
props.clipBounds = [west, south, east, north];
|
|
87
129
|
const subLayer = new GeoJsonLayer({ ...props
|
|
88
130
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-dynamic-tile-layer.js"],"names":["log","ClipExtension","MVTLayer","_getURLFromTemplate","GeoJsonLayer","geojsonToBinary","encodeParameter","parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parseCartoDynamicTile","options","formatTiles","cartoDynamicTile","features","CartoDynamicTileLoader","name","id","module","extensions","mimeTypes","category","worker","parseSync","
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-dynamic-tile-layer.js"],"names":["Protobuf","log","ClipExtension","MVTLayer","_getURLFromTemplate","GeoJsonLayer","geojsonToBinary","Tile","encodeParameter","TILE_FORMATS","parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parsePbf","buffer","pbf","tile","read","unpackProperties","properties","length","map","item","currentRecord","data","forEach","key","value","parseCartoDynamicTile","options","formatTiles","cartoDynamicTile","GEOJSON","features","points","lines","polygons","CartoDynamicTileLoader","name","id","module","extensions","mimeTypes","category","worker","parseSync","BINARY","CartoDynamicTileLayer","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","defaultProps","loaders"],"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-dynamic-tile';\nimport {encodeParameter, 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 parseCartoDynamicTile(arrayBuffer, options) {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.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 CartoDynamicTileLoader = {\n name: 'CARTO Dynamic Tile',\n id: 'cartoDynamicTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/x-protobuf'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoDynamicTile(arrayBuffer, options),\n parseSync: parseCartoDynamicTile,\n options: {\n cartoDynamicTile: {\n formatTiles: TILE_FORMATS.BINARY\n }\n }\n};\n\nexport default class CartoDynamicTileLayer extends MVTLayer {\n getTileData(tile) {\n let 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 url += `&${encodeParameter('formatTiles', formatTiles)}`;\n loadOptions.cartoDynamicTile = {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\nCartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';\nCartoDynamicTileLayer.defaultProps = {...MVTLayer.defaultProps, loaders: [CartoDynamicTileLoader]};\n"],"file":"carto-dynamic-tile-layer.js"}
|
|
@@ -23,6 +23,7 @@ const defaultProps = {
|
|
|
23
23
|
credentials: null,
|
|
24
24
|
connection: null,
|
|
25
25
|
format: null,
|
|
26
|
+
formatTiles: TILE_FORMATS.GEOJSON,
|
|
26
27
|
clientId: null,
|
|
27
28
|
geoColumn: null,
|
|
28
29
|
columns: {
|
|
@@ -153,12 +154,15 @@ export default class CartoLayer extends CompositeLayer {
|
|
|
153
154
|
} = this.state;
|
|
154
155
|
if (!data) return null;
|
|
155
156
|
const {
|
|
157
|
+
type,
|
|
156
158
|
updateTriggers
|
|
157
159
|
} = this.props;
|
|
158
160
|
let layer;
|
|
159
161
|
const tilesFormat = apiVersion === API_VERSIONS.V3 && format === FORMATS.TILEJSON && new URLSearchParams(data.tiles[0]).get('format');
|
|
162
|
+
const nonMvtTiles = tilesFormat && tilesFormat !== TILE_FORMATS.MVT;
|
|
163
|
+
const dynamicTiles = apiVersion === API_VERSIONS.V3 && type === MAP_TYPES.TABLE && format === FORMATS.TILEJSON;
|
|
160
164
|
|
|
161
|
-
if (
|
|
165
|
+
if (nonMvtTiles || dynamicTiles) {
|
|
162
166
|
layer = CartoDynamicTileLayer;
|
|
163
167
|
} else if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2 || format === FORMATS.TILEJSON) {
|
|
164
168
|
layer = MVTLayer;
|
|
@@ -167,9 +171,11 @@ export default class CartoLayer extends CompositeLayer {
|
|
|
167
171
|
}
|
|
168
172
|
|
|
169
173
|
const {
|
|
174
|
+
formatTiles,
|
|
170
175
|
uniqueIdProperty
|
|
171
176
|
} = defaultProps;
|
|
172
177
|
const props = {
|
|
178
|
+
formatTiles,
|
|
173
179
|
uniqueIdProperty,
|
|
174
180
|
...this.props
|
|
175
181
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["CompositeLayer","log","CartoDynamicTileLayer","MVTLayer","GeoJsonLayer","fetchLayerData","getDataV2","API_VERSIONS","FORMATS","MAP_TYPES","TILE_FORMATS","getDefaultCredentials","defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","uniqueIdProperty","credentials","connection","format","clientId","geoColumn","columns","CartoLayer","initializeState","state","apiVersion","isLoaded","getSubLayers","length","_checkProps","props","localCreds","assert","Object","values","includes","V1","V2","QUERY","TILESET","V3","TABLE","Array","isArray","updateState","oldProps","changeFlags","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","rest","localConfig","result","err","renderLayers","updateTriggers","layer","tilesFormat","TILEJSON","URLSearchParams","tiles","get","MVT","getSubLayerProps","id","layerName"],"mappings":"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","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport CartoDynamicTileLayer from './carto-dynamic-tile-layer';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {fetchLayerData, getDataV2, API_VERSIONS} from '../api';\nimport {FORMATS, MAP_TYPES, TILE_FORMATS} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n uniqueIdProperty: 'cartodb_id',\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): format of data\n format: null,\n\n // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.\n clientId: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, clientId, credentials, ...rest} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let result;\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n result = {data: await getDataV2({type, source, credentials})};\n } else {\n result = await fetchLayerData({type, source, clientId, credentials, ...rest});\n }\n\n this.setState({...result, apiVersion});\n this.props.onDataLoad(result.data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, format, apiVersion} = this.state;\n\n if (!data) return null;\n\n const {updateTriggers} = this.props;\n\n let layer;\n\n /* global URLSearchParams */\n const tilesFormat =\n apiVersion === API_VERSIONS.V3 &&\n format === FORMATS.TILEJSON &&\n new URLSearchParams(data.tiles[0]).get('format');\n\n if (tilesFormat && tilesFormat !== TILE_FORMATS.MVT) {\n layer = CartoDynamicTileLayer;\n } else if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n format === FORMATS.TILEJSON\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const {uniqueIdProperty} = defaultProps;\n const props = {uniqueIdProperty, ...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["CompositeLayer","log","CartoDynamicTileLayer","MVTLayer","GeoJsonLayer","fetchLayerData","getDataV2","API_VERSIONS","FORMATS","MAP_TYPES","TILE_FORMATS","getDefaultCredentials","defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","uniqueIdProperty","credentials","connection","format","formatTiles","GEOJSON","clientId","geoColumn","columns","CartoLayer","initializeState","state","apiVersion","isLoaded","getSubLayers","length","_checkProps","props","localCreds","assert","Object","values","includes","V1","V2","QUERY","TILESET","V3","TABLE","Array","isArray","updateState","oldProps","changeFlags","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","rest","localConfig","result","err","renderLayers","updateTriggers","layer","tilesFormat","TILEJSON","URLSearchParams","tiles","get","nonMvtTiles","MVT","dynamicTiles","getSubLayerProps","id","layerName"],"mappings":"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","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport CartoDynamicTileLayer from './carto-dynamic-tile-layer';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {fetchLayerData, getDataV2, API_VERSIONS} from '../api';\nimport {FORMATS, MAP_TYPES, TILE_FORMATS} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n uniqueIdProperty: 'cartodb_id',\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): format of data\n format: null,\n\n // (String, optional): format of data\n formatTiles: TILE_FORMATS.GEOJSON, // TODO: for 8.7 release switch to BINARY\n\n // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.\n clientId: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, clientId, credentials, ...rest} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let result;\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n result = {data: await getDataV2({type, source, credentials})};\n } else {\n result = await fetchLayerData({type, source, clientId, credentials, ...rest});\n }\n\n this.setState({...result, apiVersion});\n this.props.onDataLoad(result.data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, format, apiVersion} = this.state;\n\n if (!data) return null;\n\n const {type, updateTriggers} = this.props;\n\n let layer;\n\n /* global URLSearchParams */\n const tilesFormat =\n apiVersion === API_VERSIONS.V3 &&\n format === FORMATS.TILEJSON &&\n new URLSearchParams(data.tiles[0]).get('format');\n const nonMvtTiles = tilesFormat && tilesFormat !== TILE_FORMATS.MVT;\n\n const dynamicTiles =\n apiVersion === API_VERSIONS.V3 && type === MAP_TYPES.TABLE && format === FORMATS.TILEJSON;\n\n if (nonMvtTiles || dynamicTiles) {\n layer = CartoDynamicTileLayer;\n } else if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n format === FORMATS.TILEJSON\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const {formatTiles, uniqueIdProperty} = defaultProps;\n const props = {formatTiles, uniqueIdProperty, ...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
|
|
@@ -0,0 +1,190 @@
|
|
|
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
|
+
};
|
|
190
|
+
//# sourceMappingURL=carto-dynamic-tile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-dynamic-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-dynamic-tile.js"}
|