@maplibre/mlt 0.0.1-alpha.6
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/README.md +28 -0
- package/dist/encodings/decodingUtils.d.ts +13 -0
- package/dist/encodings/decodingUtils.js +194 -0
- package/dist/encodings/decodingUtils.js.map +1 -0
- package/dist/encodings/doubleDecoder.d.ts +4 -0
- package/dist/encodings/doubleDecoder.js +22 -0
- package/dist/encodings/doubleDecoder.js.map +1 -0
- package/dist/encodings/fastpfor/bitpacking.d.ts +51 -0
- package/dist/encodings/fastpfor/bitpacking.js +4444 -0
- package/dist/encodings/fastpfor/bitpacking.js.map +1 -0
- package/dist/encodings/fastpfor/codec.d.ts +19 -0
- package/dist/encodings/fastpfor/codec.js +3 -0
- package/dist/encodings/fastpfor/codec.js.map +1 -0
- package/dist/encodings/fastpfor/fastpfor.d.ts +38 -0
- package/dist/encodings/fastpfor/fastpfor.js +123 -0
- package/dist/encodings/fastpfor/fastpfor.js.map +1 -0
- package/dist/encodings/fastpfor/index.d.ts +20 -0
- package/dist/encodings/fastpfor/index.js +47 -0
- package/dist/encodings/fastpfor/index.js.map +1 -0
- package/dist/encodings/fastpfor/util.d.ts +2 -0
- package/dist/encodings/fastpfor/util.js +16 -0
- package/dist/encodings/fastpfor/util.js.map +1 -0
- package/dist/encodings/fastpfor/varint.d.ts +18 -0
- package/dist/encodings/fastpfor/varint.js +125 -0
- package/dist/encodings/fastpfor/varint.js.map +1 -0
- package/dist/encodings/fsstDecoder.d.ts +9 -0
- package/dist/encodings/fsstDecoder.js +34 -0
- package/dist/encodings/fsstDecoder.js.map +1 -0
- package/dist/encodings/geometryDecoder.d.ts +5 -0
- package/dist/encodings/geometryDecoder.js +453 -0
- package/dist/encodings/geometryDecoder.js.map +1 -0
- package/dist/encodings/geometryScaling.d.ts +6 -0
- package/dist/encodings/geometryScaling.js +3 -0
- package/dist/encodings/geometryScaling.js.map +1 -0
- package/dist/encodings/intWrapper.d.ts +8 -0
- package/dist/encodings/intWrapper.js +22 -0
- package/dist/encodings/intWrapper.js.map +1 -0
- package/dist/encodings/integerDecodingUtils.d.ts +46 -0
- package/dist/encodings/integerDecodingUtils.js +703 -0
- package/dist/encodings/integerDecodingUtils.js.map +1 -0
- package/dist/encodings/integerStreamDecoder.d.ts +26 -0
- package/dist/encodings/integerStreamDecoder.js +254 -0
- package/dist/encodings/integerStreamDecoder.js.map +1 -0
- package/dist/encodings/propertyDecoder.d.ts +4 -0
- package/dist/encodings/propertyDecoder.js +194 -0
- package/dist/encodings/propertyDecoder.js.map +1 -0
- package/dist/encodings/stringDecoder.d.ts +11 -0
- package/dist/encodings/stringDecoder.js +148 -0
- package/dist/encodings/stringDecoder.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/metadata/tile/dictionaryType.d.ts +8 -0
- package/dist/metadata/tile/dictionaryType.js +13 -0
- package/dist/metadata/tile/dictionaryType.js.map +1 -0
- package/dist/metadata/tile/lengthType.d.ts +9 -0
- package/dist/metadata/tile/lengthType.js +14 -0
- package/dist/metadata/tile/lengthType.js.map +1 -0
- package/dist/metadata/tile/logicalLevelTechnique.d.ts +8 -0
- package/dist/metadata/tile/logicalLevelTechnique.js +15 -0
- package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -0
- package/dist/metadata/tile/logicalStreamType.d.ts +12 -0
- package/dist/metadata/tile/logicalStreamType.js +21 -0
- package/dist/metadata/tile/logicalStreamType.js.map +1 -0
- package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +15 -0
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js +29 -0
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -0
- package/dist/metadata/tile/offsetType.d.ts +6 -0
- package/dist/metadata/tile/offsetType.js +11 -0
- package/dist/metadata/tile/offsetType.js.map +1 -0
- package/dist/metadata/tile/physicalLevelTechnique.d.ts +17 -0
- package/dist/metadata/tile/physicalLevelTechnique.js +22 -0
- package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -0
- package/dist/metadata/tile/physicalStreamType.d.ts +6 -0
- package/dist/metadata/tile/physicalStreamType.js +11 -0
- package/dist/metadata/tile/physicalStreamType.js.map +1 -0
- package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +20 -0
- package/dist/metadata/tile/rleEncodedStreamMetadata.js +34 -0
- package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -0
- package/dist/metadata/tile/scalarType.d.ts +12 -0
- package/dist/metadata/tile/scalarType.js +17 -0
- package/dist/metadata/tile/scalarType.js.map +1 -0
- package/dist/metadata/tile/streamMetadata.d.ts +23 -0
- package/dist/metadata/tile/streamMetadata.js +71 -0
- package/dist/metadata/tile/streamMetadata.js.map +1 -0
- package/dist/metadata/tile/streamMetadataDecoder.d.ts +5 -0
- package/dist/metadata/tile/streamMetadataDecoder.js +24 -0
- package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -0
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +10 -0
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +112 -0
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -0
- package/dist/metadata/tileset/tilesetMetadata.g.d.ts +418 -0
- package/dist/metadata/tileset/tilesetMetadata.g.js +476 -0
- package/dist/metadata/tileset/tilesetMetadata.g.js.map +1 -0
- package/dist/metadata/tileset/typeMap.d.ts +38 -0
- package/dist/metadata/tileset/typeMap.js +185 -0
- package/dist/metadata/tileset/typeMap.js.map +1 -0
- package/dist/mltDecoder.d.ts +11 -0
- package/dist/mltDecoder.js +146 -0
- package/dist/mltDecoder.js.map +1 -0
- package/dist/mltMetadata.d.ts +40 -0
- package/dist/mltMetadata.js +34 -0
- package/dist/mltMetadata.js.map +1 -0
- package/dist/vector/constant/intConstVector.d.ts +19 -0
- package/dist/vector/constant/intConstVector.js +89 -0
- package/dist/vector/constant/intConstVector.js.map +1 -0
- package/dist/vector/constant/longConstVector.d.ts +19 -0
- package/dist/vector/constant/longConstVector.js +87 -0
- package/dist/vector/constant/longConstVector.js.map +1 -0
- package/dist/vector/dictionary/stringDictionaryVector.d.ts +22 -0
- package/dist/vector/dictionary/stringDictionaryVector.js +180 -0
- package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -0
- package/dist/vector/featureTable.d.ts +29 -0
- package/dist/vector/featureTable.js +70 -0
- package/dist/vector/featureTable.js.map +1 -0
- package/dist/vector/filter/constSelectionVector.d.ts +0 -0
- package/dist/vector/filter/constSelectionVector.js +1 -0
- package/dist/vector/filter/constSelectionVector.js.map +1 -0
- package/dist/vector/filter/flatSelectionVector.d.ts +16 -0
- package/dist/vector/filter/flatSelectionVector.js +42 -0
- package/dist/vector/filter/flatSelectionVector.js.map +1 -0
- package/dist/vector/filter/selectionVector.d.ts +8 -0
- package/dist/vector/filter/selectionVector.js +3 -0
- package/dist/vector/filter/selectionVector.js.map +1 -0
- package/dist/vector/filter/selectionVectorUtils.d.ts +7 -0
- package/dist/vector/filter/selectionVectorUtils.js +44 -0
- package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
- package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
- package/dist/vector/filter/sequenceSelectionVector.js +1 -0
- package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
- package/dist/vector/fixedSizeVector.d.ts +5 -0
- package/dist/vector/fixedSizeVector.js +14 -0
- package/dist/vector/fixedSizeVector.js.map +1 -0
- package/dist/vector/flat/bitVector.d.ts +14 -0
- package/dist/vector/flat/bitVector.js +38 -0
- package/dist/vector/flat/bitVector.js.map +1 -0
- package/dist/vector/flat/booleanFlatVector.d.ts +20 -0
- package/dist/vector/flat/booleanFlatVector.js +55 -0
- package/dist/vector/flat/booleanFlatVector.js.map +1 -0
- package/dist/vector/flat/doubleFlatVector.d.ts +19 -0
- package/dist/vector/flat/doubleFlatVector.js +109 -0
- package/dist/vector/flat/doubleFlatVector.js.map +1 -0
- package/dist/vector/flat/floatFlatVector.d.ts +19 -0
- package/dist/vector/flat/floatFlatVector.js +109 -0
- package/dist/vector/flat/floatFlatVector.js.map +1 -0
- package/dist/vector/flat/intFlatVector.d.ts +19 -0
- package/dist/vector/flat/intFlatVector.js +123 -0
- package/dist/vector/flat/intFlatVector.js.map +1 -0
- package/dist/vector/flat/longFlatVector.d.ts +19 -0
- package/dist/vector/flat/longFlatVector.js +124 -0
- package/dist/vector/flat/longFlatVector.js.map +1 -0
- package/dist/vector/flat/stringFlatVector.d.ts +20 -0
- package/dist/vector/flat/stringFlatVector.js +165 -0
- package/dist/vector/flat/stringFlatVector.js.map +1 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +27 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +115 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -0
- package/dist/vector/geometry/constGeometryVector.d.ts +17 -0
- package/dist/vector/geometry/constGeometryVector.js +51 -0
- package/dist/vector/geometry/constGeometryVector.js.map +1 -0
- package/dist/vector/geometry/constGpuVector.d.ts +15 -0
- package/dist/vector/geometry/constGpuVector.js +66 -0
- package/dist/vector/geometry/constGpuVector.js.map +1 -0
- package/dist/vector/geometry/flatGeometryVector.d.ts +16 -0
- package/dist/vector/geometry/flatGeometryVector.js +64 -0
- package/dist/vector/geometry/flatGeometryVector.js.map +1 -0
- package/dist/vector/geometry/flatGpuVector.d.ts +14 -0
- package/dist/vector/geometry/flatGpuVector.js +67 -0
- package/dist/vector/geometry/flatGpuVector.js.map +1 -0
- package/dist/vector/geometry/geometryType.d.ts +13 -0
- package/dist/vector/geometry/geometryType.js +19 -0
- package/dist/vector/geometry/geometryType.js.map +1 -0
- package/dist/vector/geometry/geometryVector.d.ts +37 -0
- package/dist/vector/geometry/geometryVector.js +73 -0
- package/dist/vector/geometry/geometryVector.js.map +1 -0
- package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -0
- package/dist/vector/geometry/geometryVectorConverter.js +302 -0
- package/dist/vector/geometry/geometryVectorConverter.js.map +1 -0
- package/dist/vector/geometry/gpuVector.d.ts +21 -0
- package/dist/vector/geometry/gpuVector.js +38 -0
- package/dist/vector/geometry/gpuVector.js.map +1 -0
- package/dist/vector/geometry/point.d.ts +195 -0
- package/dist/vector/geometry/point.js +283 -0
- package/dist/vector/geometry/point.js.map +1 -0
- package/dist/vector/geometry/spaceFillingCurve.d.ts +22 -0
- package/dist/vector/geometry/spaceFillingCurve.js +26 -0
- package/dist/vector/geometry/spaceFillingCurve.js.map +1 -0
- package/dist/vector/geometry/topologyVector.d.ts +9 -0
- package/dist/vector/geometry/topologyVector.js +21 -0
- package/dist/vector/geometry/topologyVector.js.map +1 -0
- package/dist/vector/geometry/zOrderCurve.d.ts +17 -0
- package/dist/vector/geometry/zOrderCurve.js +44 -0
- package/dist/vector/geometry/zOrderCurve.js.map +1 -0
- package/dist/vector/intVector.d.ts +8 -0
- package/dist/vector/intVector.js +3 -0
- package/dist/vector/intVector.js.map +1 -0
- package/dist/vector/sequence/intSequenceVector.d.ts +18 -0
- package/dist/vector/sequence/intSequenceVector.js +72 -0
- package/dist/vector/sequence/intSequenceVector.js.map +1 -0
- package/dist/vector/sequence/longSequenceVector.d.ts +18 -0
- package/dist/vector/sequence/longSequenceVector.js +57 -0
- package/dist/vector/sequence/longSequenceVector.js.map +1 -0
- package/dist/vector/sequence/sequenceVector.d.ts +5 -0
- package/dist/vector/sequence/sequenceVector.js +15 -0
- package/dist/vector/sequence/sequenceVector.js.map +1 -0
- package/dist/vector/variableSizeVector.d.ts +6 -0
- package/dist/vector/variableSizeVector.js +16 -0
- package/dist/vector/variableSizeVector.js.map +1 -0
- package/dist/vector/vector.d.ts +30 -0
- package/dist/vector/vector.js +73 -0
- package/dist/vector/vector.js.map +1 -0
- package/dist/vector/vectorType.d.ts +7 -0
- package/dist/vector/vectorType.js +12 -0
- package/dist/vector/vectorType.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.decodeGeometryColumn = decodeGeometryColumn;
|
|
7
|
+
const streamMetadataDecoder_1 = require("../metadata/tile/streamMetadataDecoder");
|
|
8
|
+
const integerStreamDecoder_1 = __importDefault(require("./integerStreamDecoder"));
|
|
9
|
+
const vectorType_1 = require("../vector/vectorType");
|
|
10
|
+
const physicalStreamType_1 = require("../metadata/tile/physicalStreamType");
|
|
11
|
+
const lengthType_1 = require("../metadata/tile/lengthType");
|
|
12
|
+
const dictionaryType_1 = require("../metadata/tile/dictionaryType");
|
|
13
|
+
const topologyVector_1 = __importDefault(require("../vector/geometry/topologyVector"));
|
|
14
|
+
const constGeometryVector_1 = require("../vector/geometry/constGeometryVector");
|
|
15
|
+
const flatGeometryVector_1 = require("../vector/geometry/flatGeometryVector");
|
|
16
|
+
const offsetType_1 = require("../metadata/tile/offsetType");
|
|
17
|
+
const constGpuVector_1 = require("../vector/geometry/constGpuVector");
|
|
18
|
+
const flatGpuVector_1 = require("../vector/geometry/flatGpuVector");
|
|
19
|
+
// TODO: get rid of numFeatures parameter
|
|
20
|
+
function decodeGeometryColumn(tile, numStreams, offset, numFeatures, scalingData) {
|
|
21
|
+
const geometryTypeMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(tile, offset);
|
|
22
|
+
const geometryTypesVectorType = integerStreamDecoder_1.default.getVectorType(geometryTypeMetadata, numFeatures);
|
|
23
|
+
let geometryOffsets = null;
|
|
24
|
+
let partOffsets = null;
|
|
25
|
+
let ringOffsets = null;
|
|
26
|
+
let vertexOffsets = null;
|
|
27
|
+
let vertexBuffer = null;
|
|
28
|
+
let mortonSettings = null;
|
|
29
|
+
//TODO: use geometryOffsets for that? -> but then tessellated polygons can't be used with normal polygons
|
|
30
|
+
// in one FeatureTable?
|
|
31
|
+
let triangleOffsets = null;
|
|
32
|
+
let indexBuffer = null;
|
|
33
|
+
if (geometryTypesVectorType === vectorType_1.VectorType.CONST) {
|
|
34
|
+
/* All geometries in the colum have the same geometry type */
|
|
35
|
+
const geometryType = integerStreamDecoder_1.default.decodeConstIntStream(tile, offset, geometryTypeMetadata, false);
|
|
36
|
+
for (let i = 0; i < numStreams - 1; i++) {
|
|
37
|
+
const geometryStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(tile, offset);
|
|
38
|
+
switch (geometryStreamMetadata.physicalStreamType) {
|
|
39
|
+
case physicalStreamType_1.PhysicalStreamType.LENGTH:
|
|
40
|
+
switch (geometryStreamMetadata.logicalStreamType.lengthType) {
|
|
41
|
+
case lengthType_1.LengthType.GEOMETRIES:
|
|
42
|
+
geometryOffsets = integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
43
|
+
break;
|
|
44
|
+
case lengthType_1.LengthType.PARTS:
|
|
45
|
+
partOffsets =
|
|
46
|
+
integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
47
|
+
break;
|
|
48
|
+
case lengthType_1.LengthType.RINGS:
|
|
49
|
+
ringOffsets =
|
|
50
|
+
integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
51
|
+
break;
|
|
52
|
+
case lengthType_1.LengthType.TRIANGLES:
|
|
53
|
+
triangleOffsets = integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
54
|
+
}
|
|
55
|
+
break;
|
|
56
|
+
case physicalStreamType_1.PhysicalStreamType.OFFSET: {
|
|
57
|
+
switch (geometryStreamMetadata.logicalStreamType.offsetType) {
|
|
58
|
+
case offsetType_1.OffsetType.VERTEX:
|
|
59
|
+
vertexOffsets =
|
|
60
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
61
|
+
break;
|
|
62
|
+
case offsetType_1.OffsetType.INDEX:
|
|
63
|
+
indexBuffer =
|
|
64
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case physicalStreamType_1.PhysicalStreamType.DATA: {
|
|
70
|
+
if (dictionaryType_1.DictionaryType.VERTEX === geometryStreamMetadata.logicalStreamType.dictionaryType) {
|
|
71
|
+
vertexBuffer =
|
|
72
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, true, scalingData);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
const mortonMetadata = geometryStreamMetadata;
|
|
76
|
+
mortonSettings = {
|
|
77
|
+
numBits: mortonMetadata.numBits(),
|
|
78
|
+
coordinateShift: mortonMetadata.coordinateShift()
|
|
79
|
+
};
|
|
80
|
+
vertexBuffer = integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false, scalingData);
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (indexBuffer !== null) {
|
|
87
|
+
if (geometryOffsets != null || partOffsets != null) {
|
|
88
|
+
/* Case when the indices of a Polygon outline are encoded in the tile */
|
|
89
|
+
const topologyVector = new topologyVector_1.default(geometryOffsets, partOffsets, ringOffsets);
|
|
90
|
+
return constGpuVector_1.ConstGpuVector.create(numFeatures, geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
|
|
91
|
+
}
|
|
92
|
+
/* Case when the no Polygon outlines are encoded in the tile */
|
|
93
|
+
return constGpuVector_1.ConstGpuVector.create(numFeatures, geometryType, triangleOffsets, indexBuffer, vertexBuffer);
|
|
94
|
+
}
|
|
95
|
+
return mortonSettings === null ?
|
|
96
|
+
/* Currently only 2D coordinates (Vec2) are implemented in the encoder */
|
|
97
|
+
constGeometryVector_1.ConstGeometryVector.create(numFeatures, geometryType, new topologyVector_1.default(geometryOffsets, partOffsets, ringOffsets), vertexOffsets, vertexBuffer) :
|
|
98
|
+
constGeometryVector_1.ConstGeometryVector.createMortonEncoded(numFeatures, geometryType, new topologyVector_1.default(geometryOffsets, partOffsets, ringOffsets), vertexOffsets, vertexBuffer, mortonSettings);
|
|
99
|
+
}
|
|
100
|
+
/* Different geometry types are mixed in the geometry column */
|
|
101
|
+
const geometryTypeVector = integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryTypeMetadata, false);
|
|
102
|
+
for (let i = 0; i < numStreams - 1; i++) {
|
|
103
|
+
const geometryStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(tile, offset);
|
|
104
|
+
switch (geometryStreamMetadata.physicalStreamType) {
|
|
105
|
+
case physicalStreamType_1.PhysicalStreamType.LENGTH:
|
|
106
|
+
switch (geometryStreamMetadata.logicalStreamType.lengthType) {
|
|
107
|
+
case lengthType_1.LengthType.GEOMETRIES:
|
|
108
|
+
geometryOffsets =
|
|
109
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
110
|
+
break;
|
|
111
|
+
case lengthType_1.LengthType.PARTS:
|
|
112
|
+
partOffsets =
|
|
113
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
114
|
+
break;
|
|
115
|
+
case lengthType_1.LengthType.RINGS:
|
|
116
|
+
ringOffsets =
|
|
117
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
118
|
+
break;
|
|
119
|
+
case lengthType_1.LengthType.TRIANGLES:
|
|
120
|
+
triangleOffsets = integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
121
|
+
}
|
|
122
|
+
break;
|
|
123
|
+
case physicalStreamType_1.PhysicalStreamType.OFFSET:
|
|
124
|
+
switch (geometryStreamMetadata.logicalStreamType.offsetType) {
|
|
125
|
+
case offsetType_1.OffsetType.VERTEX:
|
|
126
|
+
vertexOffsets =
|
|
127
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
128
|
+
break;
|
|
129
|
+
case offsetType_1.OffsetType.INDEX:
|
|
130
|
+
indexBuffer =
|
|
131
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
break;
|
|
135
|
+
case physicalStreamType_1.PhysicalStreamType.DATA:
|
|
136
|
+
if (dictionaryType_1.DictionaryType.VERTEX === geometryStreamMetadata.logicalStreamType.dictionaryType) {
|
|
137
|
+
vertexBuffer =
|
|
138
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, true, scalingData);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
const mortonMetadata = geometryStreamMetadata;
|
|
142
|
+
mortonSettings = { numBits: mortonMetadata.numBits(),
|
|
143
|
+
coordinateShift: mortonMetadata.coordinateShift() };
|
|
144
|
+
vertexBuffer =
|
|
145
|
+
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false, scalingData);
|
|
146
|
+
}
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (indexBuffer !== null && partOffsets === null) {
|
|
151
|
+
/* Case when the indices of a Polygon outline are not encoded in the data so no
|
|
152
|
+
* topology data are present in the tile */
|
|
153
|
+
return flatGpuVector_1.FlatGpuVector.create(geometryTypeVector, triangleOffsets, indexBuffer, vertexBuffer);
|
|
154
|
+
}
|
|
155
|
+
// TODO: refactor the following instructions -> decode in one pass for performance reasons
|
|
156
|
+
/* Calculate the offsets from the length buffer for util access */
|
|
157
|
+
if (geometryOffsets !== null) {
|
|
158
|
+
geometryOffsets = decodeRootLengthStream(geometryTypeVector, geometryOffsets, 2);
|
|
159
|
+
if (partOffsets !== null && ringOffsets !== null) {
|
|
160
|
+
partOffsets = decodeLevel1LengthStream(geometryTypeVector, geometryOffsets, partOffsets, false);
|
|
161
|
+
ringOffsets = decodeLevel2LengthStream(geometryTypeVector, geometryOffsets, partOffsets, ringOffsets);
|
|
162
|
+
}
|
|
163
|
+
else if (partOffsets !== null) {
|
|
164
|
+
partOffsets =
|
|
165
|
+
decodeLevel1WithoutRingBufferLengthStream(geometryTypeVector, geometryOffsets, partOffsets);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else if (partOffsets !== null && ringOffsets !== null) {
|
|
169
|
+
partOffsets = decodeRootLengthStream(geometryTypeVector, partOffsets, 1);
|
|
170
|
+
ringOffsets = decodeLevel1LengthStream(geometryTypeVector, partOffsets, ringOffsets, true);
|
|
171
|
+
}
|
|
172
|
+
else if (partOffsets !== null) {
|
|
173
|
+
partOffsets = decodeRootLengthStream(geometryTypeVector, partOffsets, 0);
|
|
174
|
+
}
|
|
175
|
+
if (indexBuffer !== null) {
|
|
176
|
+
/* Case when the indices of a Polygon outline are encoded in the tile */
|
|
177
|
+
return flatGpuVector_1.FlatGpuVector.create(geometryTypeVector, triangleOffsets, indexBuffer, vertexBuffer, new topologyVector_1.default(geometryOffsets, partOffsets, ringOffsets));
|
|
178
|
+
}
|
|
179
|
+
return mortonSettings === null ? /* Currently only 2D coordinates (Vec2) are implemented in the encoder */
|
|
180
|
+
flatGeometryVector_1.FlatGeometryVector.create(geometryTypeVector, new topologyVector_1.default(geometryOffsets, partOffsets, ringOffsets), vertexOffsets, vertexBuffer)
|
|
181
|
+
: flatGeometryVector_1.FlatGeometryVector.createMortonEncoded(geometryTypeVector, new topologyVector_1.default(geometryOffsets, partOffsets, ringOffsets), vertexOffsets, vertexBuffer, mortonSettings);
|
|
182
|
+
}
|
|
183
|
+
/*
|
|
184
|
+
* Handle the parsing of the different topology length buffers separate not generic to reduce the
|
|
185
|
+
* branching and improve the performance
|
|
186
|
+
*/
|
|
187
|
+
function decodeRootLengthStream(geometryTypes, rootLengthStream, bufferId) {
|
|
188
|
+
const rootBufferOffsets = new Int32Array(geometryTypes.length + 1);
|
|
189
|
+
let previousOffset = 0;
|
|
190
|
+
rootBufferOffsets[0] = previousOffset;
|
|
191
|
+
let rootLengthCounter = 0;
|
|
192
|
+
for (let i = 0; i < geometryTypes.length; i++) {
|
|
193
|
+
/* Test if the geometry has and entry in the root buffer
|
|
194
|
+
* BufferId: 2 GeometryOffsets -> MultiPolygon, MultiLineString, MultiPoint
|
|
195
|
+
* BufferId: 1 PartOffsets -> Polygon
|
|
196
|
+
* BufferId: 0 PartOffsets, RingOffsets -> LineString
|
|
197
|
+
* */
|
|
198
|
+
previousOffset = rootBufferOffsets[i + 1] = previousOffset + (geometryTypes[i] > bufferId
|
|
199
|
+
? rootLengthStream[rootLengthCounter++] : 1);
|
|
200
|
+
}
|
|
201
|
+
return rootBufferOffsets;
|
|
202
|
+
}
|
|
203
|
+
function decodeLevel1LengthStream(geometryTypes, rootOffsetBuffer, level1LengthBuffer, isLineStringPresent) {
|
|
204
|
+
const level1BufferOffsets = new Int32Array(rootOffsetBuffer[rootOffsetBuffer.length - 1] + 1);
|
|
205
|
+
let previousOffset = 0;
|
|
206
|
+
level1BufferOffsets[0] = previousOffset;
|
|
207
|
+
let level1BufferCounter = 1;
|
|
208
|
+
let level1LengthBufferCounter = 0;
|
|
209
|
+
for (let i = 0; i < geometryTypes.length; i++) {
|
|
210
|
+
const geometryType = geometryTypes[i];
|
|
211
|
+
const numGeometries = rootOffsetBuffer[i + 1] - rootOffsetBuffer[i];
|
|
212
|
+
if (geometryType === 5 || geometryType === 2 || (isLineStringPresent &&
|
|
213
|
+
(geometryType === 4 || geometryType === 1))) {
|
|
214
|
+
/* For MultiPolygon, Polygon and in some cases for MultiLineString and LineString
|
|
215
|
+
* a value in the level1LengthBuffer exists */
|
|
216
|
+
for (let j = 0; j < numGeometries; j++) {
|
|
217
|
+
previousOffset = level1BufferOffsets[level1BufferCounter++] =
|
|
218
|
+
previousOffset + level1LengthBuffer[level1LengthBufferCounter++];
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
/* For MultiPoint and Point and in some cases for MultiLineString and LineString no value in the
|
|
223
|
+
* level1LengthBuffer exists */
|
|
224
|
+
for (let j = 0; j < numGeometries; j++) {
|
|
225
|
+
level1BufferOffsets[level1BufferCounter++] = ++previousOffset;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return level1BufferOffsets;
|
|
230
|
+
}
|
|
231
|
+
/*
|
|
232
|
+
* Case where no ring buffer exists so no MultiPolygon or Polygon geometry is part of the buffer
|
|
233
|
+
*/
|
|
234
|
+
function decodeLevel1WithoutRingBufferLengthStream(geometryTypes, rootOffsetBuffer, level1LengthBuffer) {
|
|
235
|
+
const level1BufferOffsets = new Int32Array(rootOffsetBuffer[rootOffsetBuffer.length - 1] + 1);
|
|
236
|
+
let previousOffset = 0;
|
|
237
|
+
level1BufferOffsets[0] = previousOffset;
|
|
238
|
+
let level1OffsetBufferCounter = 1;
|
|
239
|
+
let level1LengthCounter = 0;
|
|
240
|
+
for (let i = 0; i < geometryTypes.length; i++) {
|
|
241
|
+
const geometryType = geometryTypes[i];
|
|
242
|
+
const numGeometries = rootOffsetBuffer[i + 1] - rootOffsetBuffer[i];
|
|
243
|
+
if (geometryType === 4 || geometryType === 1) {
|
|
244
|
+
/* For MultiLineString and LineString a value in the level1LengthBuffer exists */
|
|
245
|
+
for (let j = 0; j < numGeometries; j++) {
|
|
246
|
+
previousOffset = level1BufferOffsets[level1OffsetBufferCounter++] =
|
|
247
|
+
previousOffset + level1LengthBuffer[level1LengthCounter++];
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
/* For MultiPoint and Point no value in level1LengthBuffer exists */
|
|
252
|
+
for (let j = 0; j < numGeometries; j++) {
|
|
253
|
+
level1BufferOffsets[level1OffsetBufferCounter++] = ++previousOffset;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return level1BufferOffsets;
|
|
258
|
+
}
|
|
259
|
+
function decodeLevel2LengthStream(geometryTypes, rootOffsetBuffer, level1OffsetBuffer, level2LengthBuffer) {
|
|
260
|
+
const level2BufferOffsets = new Int32Array(level1OffsetBuffer[level1OffsetBuffer.length - 1] + 1);
|
|
261
|
+
let previousOffset = 0;
|
|
262
|
+
level2BufferOffsets[0] = previousOffset;
|
|
263
|
+
let level1OffsetBufferCounter = 1;
|
|
264
|
+
let level2OffsetBufferCounter = 1;
|
|
265
|
+
let level2LengthBufferCounter = 0;
|
|
266
|
+
for (let i = 0; i < geometryTypes.length; i++) {
|
|
267
|
+
const geometryType = geometryTypes[i];
|
|
268
|
+
const numGeometries = rootOffsetBuffer[i + 1] - rootOffsetBuffer[i];
|
|
269
|
+
if (geometryType !== 0 && geometryType !== 3) {
|
|
270
|
+
/* For MultiPolygon, MultiLineString, Polygon and LineString a value in level2LengthBuffer
|
|
271
|
+
* exists */
|
|
272
|
+
for (let j = 0; j < numGeometries; j++) {
|
|
273
|
+
const numParts = level1OffsetBuffer[level1OffsetBufferCounter]
|
|
274
|
+
- level1OffsetBuffer[level1OffsetBufferCounter - 1];
|
|
275
|
+
level1OffsetBufferCounter++;
|
|
276
|
+
for (let k = 0; k < numParts; k++) {
|
|
277
|
+
previousOffset =
|
|
278
|
+
level2BufferOffsets[level2OffsetBufferCounter++] =
|
|
279
|
+
previousOffset + level2LengthBuffer[level2LengthBufferCounter++];
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
/* For MultiPoint and Point no value in level2LengthBuffer exists */
|
|
285
|
+
for (let j = 0; j < numGeometries; j++) {
|
|
286
|
+
level2BufferOffsets[level2OffsetBufferCounter++] = ++previousOffset;
|
|
287
|
+
level1OffsetBufferCounter++;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return level2BufferOffsets;
|
|
292
|
+
}
|
|
293
|
+
/*export function decodeGeometryColumnSequential(tile: Uint8Array, numStreams: number, offset: IntWrapper, numFeatures: number): GeometryVector {
|
|
294
|
+
const geometryTypeMetadata = StreamMetadataDecoder.decode(tile, offset);
|
|
295
|
+
const geometryTypesVectorType = IntegerStreamDecoder.getVectorTypeIntStream(geometryTypeMetadata);
|
|
296
|
+
|
|
297
|
+
let numGeometries: Int32Array = null;
|
|
298
|
+
let numParts: Int32Array = null;
|
|
299
|
+
let numRings: Int32Array = null;
|
|
300
|
+
let vertexOffsets: Int32Array = null;
|
|
301
|
+
let vertexBuffer: Int32Array = null;
|
|
302
|
+
let mortonSettings: MortonSettings = null;
|
|
303
|
+
|
|
304
|
+
if (geometryTypesVectorType === VectorType.CONST) {
|
|
305
|
+
/!* All geometries in the colum have the same geometry type *!/
|
|
306
|
+
const geometryType = IntegerStreamDecoder.decodeConstIntStream(tile, offset, geometryTypeMetadata, false);
|
|
307
|
+
|
|
308
|
+
for (let i = 0; i < numStreams - 1; i++) {
|
|
309
|
+
const geometryStreamMetadata = StreamMetadataDecoder.decode(tile, offset);
|
|
310
|
+
switch (geometryStreamMetadata.physicalStreamType) {
|
|
311
|
+
case PhysicalStreamType.LENGTH:
|
|
312
|
+
switch (geometryStreamMetadata.logicalStreamType.lengthType) {
|
|
313
|
+
case LengthType.GEOMETRIES:
|
|
314
|
+
numGeometries = IntegerStreamDecoder.decodeIntStream(
|
|
315
|
+
tile, offset, geometryStreamMetadata, false);
|
|
316
|
+
break;
|
|
317
|
+
case LengthType.PARTS:
|
|
318
|
+
numParts =
|
|
319
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
320
|
+
tile, offset, geometryStreamMetadata, false);
|
|
321
|
+
break;
|
|
322
|
+
case LengthType.RINGS:
|
|
323
|
+
numRings =
|
|
324
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
325
|
+
tile, offset, geometryStreamMetadata, false);
|
|
326
|
+
break;
|
|
327
|
+
case LengthType.TRIANGLES:
|
|
328
|
+
throw new Error("Not implemented yet.");
|
|
329
|
+
}
|
|
330
|
+
break;
|
|
331
|
+
case PhysicalStreamType.OFFSET:
|
|
332
|
+
vertexOffsets =
|
|
333
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
334
|
+
tile, offset, geometryStreamMetadata, false);
|
|
335
|
+
break;
|
|
336
|
+
case PhysicalStreamType.DATA:
|
|
337
|
+
if (DictionaryType.VERTEX === geometryStreamMetadata.logicalStreamType.dictionaryType) {
|
|
338
|
+
vertexBuffer =
|
|
339
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
340
|
+
tile, offset, geometryStreamMetadata, true);
|
|
341
|
+
} else {
|
|
342
|
+
const mortonMetadata = geometryStreamMetadata as MortonEncodedStreamMetadata;
|
|
343
|
+
mortonSettings = {
|
|
344
|
+
numBits: mortonMetadata.numBits(),
|
|
345
|
+
coordinateShift: mortonMetadata.coordinateShift()
|
|
346
|
+
};
|
|
347
|
+
vertexBuffer = IntegerStreamDecoder.decodeIntStream(
|
|
348
|
+
tile, offset, geometryStreamMetadata, false);
|
|
349
|
+
}
|
|
350
|
+
break;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
return mortonSettings != null? ConstGeometryVector.createMortonEncoded(
|
|
355
|
+
numFeatures,
|
|
356
|
+
geometryType,
|
|
357
|
+
new TopologyVector(numGeometries, numParts, numRings),
|
|
358
|
+
vertexOffsets,
|
|
359
|
+
vertexBuffer,
|
|
360
|
+
mortonSettings)
|
|
361
|
+
:
|
|
362
|
+
/!* Currently only 2D coordinates (Vec2) are implemented in the encoder *!/
|
|
363
|
+
ConstGeometryVector.create(
|
|
364
|
+
numFeatures,
|
|
365
|
+
geometryType,
|
|
366
|
+
new TopologyVector(numGeometries, numParts, numRings),
|
|
367
|
+
vertexOffsets,
|
|
368
|
+
vertexBuffer);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/!* Different geometry types are mixed in the geometry column *!/
|
|
372
|
+
const geometryTypeVector =
|
|
373
|
+
IntegerStreamDecoder.decodeIntStream(tile, offset, geometryTypeMetadata, false);
|
|
374
|
+
|
|
375
|
+
for (let i = 0; i < numStreams - 1; i++) {
|
|
376
|
+
const geometryStreamMetadata = StreamMetadataDecoder.decode(tile, offset);
|
|
377
|
+
switch (geometryStreamMetadata.physicalStreamType) {
|
|
378
|
+
case PhysicalStreamType.LENGTH:
|
|
379
|
+
switch (geometryStreamMetadata.logicalStreamType.lengthType) {
|
|
380
|
+
case LengthType.GEOMETRIES:
|
|
381
|
+
numGeometries =
|
|
382
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
383
|
+
tile, offset, geometryStreamMetadata, false);
|
|
384
|
+
break;
|
|
385
|
+
case LengthType.PARTS:
|
|
386
|
+
numParts =
|
|
387
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
388
|
+
tile, offset, geometryStreamMetadata, false);
|
|
389
|
+
break;
|
|
390
|
+
case LengthType.RINGS:
|
|
391
|
+
numRings =
|
|
392
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
393
|
+
tile, offset, geometryStreamMetadata, false);
|
|
394
|
+
break;
|
|
395
|
+
case LengthType.TRIANGLES:
|
|
396
|
+
throw new Error("Not implemented yet.");
|
|
397
|
+
}
|
|
398
|
+
break;
|
|
399
|
+
case PhysicalStreamType.OFFSET:
|
|
400
|
+
vertexOffsets =
|
|
401
|
+
IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
402
|
+
break;
|
|
403
|
+
case PhysicalStreamType.DATA:
|
|
404
|
+
if (DictionaryType.VERTEX === geometryStreamMetadata.logicalStreamType.dictionaryType){
|
|
405
|
+
vertexBuffer =
|
|
406
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
407
|
+
tile, offset, geometryStreamMetadata, true);
|
|
408
|
+
} else {
|
|
409
|
+
const mortonMetadata = geometryStreamMetadata as MortonEncodedStreamMetadata;
|
|
410
|
+
mortonSettings = {numBits: mortonMetadata.numBits(),
|
|
411
|
+
coordinateShift: mortonMetadata.coordinateShift()};
|
|
412
|
+
vertexBuffer =
|
|
413
|
+
IntegerStreamDecoder.decodeIntStream(
|
|
414
|
+
tile, offset, geometryStreamMetadata, false);
|
|
415
|
+
}
|
|
416
|
+
break;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// TODO: refactor the following instructions -> decode in one pass for performance reasons
|
|
421
|
+
/!* Calculate the offsets from the length buffer for util access *!/
|
|
422
|
+
/!*if (numGeometries != null) {
|
|
423
|
+
numGeometries = decodeRootLengthStream(geometryTypeVector, numGeometries, 2);
|
|
424
|
+
if (numParts != null && numRings != null) {
|
|
425
|
+
numParts = decodeLevel1LengthStream(geometryTypeVector, numGeometries, numParts, false);
|
|
426
|
+
numRings = decodeLevel2LengthStream(geometryTypeVector, numGeometries, numParts, numRings);
|
|
427
|
+
} else if (numParts != null) {
|
|
428
|
+
numParts =
|
|
429
|
+
decodeLevel1WithoutRingBufferLengthStream(geometryTypeVector, numGeometries, numParts);
|
|
430
|
+
}
|
|
431
|
+
} else if (numParts != null && numRings != null) {
|
|
432
|
+
numParts = decodeRootLengthStream(geometryTypeVector, numParts, 1);
|
|
433
|
+
numRings = decodeLevel1LengthStream(geometryTypeVector, numParts, numRings, true);
|
|
434
|
+
} else if (numParts != null) {
|
|
435
|
+
numParts = decodeRootLengthStream(geometryTypeVector, numParts, 0);
|
|
436
|
+
}*!/
|
|
437
|
+
|
|
438
|
+
return mortonSettings !== null
|
|
439
|
+
? FlatGeometryVector.createMortonEncoded(
|
|
440
|
+
geometryTypeVector,
|
|
441
|
+
new TopologyVector(numGeometries, numParts, numRings),
|
|
442
|
+
vertexOffsets,
|
|
443
|
+
vertexBuffer,
|
|
444
|
+
mortonSettings)
|
|
445
|
+
:
|
|
446
|
+
/!* Currently only 2D coordinates (Vec2) are implemented in the encoder *!/
|
|
447
|
+
FlatGeometryVector.create(
|
|
448
|
+
geometryTypeVector,
|
|
449
|
+
new TopologyVector(numGeometries, numParts, numRings),
|
|
450
|
+
vertexOffsets,
|
|
451
|
+
vertexBuffer);
|
|
452
|
+
}*/
|
|
453
|
+
//# sourceMappingURL=geometryDecoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometryDecoder.js","sourceRoot":"","sources":["../../src/encodings/geometryDecoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometryScaling.js","sourceRoot":"","sources":["../../src/encodings/geometryScaling.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Ported from https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/IntWrapper.java
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
class IntWrapper {
|
|
5
|
+
constructor(value) {
|
|
6
|
+
this.value = value;
|
|
7
|
+
}
|
|
8
|
+
get() {
|
|
9
|
+
return this.value;
|
|
10
|
+
}
|
|
11
|
+
set(v) {
|
|
12
|
+
this.value = v;
|
|
13
|
+
}
|
|
14
|
+
increment() {
|
|
15
|
+
return this.value++;
|
|
16
|
+
}
|
|
17
|
+
add(v) {
|
|
18
|
+
this.value += v;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.default = IntWrapper;
|
|
22
|
+
//# sourceMappingURL=intWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intWrapper.js","sourceRoot":"","sources":["../../src/encodings/intWrapper.ts"],"names":[],"mappings":";AAAA,4HAA4H;;AAE5H,MAAqB,UAAU;IAC3B,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IACjC,CAAC;IAEM,GAAG;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEM,GAAG,CAAC,CAAS;QAChB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAEM,GAAG,CAAC,CAAS;QAChB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IACpB,CAAC;CAEJ;AApBD,6BAoBC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import IntWrapper from "./intWrapper";
|
|
2
|
+
import { RleEncodedStreamMetadata } from "../metadata/tile/rleEncodedStreamMetadata";
|
|
3
|
+
import BitVector from "../vector/flat/bitVector";
|
|
4
|
+
import { StreamMetadata } from "../mltMetadata";
|
|
5
|
+
export declare function decodeVarintInt32(buf: Uint8Array, bufferOffset: IntWrapper, numValues: number): Int32Array;
|
|
6
|
+
export declare function decodeVarintInt64(src: Uint8Array, offset: IntWrapper, numValues: number): BigInt64Array;
|
|
7
|
+
export declare function decodeVarintFloat64(src: Uint8Array, numValues: number, offset: IntWrapper): Float64Array;
|
|
8
|
+
export declare function decodeFastPfor(data: Uint8Array, numValues: number, byteLength: number, offset: IntWrapper): Int32Array;
|
|
9
|
+
export declare function decodeZigZag(encodedData: Int32Array): void;
|
|
10
|
+
export declare function decodeZigZagInt64(encodedData: BigInt64Array): void;
|
|
11
|
+
export declare function decodeZigZagFloat64(encodedData: Float64Array): void;
|
|
12
|
+
export declare function decodeZigZagValue(encoded: number): number;
|
|
13
|
+
export declare function decodeZigZagValueInt64(encoded: bigint): bigint;
|
|
14
|
+
export declare function decodeRle(data: Int32Array, streamMetadata: RleEncodedStreamMetadata, isSigned: boolean): Int32Array;
|
|
15
|
+
export declare function decodeRleInt64(data: BigInt64Array, streamMetadata: RleEncodedStreamMetadata, isSigned: boolean): BigInt64Array;
|
|
16
|
+
export declare function decodeRleFloat64(data: Float64Array, streamMetadata: RleEncodedStreamMetadata, isSigned: boolean): Float64Array;
|
|
17
|
+
export declare function decodeUnsignedRle(encodedData: Int32Array, numRuns: number, numTotalValues: number): Int32Array;
|
|
18
|
+
export declare function decodeUnsignedRleInt64(encodedData: BigInt64Array, numRuns: number, numTotalValues: number): BigInt64Array;
|
|
19
|
+
export declare function decodeUnsignedRleFloat64(encodedData: Float64Array, numRuns: number, numTotalValues: number): Float64Array;
|
|
20
|
+
export declare function decodeZigZagDelta(data: Int32Array): void;
|
|
21
|
+
export declare function decodeZigZagDeltaInt64(data: BigInt64Array): void;
|
|
22
|
+
export declare function decodeZigZagDeltaFloat64(data: Float64Array): void;
|
|
23
|
+
export declare function decodeZigZagRle(data: Int32Array, numRuns: number, numTotalValues: number): Int32Array;
|
|
24
|
+
export declare function decodeZigZagRleInt64(data: BigInt64Array, numRuns: number, numTotalValues: number): BigInt64Array;
|
|
25
|
+
export declare function decodeZigZagRleFloat64(data: Float64Array, numRuns: number, numTotalValues: number): Float64Array;
|
|
26
|
+
export declare function fastInverseDelta(data: Int32Array): void;
|
|
27
|
+
export declare function inverseDelta(data: Int32Array): void;
|
|
28
|
+
export declare function decodeComponentwiseDeltaVec2(data: Int32Array): void;
|
|
29
|
+
export declare function decodeComponentwiseDeltaVec2Scaled(data: Int32Array, scale: number, min: number, max: number): void;
|
|
30
|
+
export declare function decodeNullableZigZagDelta(bitVector: BitVector, data: Int32Array): Int32Array;
|
|
31
|
+
export declare function decodeNullableZigZagDeltaInt64(bitVector: BitVector, data: BigInt64Array): BigInt64Array;
|
|
32
|
+
export declare function zigZagDeltaOfDeltaDecoding(data: Int32Array): Int32Array;
|
|
33
|
+
export declare function zigZagRleDeltaDecoding(data: Int32Array, numRuns: number, numTotalValues: number): Int32Array;
|
|
34
|
+
export declare function rleDeltaDecoding(data: Int32Array, numRuns: number, numTotalValues: number): Int32Array;
|
|
35
|
+
export declare function padWithZeros(bitVector: BitVector, data: Int32Array): Int32Array;
|
|
36
|
+
export declare function padZigZagWithZeros(bitVector: BitVector, data: Int32Array): Int32Array;
|
|
37
|
+
export declare function padWithZerosInt64(bitVector: BitVector, data: BigInt64Array): BigInt64Array;
|
|
38
|
+
export declare function padZigZagWithZerosInt64(bitVector: BitVector, data: BigInt64Array): BigInt64Array;
|
|
39
|
+
export declare function decodeNullableRle(data: Int32Array, streamMetadata: StreamMetadata, isSigned: boolean, bitVector: BitVector): Int32Array;
|
|
40
|
+
export declare function decodeNullableRleInt64(data: BigInt64Array, streamMetadata: StreamMetadata, isSigned: boolean, bitVector: BitVector): BigInt64Array;
|
|
41
|
+
export declare function decodeUnsignedConstRle(data: Int32Array): number;
|
|
42
|
+
export declare function decodeZigZagConstRle(data: Int32Array): number;
|
|
43
|
+
export declare function decodeZigZagSequenceRle(data: Int32Array): [baseValue: number, delta: number];
|
|
44
|
+
export declare function decodeUnsignedConstRleInt64(data: BigInt64Array): bigint;
|
|
45
|
+
export declare function decodeZigZagConstRleInt64(data: BigInt64Array): bigint;
|
|
46
|
+
export declare function decodeZigZagSequenceRleInt64(data: BigInt64Array): [baseValue: bigint, delta: bigint];
|