@deck.gl/carto 8.10.0-alpha.2 → 8.10.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/cartoRasterTile-worker.js +1084 -0
- package/dist/cartoSpatialTile-worker.js +1469 -0
- package/dist/cartoVectorTile-worker.js +1727 -0
- package/dist/dist.dev.js +1733 -881
- package/dist/es5/api/layer-map.js +3 -7
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +0 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +5 -20
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/index.js +74 -6
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +23 -41
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +21 -42
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/raster-tile-layer.js +23 -39
- package/dist/es5/layers/raster-tile-layer.js.map +1 -1
- package/dist/es5/layers/schema/carto-raster-tile-loader.js +13 -4
- package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +14 -8
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +1 -1
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js +64 -4
- package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/es5/layers/utils.js +29 -0
- package/dist/es5/layers/utils.js.map +1 -0
- package/dist/es5/layers/{carto-tile-layer.js → vector-tile-layer.js} +49 -24
- package/dist/es5/layers/vector-tile-layer.js.map +1 -0
- package/dist/es5/sources/base-source.js +100 -0
- package/dist/es5/sources/base-source.js.map +1 -0
- package/dist/es5/sources/common.js +48 -0
- package/dist/es5/sources/common.js.map +1 -0
- package/dist/es5/sources/h3-query-source.js +58 -0
- package/dist/es5/sources/h3-query-source.js.map +1 -0
- package/dist/es5/sources/h3-table-source.js +58 -0
- package/dist/es5/sources/h3-table-source.js.map +1 -0
- package/dist/es5/sources/h3-tileset-source.js +43 -0
- package/dist/es5/sources/h3-tileset-source.js.map +1 -0
- package/dist/es5/sources/index.js +94 -0
- package/dist/es5/sources/index.js.map +1 -0
- package/dist/es5/sources/quadbin-query-source.js +58 -0
- package/dist/es5/sources/quadbin-query-source.js.map +1 -0
- package/dist/es5/sources/quadbin-table-source.js +58 -0
- package/dist/es5/sources/quadbin-table-source.js.map +1 -0
- package/dist/es5/sources/quadbin-tileset-source.js +43 -0
- package/dist/es5/sources/quadbin-tileset-source.js.map +1 -0
- package/dist/es5/sources/raster-source.js +43 -0
- package/dist/es5/sources/raster-source.js.map +1 -0
- package/dist/es5/sources/utils.js +136 -0
- package/dist/es5/sources/utils.js.map +1 -0
- package/dist/es5/sources/vector-query-source.js +52 -0
- package/dist/es5/sources/vector-query-source.js.map +1 -0
- package/dist/es5/sources/vector-table-source.js +52 -0
- package/dist/es5/sources/vector-table-source.js.map +1 -0
- package/dist/es5/sources/vector-tileset-source.js +43 -0
- package/dist/es5/sources/vector-tileset-source.js.map +1 -0
- package/dist/es5/utils.js +5 -0
- package/dist/es5/utils.js.map +1 -1
- package/dist/es5/workers/cartoRasterTile.js +10 -0
- package/dist/es5/workers/cartoRasterTile.js.map +1 -0
- package/dist/es5/workers/cartoSpatialTile.js +10 -0
- package/dist/es5/workers/cartoSpatialTile.js.map +1 -0
- package/dist/es5/workers/cartoVectorTile.js +10 -0
- package/dist/es5/workers/cartoVectorTile.js.map +1 -0
- package/dist/esm/api/layer-map.js +3 -7
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +0 -1
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +2 -12
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +21 -37
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +18 -38
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/raster-tile-layer.js +19 -34
- package/dist/esm/layers/raster-tile-layer.js.map +1 -1
- package/dist/esm/layers/schema/carto-raster-tile-loader.js +12 -4
- package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +13 -8
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +1 -1
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js +63 -4
- package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/esm/layers/utils.js +14 -0
- package/dist/esm/layers/utils.js.map +1 -0
- package/dist/esm/layers/{carto-tile-layer.js → vector-tile-layer.js} +39 -15
- package/dist/esm/layers/vector-tile-layer.js.map +1 -0
- package/dist/esm/sources/base-source.js +49 -0
- package/dist/esm/sources/base-source.js.map +1 -0
- package/dist/esm/sources/common.js +26 -0
- package/dist/esm/sources/common.js.map +1 -0
- package/dist/esm/sources/h3-query-source.js +32 -0
- package/dist/esm/sources/h3-query-source.js.map +1 -0
- package/dist/esm/sources/h3-table-source.js +32 -0
- package/dist/esm/sources/h3-table-source.js.map +1 -0
- package/dist/esm/sources/h3-tileset-source.js +14 -0
- package/dist/esm/sources/h3-tileset-source.js.map +1 -0
- package/dist/esm/sources/index.js +12 -0
- package/dist/esm/sources/index.js.map +1 -0
- package/dist/esm/sources/quadbin-query-source.js +32 -0
- package/dist/esm/sources/quadbin-query-source.js.map +1 -0
- package/dist/esm/sources/quadbin-table-source.js +32 -0
- package/dist/esm/sources/quadbin-table-source.js.map +1 -0
- package/dist/esm/sources/quadbin-tileset-source.js +14 -0
- package/dist/esm/sources/quadbin-tileset-source.js.map +1 -0
- package/dist/esm/sources/raster-source.js +14 -0
- package/dist/esm/sources/raster-source.js.map +1 -0
- package/dist/esm/sources/utils.js +69 -0
- package/dist/esm/sources/utils.js.map +1 -0
- package/dist/esm/sources/vector-query-source.js +25 -0
- package/dist/esm/sources/vector-query-source.js.map +1 -0
- package/dist/esm/sources/vector-table-source.js +25 -0
- package/dist/esm/sources/vector-table-source.js.map +1 -0
- package/dist/esm/sources/vector-tileset-source.js +14 -0
- package/dist/esm/sources/vector-tileset-source.js.map +1 -0
- package/dist/esm/utils.js +3 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/workers/cartoRasterTile.js +4 -0
- package/dist/esm/workers/cartoRasterTile.js.map +1 -0
- package/dist/esm/workers/cartoSpatialTile.js +4 -0
- package/dist/esm/workers/cartoSpatialTile.js.map +1 -0
- package/dist/esm/workers/cartoVectorTile.js +4 -0
- package/dist/esm/workers/cartoVectorTile.js.map +1 -0
- package/dist.min.js +25 -25
- package/package.json +11 -9
- package/src/api/layer-map.ts +4 -8
- package/src/api/maps-api-common.ts +0 -1
- package/src/api/maps-v3-client.ts +6 -5
- package/src/index.ts +34 -5
- package/src/layers/h3-tile-layer.ts +22 -35
- package/src/layers/quadbin-tile-layer.ts +19 -33
- package/src/layers/raster-tile-layer.ts +22 -26
- package/src/layers/schema/carto-raster-tile-loader.ts +26 -6
- package/src/layers/schema/carto-spatial-tile-loader.ts +25 -11
- package/src/layers/schema/carto-tile.ts +1 -1
- package/src/layers/schema/carto-vector-tile-loader.ts +79 -9
- package/src/layers/utils.ts +11 -0
- package/src/layers/{carto-tile-layer.ts → vector-tile-layer.ts} +40 -21
- package/src/sources/base-source.ts +55 -0
- package/src/sources/common.ts +132 -0
- package/src/sources/h3-query-source.ts +45 -0
- package/src/sources/h3-table-source.ts +46 -0
- package/src/sources/h3-tileset-source.ts +16 -0
- package/src/sources/index.ts +32 -0
- package/src/sources/quadbin-query-source.ts +46 -0
- package/src/sources/quadbin-table-source.ts +46 -0
- package/src/sources/quadbin-tileset-source.ts +16 -0
- package/src/sources/raster-source.ts +16 -0
- package/src/sources/utils.ts +63 -0
- package/src/sources/vector-query-source.ts +23 -0
- package/src/sources/vector-table-source.ts +23 -0
- package/src/sources/vector-tileset-source.ts +16 -0
- package/src/utils.ts +6 -0
- package/src/workers/cartoRasterTile.ts +4 -0
- package/src/workers/cartoSpatialTile.ts +4 -0
- package/src/workers/cartoVectorTile.ts +4 -0
- package/typed/api/layer-map.d.ts +2 -3
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-api-common.d.ts +0 -1
- package/typed/api/maps-api-common.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts +0 -3
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +6 -4
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts +5 -8
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts +5 -9
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/raster-tile-layer.d.ts +6 -10
- package/typed/layers/raster-tile-layer.d.ts.map +1 -1
- package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
- package/typed/layers/utils.d.ts +5 -0
- package/typed/layers/utils.d.ts.map +1 -0
- package/typed/layers/{carto-tile-layer.d.ts → vector-tile-layer.d.ts} +11 -7
- package/typed/layers/vector-tile-layer.d.ts.map +1 -0
- package/typed/sources/base-source.d.ts +4 -0
- package/typed/sources/base-source.d.ts.map +1 -0
- package/typed/sources/common.d.ts +116 -0
- package/typed/sources/common.d.ts.map +1 -0
- package/typed/sources/h3-query-source.d.ts +5 -0
- package/typed/sources/h3-query-source.d.ts.map +1 -0
- package/typed/sources/h3-table-source.d.ts +5 -0
- package/typed/sources/h3-table-source.d.ts.map +1 -0
- package/typed/sources/h3-tileset-source.d.ts +5 -0
- package/typed/sources/h3-tileset-source.d.ts.map +1 -0
- package/typed/sources/index.d.ts +23 -0
- package/typed/sources/index.d.ts.map +1 -0
- package/typed/sources/quadbin-query-source.d.ts +5 -0
- package/typed/sources/quadbin-query-source.d.ts.map +1 -0
- package/typed/sources/quadbin-table-source.d.ts +5 -0
- package/typed/sources/quadbin-table-source.d.ts.map +1 -0
- package/typed/sources/quadbin-tileset-source.d.ts +5 -0
- package/typed/sources/quadbin-tileset-source.d.ts.map +1 -0
- package/typed/sources/raster-source.d.ts +5 -0
- package/typed/sources/raster-source.d.ts.map +1 -0
- package/typed/sources/utils.d.ts +15 -0
- package/typed/sources/utils.d.ts.map +1 -0
- package/typed/sources/vector-query-source.d.ts +5 -0
- package/typed/sources/vector-query-source.d.ts.map +1 -0
- package/typed/sources/vector-table-source.d.ts +5 -0
- package/typed/sources/vector-table-source.d.ts.map +1 -0
- package/typed/sources/vector-tileset-source.d.ts +5 -0
- package/typed/sources/vector-tileset-source.d.ts.map +1 -0
- package/typed/utils.d.ts +1 -0
- package/typed/utils.d.ts.map +1 -1
- package/typed/workers/cartoRasterTile.d.ts +2 -0
- package/typed/workers/cartoRasterTile.d.ts.map +1 -0
- package/typed/workers/cartoSpatialTile.d.ts +2 -0
- package/typed/workers/cartoSpatialTile.d.ts.map +1 -0
- package/typed/workers/cartoVectorTile.d.ts +2 -0
- package/typed/workers/cartoVectorTile.d.ts.map +1 -0
- package/dist/es5/layers/carto-tile-layer.js.map +0 -1
- package/dist/esm/layers/carto-tile-layer.js.map +0 -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.d.ts.map +0 -1
- 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/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","read","readVarint","pos","DoublesReader","size","Float32Array","Float64Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\n\n// 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 class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\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 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) readPackedTypedArray(Float64Array, pbf, obj);\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) readPackedTypedArray(Float64Array, pbf, obj);\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: Record<string, string>[];\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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","read","readVarint","pos","DoublesReader","size","Float32Array","Float64Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\n\n// 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: null}, 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 class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\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 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) readPackedTypedArray(Float64Array, pbf, obj);\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) readPackedTypedArray(Float64Array, pbf, obj);\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: Record<string, string>[];\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"}
|
|
@@ -11,19 +11,29 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
|
|
12
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
13
|
|
|
14
|
+
var _earcut = _interopRequireDefault(require("earcut"));
|
|
15
|
+
|
|
14
16
|
var _cartoTile = require("./carto-tile");
|
|
15
17
|
|
|
16
18
|
var _tileLoaderUtils = require("./tile-loader-utils");
|
|
17
19
|
|
|
20
|
+
var _utils = require("../../utils");
|
|
21
|
+
|
|
22
|
+
var VERSION = typeof "8.10.0-alpha.4" !== 'undefined' ? "8.10.0-alpha.4" : 'latest';
|
|
23
|
+
var id = 'cartoVectorTile';
|
|
24
|
+
var DEFAULT_OPTIONS = {
|
|
25
|
+
cartoVectorTile: {
|
|
26
|
+
workerUrl: (0, _utils.getWorkerUrl)(id, VERSION)
|
|
27
|
+
}
|
|
28
|
+
};
|
|
18
29
|
var CartoVectorTileLoader = {
|
|
19
30
|
name: 'CARTO Vector Tile',
|
|
20
|
-
version:
|
|
21
|
-
id:
|
|
31
|
+
version: VERSION,
|
|
32
|
+
id: id,
|
|
22
33
|
module: 'carto',
|
|
23
34
|
extensions: ['pbf'],
|
|
24
35
|
mimeTypes: ['application/vnd.carto-vector-tile'],
|
|
25
36
|
category: 'geometry',
|
|
26
|
-
worker: false,
|
|
27
37
|
parse: function () {
|
|
28
38
|
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
29
39
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
@@ -47,12 +57,62 @@ var CartoVectorTileLoader = {
|
|
|
47
57
|
return parse;
|
|
48
58
|
}(),
|
|
49
59
|
parseSync: parseCartoVectorTile,
|
|
50
|
-
|
|
60
|
+
worker: true,
|
|
61
|
+
options: DEFAULT_OPTIONS
|
|
51
62
|
};
|
|
52
63
|
|
|
64
|
+
function triangulatePolygon(polygons, target, _ref) {
|
|
65
|
+
var startPosition = _ref.startPosition,
|
|
66
|
+
endPosition = _ref.endPosition,
|
|
67
|
+
indices = _ref.indices;
|
|
68
|
+
var coordLength = polygons.positions.size;
|
|
69
|
+
var start = startPosition * coordLength;
|
|
70
|
+
var end = endPosition * coordLength;
|
|
71
|
+
var polygonPositions = polygons.positions.value.subarray(start, end);
|
|
72
|
+
var holes = indices.slice(1).map(function (n) {
|
|
73
|
+
return n - startPosition;
|
|
74
|
+
});
|
|
75
|
+
var triangles = (0, _earcut.default)(polygonPositions, holes, coordLength);
|
|
76
|
+
|
|
77
|
+
for (var t = 0, tl = triangles.length; t < tl; ++t) {
|
|
78
|
+
target.push(startPosition + triangles[t]);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function triangulate(polygons) {
|
|
83
|
+
var polygonIndices = polygons.polygonIndices,
|
|
84
|
+
positions = polygons.positions,
|
|
85
|
+
primitivePolygonIndices = polygons.primitivePolygonIndices;
|
|
86
|
+
var triangles = [];
|
|
87
|
+
var rangeStart = 0;
|
|
88
|
+
|
|
89
|
+
for (var i = 0; i < polygonIndices.value.length - 1; i++) {
|
|
90
|
+
var startPosition = polygonIndices.value[i];
|
|
91
|
+
var endPosition = polygonIndices.value[i + 1];
|
|
92
|
+
var rangeEnd = primitivePolygonIndices.value.indexOf(endPosition);
|
|
93
|
+
var indices = primitivePolygonIndices.value.subarray(rangeStart, rangeEnd);
|
|
94
|
+
rangeStart = rangeEnd;
|
|
95
|
+
triangulatePolygon(polygons, triangles, {
|
|
96
|
+
startPosition: startPosition,
|
|
97
|
+
endPosition: endPosition,
|
|
98
|
+
indices: indices
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
polygons.triangles = {
|
|
103
|
+
value: new Uint32Array(triangles),
|
|
104
|
+
size: 1
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
53
108
|
function parseCartoVectorTile(arrayBuffer, options) {
|
|
54
109
|
if (!arrayBuffer) return null;
|
|
55
110
|
var tile = (0, _tileLoaderUtils.parsePbf)(arrayBuffer, _cartoTile.TileReader);
|
|
111
|
+
|
|
112
|
+
if (tile.polygons && !tile.polygons.triangles) {
|
|
113
|
+
triangulate(tile.polygons);
|
|
114
|
+
}
|
|
115
|
+
|
|
56
116
|
return tile;
|
|
57
117
|
}
|
|
58
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-vector-tile-loader.ts"],"names":["CartoVectorTileLoader","name","version","
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-vector-tile-loader.ts"],"names":["VERSION","id","DEFAULT_OPTIONS","cartoVectorTile","workerUrl","CartoVectorTileLoader","name","version","module","extensions","mimeTypes","category","parse","arrayBuffer","options","parseCartoVectorTile","parseSync","worker","triangulatePolygon","polygons","target","startPosition","endPosition","indices","coordLength","positions","size","start","end","polygonPositions","value","subarray","holes","slice","map","n","triangles","t","tl","length","push","triangulate","polygonIndices","primitivePolygonIndices","rangeStart","i","rangeEnd","indexOf","Uint32Array","tile","TileReader"],"mappings":"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","sourcesContent":["import earcut from 'earcut';\nimport {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {BinaryFeatures, BinaryPolygonFeatures, TypedArray} from '@loaders.gl/schema';\n\nimport {TileReader} from './carto-tile';\nimport {parsePbf} from './tile-loader-utils';\nimport {getWorkerUrl} from '../../utils';\n\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\nconst id = 'cartoVectorTile';\n\ntype CartoVectorTileLoaderOptions = LoaderOptions & {\n cartoVectorTile?: {\n workerUrl: string;\n };\n};\n\nconst DEFAULT_OPTIONS: CartoVectorTileLoaderOptions = {\n cartoVectorTile: {\n workerUrl: getWorkerUrl(id, VERSION)\n }\n};\n\nconst CartoVectorTileLoader: LoaderWithParser = {\n name: 'CARTO Vector Tile',\n version: VERSION,\n id,\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/vnd.carto-vector-tile'],\n category: 'geometry',\n parse: async (arrayBuffer, options?: CartoVectorTileLoaderOptions) =>\n parseCartoVectorTile(arrayBuffer, options),\n parseSync: parseCartoVectorTile,\n worker: true,\n options: DEFAULT_OPTIONS\n};\n\nfunction triangulatePolygon(\n polygons: BinaryPolygonFeatures,\n target: number[],\n {\n startPosition,\n endPosition,\n indices\n }: {startPosition: number; endPosition: number; indices: TypedArray}\n): void {\n const coordLength = polygons.positions.size;\n const start = startPosition * coordLength;\n const end = endPosition * coordLength;\n\n // Extract positions and holes for just this polygon\n const polygonPositions = polygons.positions.value.subarray(start, end);\n\n // Holes are referenced relative to outer polygon\n const holes = indices.slice(1).map((n: number) => n - startPosition);\n\n // Compute triangulation\n const triangles = earcut(polygonPositions, holes, coordLength);\n\n // Indices returned by triangulation are relative to start\n // of polygon, so we need to offset\n for (let t = 0, tl = triangles.length; t < tl; ++t) {\n target.push(startPosition + triangles[t]);\n }\n}\n\nfunction triangulate(polygons: BinaryPolygonFeatures) {\n const {polygonIndices, positions, primitivePolygonIndices} = polygons;\n const triangles = [];\n\n let rangeStart = 0;\n for (let i = 0; i < polygonIndices.value.length - 1; i++) {\n const startPosition = polygonIndices.value[i];\n const endPosition = polygonIndices.value[i + 1];\n\n // Extract hole indices between start & end position\n const rangeEnd = primitivePolygonIndices.value.indexOf(endPosition);\n const indices = primitivePolygonIndices.value.subarray(rangeStart, rangeEnd);\n rangeStart = rangeEnd;\n\n triangulatePolygon(polygons, triangles, {startPosition, endPosition, indices});\n }\n\n polygons.triangles = {value: new Uint32Array(triangles), size: 1};\n}\n\nfunction parseCartoVectorTile(\n arrayBuffer: ArrayBuffer,\n options?: CartoVectorTileLoaderOptions\n): BinaryFeatures | null {\n if (!arrayBuffer) return null;\n const tile = parsePbf(arrayBuffer, TileReader);\n\n if (tile.polygons && !tile.polygons.triangles) {\n triangulate(tile.polygons);\n }\n\n return tile;\n}\n\nexport default CartoVectorTileLoader;\n"],"file":"carto-vector-tile-loader.js"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.injectAccessToken = injectAccessToken;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
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; }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
function injectAccessToken(loadOptions, accessToken) {
|
|
17
|
+
var _loadOptions$fetch, _loadOptions$fetch$he;
|
|
18
|
+
|
|
19
|
+
if (!(loadOptions !== null && loadOptions !== void 0 && (_loadOptions$fetch = loadOptions.fetch) !== null && _loadOptions$fetch !== void 0 && (_loadOptions$fetch$he = _loadOptions$fetch.headers) !== null && _loadOptions$fetch$he !== void 0 && _loadOptions$fetch$he.Authorization)) {
|
|
20
|
+
var _loadOptions$fetch2;
|
|
21
|
+
|
|
22
|
+
loadOptions.fetch = _objectSpread(_objectSpread({}, loadOptions.fetch), {}, {
|
|
23
|
+
headers: _objectSpread(_objectSpread({}, (_loadOptions$fetch2 = loadOptions.fetch) === null || _loadOptions$fetch2 === void 0 ? void 0 : _loadOptions$fetch2.headers), {}, {
|
|
24
|
+
Authorization: "Bearer ".concat(accessToken)
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/utils.ts"],"names":["injectAccessToken","loadOptions","accessToken","fetch","headers","Authorization"],"mappings":";;;;;;;;;;;;;;;AAGO,SAASA,iBAAT,CAA2BC,WAA3B,EAA6CC,WAA7C,EAAwE;AAAA;;AAC7E,MAAI,EAACD,WAAD,aAACA,WAAD,qCAACA,WAAW,CAAEE,KAAd,wEAAC,mBAAoBC,OAArB,kDAAC,sBAA6BC,aAA9B,CAAJ,EAAiD;AAAA;;AAC/CJ,IAAAA,WAAW,CAACE,KAAZ,mCACKF,WAAW,CAACE,KADjB;AAEEC,MAAAA,OAAO,yDAAMH,WAAW,CAACE,KAAlB,wDAAM,oBAAmBC,OAAzB;AAAkCC,QAAAA,aAAa,mBAAYH,WAAZ;AAA/C;AAFT;AAID;AACF","sourcesContent":["/**\n * Adds access token to Authorization header in loadOptions\n */\nexport function injectAccessToken(loadOptions: any, accessToken: string): void {\n if (!loadOptions?.fetch?.headers?.Authorization) {\n loadOptions.fetch = {\n ...loadOptions.fetch,\n headers: {...loadOptions.fetch?.headers, Authorization: `Bearer ${accessToken}`}\n };\n }\n}\n"],"file":"utils.js"}
|
|
@@ -37,6 +37,10 @@ var _gis = require("@loaders.gl/gis");
|
|
|
37
37
|
|
|
38
38
|
var _mapsApiCommon = require("../api/maps-api-common");
|
|
39
39
|
|
|
40
|
+
var _common = require("../sources/common");
|
|
41
|
+
|
|
42
|
+
var _utils = require("./utils");
|
|
43
|
+
|
|
40
44
|
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); }; }
|
|
41
45
|
|
|
42
46
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -49,28 +53,54 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
49
53
|
var defaultTileFormat = _mapsApiCommon.TILE_FORMATS.BINARY;
|
|
50
54
|
|
|
51
55
|
var defaultProps = _objectSpread(_objectSpread({}, _geoLayers.MVTLayer.defaultProps), {}, {
|
|
56
|
+
data: _common.TilejsonPropType,
|
|
52
57
|
formatTiles: defaultTileFormat
|
|
53
58
|
});
|
|
54
59
|
|
|
55
|
-
var
|
|
56
|
-
(0, _inherits2.default)(
|
|
60
|
+
var VectorTileLayer = function (_MVTLayer) {
|
|
61
|
+
(0, _inherits2.default)(VectorTileLayer, _MVTLayer);
|
|
57
62
|
|
|
58
|
-
var _super = _createSuper(
|
|
63
|
+
var _super = _createSuper(VectorTileLayer);
|
|
59
64
|
|
|
60
|
-
function
|
|
61
|
-
(0, _classCallCheck2.default)(this,
|
|
65
|
+
function VectorTileLayer() {
|
|
66
|
+
(0, _classCallCheck2.default)(this, VectorTileLayer);
|
|
62
67
|
return _super.apply(this, arguments);
|
|
63
68
|
}
|
|
64
69
|
|
|
65
|
-
(0, _createClass2.default)(
|
|
70
|
+
(0, _createClass2.default)(VectorTileLayer, [{
|
|
66
71
|
key: "initializeState",
|
|
67
72
|
value: function initializeState() {
|
|
68
|
-
(0, _get2.default)((0, _getPrototypeOf2.default)(
|
|
69
|
-
var binary = this.props.formatTiles === _mapsApiCommon.TILE_FORMATS.BINARY;
|
|
73
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "initializeState", this).call(this);
|
|
74
|
+
var binary = this.props.formatTiles === _mapsApiCommon.TILE_FORMATS.BINARY || _mapsApiCommon.TILE_FORMATS.MVT;
|
|
70
75
|
this.setState({
|
|
71
76
|
binary: binary
|
|
72
77
|
});
|
|
73
78
|
}
|
|
79
|
+
}, {
|
|
80
|
+
key: "updateState",
|
|
81
|
+
value: function updateState(parameters) {
|
|
82
|
+
var props = parameters.props;
|
|
83
|
+
|
|
84
|
+
if (props.data) {
|
|
85
|
+
(0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "updateState", this).call(this, parameters);
|
|
86
|
+
var formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');
|
|
87
|
+
var mvt = formatTiles === _mapsApiCommon.TILE_FORMATS.MVT;
|
|
88
|
+
this.setState({
|
|
89
|
+
mvt: mvt
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}, {
|
|
94
|
+
key: "getLoadOptions",
|
|
95
|
+
value: function getLoadOptions() {
|
|
96
|
+
var loadOptions = (0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "getLoadOptions", this).call(this) || {};
|
|
97
|
+
var tileJSON = this.props.data;
|
|
98
|
+
(0, _utils.injectAccessToken)(loadOptions, tileJSON.accessToken);
|
|
99
|
+
loadOptions.gis = {
|
|
100
|
+
format: 'binary'
|
|
101
|
+
};
|
|
102
|
+
return loadOptions;
|
|
103
|
+
}
|
|
74
104
|
}, {
|
|
75
105
|
key: "getTileData",
|
|
76
106
|
value: function getTileData(tile) {
|
|
@@ -81,17 +111,8 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
81
111
|
}
|
|
82
112
|
|
|
83
113
|
var loadOptions = this.getLoadOptions();
|
|
84
|
-
var
|
|
85
|
-
fetch = _this$props.fetch,
|
|
86
|
-
formatTiles = _this$props.formatTiles;
|
|
114
|
+
var fetch = this.props.fetch;
|
|
87
115
|
var signal = tile.signal;
|
|
88
|
-
|
|
89
|
-
if (formatTiles === _mapsApiCommon.TILE_FORMATS.BINARY) {
|
|
90
|
-
loadOptions = _objectSpread(_objectSpread({}, loadOptions), {}, {
|
|
91
|
-
mimeType: 'application/vnd.carto-vector-tile'
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
|
|
95
116
|
return fetch(url, {
|
|
96
117
|
propName: 'data',
|
|
97
118
|
layer: this,
|
|
@@ -106,6 +127,10 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
106
127
|
return null;
|
|
107
128
|
}
|
|
108
129
|
|
|
130
|
+
if (this.state.mvt) {
|
|
131
|
+
return (0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "renderSubLayers", this).call(this, props);
|
|
132
|
+
}
|
|
133
|
+
|
|
109
134
|
var tileBbox = props.tile.bbox;
|
|
110
135
|
var west = tileBbox.west,
|
|
111
136
|
south = tileBbox.south,
|
|
@@ -124,7 +149,7 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
124
149
|
}, {
|
|
125
150
|
key: "getPickingInfo",
|
|
126
151
|
value: function getPickingInfo(params) {
|
|
127
|
-
var info = (0, _get2.default)((0, _getPrototypeOf2.default)(
|
|
152
|
+
var info = (0, _get2.default)((0, _getPrototypeOf2.default)(VectorTileLayer.prototype), "getPickingInfo", this).call(this, params);
|
|
128
153
|
|
|
129
154
|
if (this.state.binary && info.index !== -1) {
|
|
130
155
|
var data = params.sourceLayer.props.data;
|
|
@@ -136,10 +161,10 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
136
161
|
return info;
|
|
137
162
|
}
|
|
138
163
|
}]);
|
|
139
|
-
return
|
|
164
|
+
return VectorTileLayer;
|
|
140
165
|
}(_geoLayers.MVTLayer);
|
|
141
166
|
|
|
142
|
-
exports.default =
|
|
143
|
-
(0, _defineProperty2.default)(
|
|
144
|
-
(0, _defineProperty2.default)(
|
|
145
|
-
//# sourceMappingURL=
|
|
167
|
+
exports.default = VectorTileLayer;
|
|
168
|
+
(0, _defineProperty2.default)(VectorTileLayer, "layerName", 'VectorTileLayer');
|
|
169
|
+
(0, _defineProperty2.default)(VectorTileLayer, "defaultProps", defaultProps);
|
|
170
|
+
//# sourceMappingURL=vector-tile-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/vector-tile-layer.ts"],"names":["CartoVectorTileLoader","defaultTileFormat","TILE_FORMATS","BINARY","defaultProps","MVTLayer","data","TilejsonPropType","formatTiles","VectorTileLayer","binary","props","MVT","setState","parameters","URL","tiles","searchParams","get","mvt","loadOptions","tileJSON","accessToken","gis","format","tile","url","state","Promise","reject","getLoadOptions","fetch","signal","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;;AAEA;;AACA;;;;;;;;;;AAlBA,2BAAgB,CAACA,8BAAD,CAAhB;AAoBA,IAAMC,iBAAiB,GAAGC,4BAAaC,MAAvC;;AAEA,IAAMC,YAAgD,mCACjDC,oBAASD,YADwC;AAEpDE,EAAAA,IAAI,EAAEC,wBAF8C;AAGpDC,EAAAA,WAAW,EAAEP;AAHuC,EAAtD;;IAuBqBQ,e;;;;;;;;;;;;WAMnB,2BAAwB;AACtB;AACA,UAAMC,MAAM,GAAG,KAAKC,KAAL,CAAWH,WAAX,KAA2BN,4BAAaC,MAAxC,IAAkDD,4BAAaU,GAA9E;AACA,WAAKC,QAAL,CAAc;AAACH,QAAAA,MAAM,EAANA;AAAD,OAAd;AACD;;;WAED,qBAAYI,UAAZ,EAAwB;AACtB,UAAOH,KAAP,GAAgBG,UAAhB,CAAOH,KAAP;;AACA,UAAIA,KAAK,CAACL,IAAV,EAAgB;AACd,qHAAkBQ,UAAlB;AAEA,YAAMN,WAAW,GAAG,IAAIO,GAAJ,CAAQJ,KAAK,CAACL,IAAN,CAAWU,KAAX,CAAiB,CAAjB,CAAR,EAA6BC,YAA7B,CAA0CC,GAA1C,CAA8C,aAA9C,CAApB;AACA,YAAMC,GAAG,GAAGX,WAAW,KAAKN,4BAAaU,GAAzC;AACA,aAAKC,QAAL,CAAc;AAACM,UAAAA,GAAG,EAAHA;AAAD,SAAd;AACD;AACF;;;WAED,0BAAsB;AACpB,UAAMC,WAAW,GAAG,mHAA0B,EAA9C;AACA,UAAMC,QAAQ,GAAG,KAAKV,KAAL,CAAWL,IAA5B;AACA,oCAAkBc,WAAlB,EAA+BC,QAAQ,CAACC,WAAxC;AACAF,MAAAA,WAAW,CAACG,GAAZ,GAAkB;AAACC,QAAAA,MAAM,EAAE;AAAT,OAAlB;AACA,aAAOJ,WAAP;AACD;;;WAED,qBAAYK,IAAZ,EAAiC;AAC/B,UAAMC,GAAG,GAAG,oCAAoB,KAAKC,KAAL,CAAWrB,IAA/B,EAAqCmB,IAArC,CAAZ;;AACA,UAAI,CAACC,GAAL,EAAU;AACR,eAAOE,OAAO,CAACC,MAAR,CAAe,aAAf,CAAP;AACD;;AAED,UAAMT,WAAW,GAAG,KAAKU,cAAL,EAApB;AACA,UAAOC,KAAP,GAAgB,KAAKpB,KAArB,CAAOoB,KAAP;AACA,UAAOC,MAAP,GAAiBP,IAAjB,CAAOO,MAAP;AACA,aAAOD,KAAK,CAACL,GAAD,EAAM;AAACO,QAAAA,QAAQ,EAAE,MAAX;AAAmBC,QAAAA,KAAK,EAAE,IAA1B;AAAgCd,QAAAA,WAAW,EAAXA,WAAhC;AAA6CY,QAAAA,MAAM,EAANA;AAA7C,OAAN,CAAZ;AACD;;;WAED,yBACErB,KADF,EAOuB;AACrB,UAAIA,KAAK,CAACL,IAAN,KAAe,IAAnB,EAAyB;AACvB,eAAO,IAAP;AACD;;AAED,UAAI,KAAKqB,KAAL,CAAWR,GAAf,EAAoB;AAClB,gIAA6BR,KAA7B;AACD;;AAED,UAAMwB,QAAQ,GAAGxB,KAAK,CAACc,IAAN,CAAWW,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,mCACd9B,KADc;AAEjB+B,QAAAA,aAAa,EAAE,KAFE;AAGjBC,QAAAA,UAAU,GAAG,IAAIC,yBAAJ,EAAH,0CAA4BjC,KAAK,CAACgC,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,mHAAwBD,MAAxB,CAAV;;AAEA,UAAI,KAAKrB,KAAL,CAAWjB,MAAX,IAAqBuC,IAAI,CAACC,KAAL,KAAe,CAAC,CAAzC,EAA4C;AAC1C,YAAO5C,IAAP,GAAe0C,MAAM,CAACG,WAAP,CAAoBxC,KAAnC,CAAOL,IAAP;AACA2C,QAAAA,IAAI,CAACG,MAAL,GAAc,0BAAgB9C,IAAhB,EAAwC;AACpD+C,UAAAA,eAAe,EAAEJ,IAAI,CAACC;AAD8B,SAAxC,CAAd;AAGD;;AAED,aAAOD,IAAP;AACD;;;EApFsE5C,mB;;;8BAApDI,e,eAGA,iB;8BAHAA,e,kBAIGL,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} 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';\nimport {TilejsonPropType, CartoTilejsonResult} from '../sources/common';\nimport {injectAccessToken} from './utils';\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst defaultProps: DefaultProps<VectorTileLayerProps> = {\n ...MVTLayer.defaultProps,\n data: TilejsonPropType,\n formatTiles: defaultTileFormat\n};\n\n/** All properties supported by VectorTileLayer. */\nexport type VectorTileLayerProps = _VectorTileLayerProps & Omit<MVTLayerProps, 'data'>;\n\n/** Properties added by VectorTileLayer. */\ntype _VectorTileLayerProps = {\n data: null | CartoTilejsonResult | Promise<CartoTilejsonResult>;\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\n// TODO Perhaps we can't subclass MVTLayer and keep types. Better to subclass TileLayer instead?\n// @ts-ignore\nexport default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLayer<\n Required<_VectorTileLayerProps> & ExtraProps\n> {\n static layerName = 'VectorTileLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n super.initializeState();\n const binary = this.props.formatTiles === TILE_FORMATS.BINARY || TILE_FORMATS.MVT;\n this.setState({binary});\n }\n\n updateState(parameters) {\n const {props} = parameters;\n if (props.data) {\n super.updateState(parameters);\n\n const formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');\n const mvt = formatTiles === TILE_FORMATS.MVT;\n this.setState({mvt});\n }\n }\n\n getLoadOptions(): any {\n const loadOptions = super.getLoadOptions() || {};\n const tileJSON = this.props.data as CartoTilejsonResult;\n injectAccessToken(loadOptions, tileJSON.accessToken);\n loadOptions.gis = {format: 'binary'}; // Use binary for MVT loading\n return loadOptions;\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 const loadOptions = this.getLoadOptions();\n const {fetch} = this.props;\n const {signal} = tile;\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 if (this.state.mvt) {\n return super.renderSubLayers(props) as GeoJsonLayer;\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, {\n globalFeatureId: info.index\n }) as Feature;\n }\n\n return info;\n }\n}\n"],"file":"vector-tile-layer.js"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.cartoBaseSource = cartoBaseSource;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _common = require("./common");
|
|
17
|
+
|
|
18
|
+
var _utils = require("./utils");
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
function cartoBaseSource(_x, _x2, _x3) {
|
|
25
|
+
return _cartoBaseSource.apply(this, arguments);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function _cartoBaseSource() {
|
|
29
|
+
_cartoBaseSource = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(endpoint, options, urlParameters) {
|
|
30
|
+
var mergedOptions, baseUrl, accessToken, format, headers, errorContext, mapInstantiation, dataUrl, tilejson;
|
|
31
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
32
|
+
while (1) {
|
|
33
|
+
switch (_context.prev = _context.next) {
|
|
34
|
+
case 0:
|
|
35
|
+
mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, _common.SOURCE_DEFAULTS), options), {}, {
|
|
36
|
+
endpoint: endpoint
|
|
37
|
+
});
|
|
38
|
+
baseUrl = (0, _utils.buildApiEndpoint)(mergedOptions);
|
|
39
|
+
accessToken = mergedOptions.accessToken, format = mergedOptions.format;
|
|
40
|
+
headers = _objectSpread({
|
|
41
|
+
Authorization: "Bearer ".concat(options.accessToken)
|
|
42
|
+
}, options.headers);
|
|
43
|
+
errorContext = {
|
|
44
|
+
requestType: 'Map instantiation',
|
|
45
|
+
connection: options.connectionName,
|
|
46
|
+
type: endpoint,
|
|
47
|
+
source: JSON.stringify(urlParameters, undefined, 2)
|
|
48
|
+
};
|
|
49
|
+
_context.next = 7;
|
|
50
|
+
return (0, _utils.requestWithParameters)({
|
|
51
|
+
baseUrl: baseUrl,
|
|
52
|
+
parameters: urlParameters,
|
|
53
|
+
headers: headers,
|
|
54
|
+
errorContext: errorContext
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
case 7:
|
|
58
|
+
mapInstantiation = _context.sent;
|
|
59
|
+
dataUrl = mapInstantiation[format].url[0];
|
|
60
|
+
errorContext.requestType = 'Map data';
|
|
61
|
+
|
|
62
|
+
if (!(format === 'tilejson')) {
|
|
63
|
+
_context.next = 15;
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
_context.next = 13;
|
|
68
|
+
return (0, _utils.requestWithParameters)({
|
|
69
|
+
baseUrl: dataUrl,
|
|
70
|
+
headers: headers,
|
|
71
|
+
errorContext: errorContext
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
case 13:
|
|
75
|
+
tilejson = _context.sent;
|
|
76
|
+
return _context.abrupt("return", _objectSpread(_objectSpread({}, tilejson), {}, {
|
|
77
|
+
accessToken: accessToken
|
|
78
|
+
}));
|
|
79
|
+
|
|
80
|
+
case 15:
|
|
81
|
+
_context.next = 17;
|
|
82
|
+
return (0, _utils.requestWithParameters)({
|
|
83
|
+
baseUrl: dataUrl,
|
|
84
|
+
headers: headers,
|
|
85
|
+
errorContext: errorContext
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
case 17:
|
|
89
|
+
return _context.abrupt("return", _context.sent);
|
|
90
|
+
|
|
91
|
+
case 18:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context.stop();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}, _callee);
|
|
97
|
+
}));
|
|
98
|
+
return _cartoBaseSource.apply(this, arguments);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=base-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["cartoBaseSource","endpoint","options","urlParameters","mergedOptions","SOURCE_DEFAULTS","baseUrl","accessToken","format","headers","Authorization","errorContext","requestType","connection","connectionName","type","source","JSON","stringify","undefined","parameters","mapInstantiation","dataUrl","url","tilejson"],"mappings":";;;;;;;;;;;;;;;AAEA;;AAUA;;;;;;SAEsBA,e;;;;;+EAAf,iBACLC,QADK,EAELC,OAFK,EAGLC,aAHK;AAAA;AAAA;AAAA;AAAA;AAAA;AAKCC,YAAAA,aALD,iDAKqBC,uBALrB,GAKyCH,OALzC;AAKkDD,cAAAA,QAAQ,EAARA;AALlD;AAMCK,YAAAA,OAND,GAMW,6BAAiBF,aAAjB,CANX;AAOEG,YAAAA,WAPF,GAOyBH,aAPzB,CAOEG,WAPF,EAOeC,MAPf,GAOyBJ,aAPzB,CAOeI,MAPf;AAQCC,YAAAA,OARD;AAQYC,cAAAA,aAAa,mBAAYR,OAAO,CAACK,WAApB;AARzB,eAQ+DL,OAAO,CAACO,OARvE;AAUCE,YAAAA,YAVD,GAUiC;AACpCC,cAAAA,WAAW,EAAE,mBADuB;AAEpCC,cAAAA,UAAU,EAAEX,OAAO,CAACY,cAFgB;AAGpCC,cAAAA,IAAI,EAAEd,QAH8B;AAIpCe,cAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAef,aAAf,EAA8BgB,SAA9B,EAAyC,CAAzC;AAJ4B,aAVjC;AAAA;AAAA,mBAgB0B,kCAAgD;AAC7Eb,cAAAA,OAAO,EAAPA,OAD6E;AAE7Ec,cAAAA,UAAU,EAAEjB,aAFiE;AAG7EM,cAAAA,OAAO,EAAPA,OAH6E;AAI7EE,cAAAA,YAAY,EAAZA;AAJ6E,aAAhD,CAhB1B;;AAAA;AAgBCU,YAAAA,gBAhBD;AAuBCC,YAAAA,OAvBD,GAuBWD,gBAAgB,CAACb,MAAD,CAAhB,CAAyBe,GAAzB,CAA6B,CAA7B,CAvBX;AAwBLZ,YAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAxBK,kBA0BDJ,MAAM,KAAK,UA1BV;AAAA;AAAA;AAAA;;AAAA;AAAA,mBA2BoB,kCAAgC;AACrDF,cAAAA,OAAO,EAAEgB,OAD4C;AAErDb,cAAAA,OAAO,EAAPA,OAFqD;AAGrDE,cAAAA,YAAY,EAAZA;AAHqD,aAAhC,CA3BpB;;AAAA;AA2BGa,YAAAA,QA3BH;AAAA,6EAgCQA,QAhCR;AAgCkBjB,cAAAA,WAAW,EAAXA;AAhClB;;AAAA;AAAA;AAAA,mBAmCQ,kCAAkD;AAC7DD,cAAAA,OAAO,EAAEgB,OADoD;AAE7Db,cAAAA,OAAO,EAAPA,OAF6D;AAG7DE,cAAAA,YAAY,EAAZA;AAH6D,aAAlD,CAnCR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import type {MapType} from '../api/maps-api-common';\nimport {APIErrorContext} from '../api/carto-api-error';\nimport {\n CartoSourceOptionalOptions,\n CartoSourceRequiredOptions,\n CartoTilejsonResult,\n GeojsonResult,\n JsonResult,\n SOURCE_DEFAULTS,\n Tilejson,\n TilejsonMapInstantiation\n} from './common';\nimport {buildApiEndpoint, requestWithParameters} from './utils';\n\nexport async function cartoBaseSource<UrlParameters extends Record<string, string>>(\n endpoint: MapType,\n options: Partial<CartoSourceOptionalOptions> & CartoSourceRequiredOptions,\n urlParameters: UrlParameters\n): Promise<CartoTilejsonResult | GeojsonResult | JsonResult> {\n const mergedOptions = {...SOURCE_DEFAULTS, ...options, endpoint};\n const baseUrl = buildApiEndpoint(mergedOptions);\n const {accessToken, format} = mergedOptions;\n const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};\n\n const errorContext: APIErrorContext = {\n requestType: 'Map instantiation',\n connection: options.connectionName,\n type: endpoint,\n source: JSON.stringify(urlParameters, undefined, 2)\n };\n const mapInstantiation = await requestWithParameters<TilejsonMapInstantiation>({\n baseUrl,\n parameters: urlParameters,\n headers,\n errorContext\n });\n\n const dataUrl = mapInstantiation[format].url[0];\n errorContext.requestType = 'Map data';\n\n if (format === 'tilejson') {\n const tilejson = await requestWithParameters<Tilejson>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n return {...tilejson, accessToken};\n }\n\n return await requestWithParameters<GeojsonResult | JsonResult>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n}\n"],"file":"base-source.js"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TilejsonPropType = exports.DEFAULT_HEADERS = exports.DEFAULT_PARAMETERS = exports.MAX_GET_LENGTH = exports.V3_MINOR_VERSION = exports.DEFAULT_CLIENT = exports.SOURCE_DEFAULTS = void 0;
|
|
9
|
+
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
12
|
+
var SOURCE_DEFAULTS = {
|
|
13
|
+
apiBaseUrl: 'https://gcp-us-east1.api.carto.com',
|
|
14
|
+
clientId: 'deck-gl-carto',
|
|
15
|
+
format: 'tilejson',
|
|
16
|
+
formatTiles: 'binary',
|
|
17
|
+
headers: {}
|
|
18
|
+
};
|
|
19
|
+
exports.SOURCE_DEFAULTS = SOURCE_DEFAULTS;
|
|
20
|
+
var DEFAULT_CLIENT = 'deck-gl-carto';
|
|
21
|
+
exports.DEFAULT_CLIENT = DEFAULT_CLIENT;
|
|
22
|
+
var V3_MINOR_VERSION = '3.2';
|
|
23
|
+
exports.V3_MINOR_VERSION = V3_MINOR_VERSION;
|
|
24
|
+
var MAX_GET_LENGTH = 8192;
|
|
25
|
+
exports.MAX_GET_LENGTH = MAX_GET_LENGTH;
|
|
26
|
+
var DEFAULT_PARAMETERS = {
|
|
27
|
+
client: DEFAULT_CLIENT,
|
|
28
|
+
v: V3_MINOR_VERSION
|
|
29
|
+
};
|
|
30
|
+
exports.DEFAULT_PARAMETERS = DEFAULT_PARAMETERS;
|
|
31
|
+
var DEFAULT_HEADERS = {
|
|
32
|
+
Accept: 'application/json',
|
|
33
|
+
'Content-Type': 'application/json'
|
|
34
|
+
};
|
|
35
|
+
exports.DEFAULT_HEADERS = DEFAULT_HEADERS;
|
|
36
|
+
var TilejsonPropType = {
|
|
37
|
+
type: 'object',
|
|
38
|
+
value: null,
|
|
39
|
+
validate: function validate(value, propType) {
|
|
40
|
+
return propType.optional && value === null || (0, _typeof2.default)(value) === 'object' && Array.isArray(value.tiles) && value.tiles.every(function (url) {
|
|
41
|
+
return typeof url === 'string';
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
compare: 2,
|
|
45
|
+
async: true
|
|
46
|
+
};
|
|
47
|
+
exports.TilejsonPropType = TilejsonPropType;
|
|
48
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/common.ts"],"names":["SOURCE_DEFAULTS","apiBaseUrl","clientId","format","formatTiles","headers","DEFAULT_CLIENT","V3_MINOR_VERSION","MAX_GET_LENGTH","DEFAULT_PARAMETERS","client","v","DEFAULT_HEADERS","Accept","TilejsonPropType","type","value","validate","propType","optional","Array","isArray","tiles","every","url","compare","async"],"mappings":";;;;;;;;;;;AAyCO,IAAMA,eAA2C,GAAG;AACzDC,EAAAA,UAAU,EAAE,oCAD6C;AAEzDC,EAAAA,QAAQ,EAAE,eAF+C;AAGzDC,EAAAA,MAAM,EAAE,UAHiD;AAIzDC,EAAAA,WAAW,EAAE,QAJ4C;AAKzDC,EAAAA,OAAO,EAAE;AALgD,CAApD;;AAkEA,IAAMC,cAAc,GAAG,eAAvB;;AACA,IAAMC,gBAAgB,GAAG,KAAzB;;AACA,IAAMC,cAAc,GAAG,IAAvB;;AAEA,IAAMC,kBAAkB,GAAG;AAChCC,EAAAA,MAAM,EAAEJ,cADwB;AAEhCK,EAAAA,CAAC,EAAEJ;AAF6B,CAA3B;;AAKA,IAAMK,eAAe,GAAG;AAC7BC,EAAAA,MAAM,EAAE,kBADqB;AAE7B,kBAAgB;AAFa,CAAxB;;AAKA,IAAMC,gBAAgB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,QADwB;AAE9BC,EAAAA,KAAK,EAAE,IAFuB;AAG9BC,EAAAA,QAAQ,EAAE,kBAACD,KAAD,EAA6BE,QAA7B;AAAA,WACPA,QAAQ,CAACC,QAAT,IAAqBH,KAAK,KAAK,IAAhC,IACC,sBAAOA,KAAP,MAAiB,QAAjB,IACCI,KAAK,CAACC,OAAN,CAAcL,KAAK,CAACM,KAApB,CADD,IAECN,KAAK,CAACM,KAAN,CAAYC,KAAZ,CAAkB,UAAAC,GAAG;AAAA,aAAI,OAAOA,GAAP,KAAe,QAAnB;AAAA,KAArB,CAJM;AAAA,GAHoB;AAQ9BC,EAAAA,OAAO,EAAE,CARqB;AAS9BC,EAAAA,KAAK,EAAE;AATuB,CAAzB","sourcesContent":["/* eslint-disable camelcase */\nimport type {Feature} from 'geojson';\nimport {Format, MapInstantiation, TileFormat, QueryParameters} from '../api/maps-api-common';\n\nexport type CartoSourceRequiredOptions = {\n accessToken: string;\n connectionName: string;\n};\n\nexport type CartoSourceOptionalOptions = {\n apiBaseUrl: string;\n clientId: string;\n format: Format;\n formatTiles: TileFormat;\n headers: Record<string, string>;\n mapsUrl?: string;\n};\n\nexport type CartoSourceOptions = CartoSourceRequiredOptions & Partial<CartoSourceOptionalOptions>;\n\nexport type CartoAggregationOptions = {\n aggregationExp: string;\n aggregationResLevel?: number;\n};\n\nexport type CartoQuerySourceOptions = {\n spatialDataColumn?: string;\n sqlQuery: string;\n queryParameters?: QueryParameters;\n};\n\nexport type CartoTableSourceOptions = {\n columns?: string[];\n spatialDataColumn?: string;\n tableName: string;\n};\n\nexport type CartoTilesetSourceOptions = {\n tableName: string;\n};\n\nexport const SOURCE_DEFAULTS: CartoSourceOptionalOptions = {\n apiBaseUrl: 'https://gcp-us-east1.api.carto.com',\n clientId: 'deck-gl-carto',\n format: 'tilejson',\n formatTiles: 'binary',\n headers: {}\n};\n\nexport type TilejsonMapInstantiation = MapInstantiation & {\n tilejson: {url: string[]};\n};\n\nexport interface Tilejson {\n tilejson: string;\n name: string;\n description: string;\n version: string;\n attribution: string;\n scheme: string;\n tiles: string[];\n properties_tiles: string[];\n minresolution: number;\n maxresolution: number;\n minzoom: number;\n maxzoom: number;\n bounds: [number, number, number, number];\n center: [number, number, number];\n vector_layers: VectorLayer[];\n tilestats: Tilestats;\n}\n\nexport interface Tilestats {\n layerCount: number;\n layers: Layer[];\n}\n\nexport interface Layer {\n layer: string;\n count: number;\n attributeCount: number;\n attributes: Attribute[];\n}\n\nexport interface Attribute {\n attribute: string;\n type: string;\n}\n\nexport interface VectorLayer {\n id: string;\n minzoom: number;\n maxzoom: number;\n fields: Record<string, string>;\n}\n\nexport type CartoTilejsonResult = Tilejson & {accessToken: string};\nexport type GeojsonResult = {type: 'FeatureCollection'; features: Feature[]};\nexport type JsonResult = any[];\nexport interface TilejsonSource<T> {\n (options: T & {format?: 'tilejson'}): Promise<CartoTilejsonResult>;\n}\nexport interface TypedSource<T> extends TilejsonSource<T> {\n (options: T & {format: 'geojson'}): Promise<GeojsonResult>;\n (options: T & {format: 'json'}): Promise<JsonResult>;\n}\n\nexport const DEFAULT_CLIENT = 'deck-gl-carto';\nexport const V3_MINOR_VERSION = '3.2';\nexport const MAX_GET_LENGTH = 8192;\n\nexport const DEFAULT_PARAMETERS = {\n client: DEFAULT_CLIENT,\n v: V3_MINOR_VERSION\n};\n\nexport const DEFAULT_HEADERS = {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n};\n\nexport const TilejsonPropType = {\n type: 'object' as const,\n value: null as null | CartoTilejsonResult,\n validate: (value: CartoTilejsonResult, propType) =>\n (propType.optional && value === null) ||\n (typeof value === 'object' &&\n Array.isArray(value.tiles) &&\n value.tiles.every(url => typeof url === 'string')),\n compare: 2,\n async: true\n};\n"],"file":"common.js"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.cartoH3QuerySource = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _baseSource = require("./base-source");
|
|
15
|
+
|
|
16
|
+
var cartoH3QuerySource = function () {
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
18
|
+
var aggregationExp, _options$aggregationR, aggregationResLevel, sqlQuery, _options$spatialDataC, spatialDataColumn, queryParameters, urlParameters;
|
|
19
|
+
|
|
20
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
21
|
+
while (1) {
|
|
22
|
+
switch (_context.prev = _context.next) {
|
|
23
|
+
case 0:
|
|
24
|
+
aggregationExp = options.aggregationExp, _options$aggregationR = options.aggregationResLevel, aggregationResLevel = _options$aggregationR === void 0 ? 4 : _options$aggregationR, sqlQuery = options.sqlQuery, _options$spatialDataC = options.spatialDataColumn, spatialDataColumn = _options$spatialDataC === void 0 ? 'h3:h3' : _options$spatialDataC, queryParameters = options.queryParameters;
|
|
25
|
+
urlParameters = {
|
|
26
|
+
aggregationExp: aggregationExp,
|
|
27
|
+
q: sqlQuery
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
if (aggregationResLevel) {
|
|
31
|
+
urlParameters.aggregationResLevel = String(aggregationResLevel);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (spatialDataColumn) {
|
|
35
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (queryParameters) {
|
|
39
|
+
urlParameters.queryParameters = JSON.stringify(queryParameters);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return _context.abrupt("return", (0, _baseSource.cartoBaseSource)('query', options, urlParameters));
|
|
43
|
+
|
|
44
|
+
case 6:
|
|
45
|
+
case "end":
|
|
46
|
+
return _context.stop();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}, _callee);
|
|
50
|
+
}));
|
|
51
|
+
|
|
52
|
+
return function cartoH3QuerySource(_x) {
|
|
53
|
+
return _ref.apply(this, arguments);
|
|
54
|
+
};
|
|
55
|
+
}();
|
|
56
|
+
|
|
57
|
+
exports.cartoH3QuerySource = cartoH3QuerySource;
|
|
58
|
+
//# sourceMappingURL=h3-query-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/h3-query-source.ts"],"names":["cartoH3QuerySource","options","aggregationExp","aggregationResLevel","sqlQuery","spatialDataColumn","queryParameters","urlParameters","q","String","geo_column","JSON","stringify"],"mappings":";;;;;;;;;;;;;AACA;;AAmBA,IAAMA,kBAA6D;AAAA,uEAAG,iBACpEC,OADoE;AAAA;;AAAA;AAAA;AAAA;AAAA;AAIlEC,YAAAA,cAJkE,GAShED,OATgE,CAIlEC,cAJkE,0BAShED,OATgE,CAKlEE,mBALkE,EAKlEA,mBALkE,sCAK5C,CAL4C,0BAMlEC,QANkE,GAShEH,OATgE,CAMlEG,QANkE,0BAShEH,OATgE,CAOlEI,iBAPkE,EAOlEA,iBAPkE,sCAO9C,OAP8C,0BAQlEC,eARkE,GAShEL,OATgE,CAQlEK,eARkE;AAU9DC,YAAAA,aAV8D,GAU/B;AAACL,cAAAA,cAAc,EAAdA,cAAD;AAAiBM,cAAAA,CAAC,EAAEJ;AAApB,aAV+B;;AAYpE,gBAAID,mBAAJ,EAAyB;AACvBI,cAAAA,aAAa,CAACJ,mBAAd,GAAoCM,MAAM,CAACN,mBAAD,CAA1C;AACD;;AACD,gBAAIE,iBAAJ,EAAuB;AACrBE,cAAAA,aAAa,CAACG,UAAd,GAA2BL,iBAA3B;AACD;;AACD,gBAAIC,eAAJ,EAAqB;AACnBC,cAAAA,aAAa,CAACD,eAAd,GAAgCK,IAAI,CAACC,SAAL,CAAeN,eAAf,CAAhC;AACD;;AApBmE,6CAqB7D,iCAA+B,OAA/B,EAAwCL,OAAxC,EAAiDM,aAAjD,CArB6D;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAA7DP,kBAA6D;AAAA;AAAA;AAAA,GAAnE","sourcesContent":["/* eslint-disable camelcase */\nimport {cartoBaseSource} from './base-source';\nimport {\n CartoAggregationOptions,\n CartoQuerySourceOptions,\n CartoSourceOptions,\n TilejsonSource\n} from './common';\n\nexport type CartoH3QuerySourceOptions = CartoSourceOptions &\n CartoQuerySourceOptions &\n CartoAggregationOptions;\ntype UrlParameters = {\n aggregationExp: string;\n aggregationResLevel?: string;\n geo_column?: string;\n q: string;\n queryParameters?: string;\n};\n\nconst cartoH3QuerySource: TilejsonSource<CartoH3QuerySourceOptions> = async function (\n options: CartoH3QuerySourceOptions\n): Promise<any> {\n const {\n aggregationExp,\n aggregationResLevel = 4,\n sqlQuery,\n spatialDataColumn = 'h3:h3',\n queryParameters\n } = options;\n const urlParameters: UrlParameters = {aggregationExp, q: sqlQuery};\n\n if (aggregationResLevel) {\n urlParameters.aggregationResLevel = String(aggregationResLevel);\n }\n if (spatialDataColumn) {\n urlParameters.geo_column = spatialDataColumn;\n }\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return cartoBaseSource<UrlParameters>('query', options, urlParameters);\n};\n\nexport {cartoH3QuerySource};\n"],"file":"h3-query-source.js"}
|