@maplibre/mlt 0.0.1-alpha.7 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{encodings → decoding}/decodingUtils.js +18 -33
- package/dist/decoding/decodingUtils.js.map +1 -0
- package/dist/decoding/decodingUtils.spec.d.ts +1 -0
- package/dist/decoding/decodingUtils.spec.js +125 -0
- package/dist/decoding/decodingUtils.spec.js.map +1 -0
- package/dist/{encodings → decoding}/fsstDecoder.js +1 -4
- package/dist/decoding/fsstDecoder.js.map +1 -0
- package/dist/decoding/fsstDecoder.spec.d.ts +1 -0
- package/dist/decoding/fsstDecoder.spec.js +36 -0
- package/dist/decoding/fsstDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/geometryDecoder.js +83 -101
- package/dist/decoding/geometryDecoder.js.map +1 -0
- package/dist/decoding/geometryDecoder.spec.d.ts +1 -0
- package/dist/decoding/geometryDecoder.spec.js +5 -0
- package/dist/decoding/geometryDecoder.spec.js.map +1 -0
- package/dist/decoding/geometryScaling.js +2 -0
- package/dist/decoding/geometryScaling.js.map +1 -0
- package/dist/{encodings → decoding}/intWrapper.js +2 -4
- package/dist/decoding/intWrapper.js.map +1 -0
- package/dist/{encodings → decoding}/integerDecodingUtils.d.ts +13 -0
- package/dist/{encodings → decoding}/integerDecodingUtils.js +127 -130
- package/dist/decoding/integerDecodingUtils.js.map +1 -0
- package/dist/decoding/integerDecodingUtils.spec.d.ts +1 -0
- package/dist/decoding/integerDecodingUtils.spec.js +194 -0
- package/dist/decoding/integerDecodingUtils.spec.js.map +1 -0
- package/dist/{encodings → decoding}/integerStreamDecoder.d.ts +1 -1
- package/dist/decoding/integerStreamDecoder.js +263 -0
- package/dist/decoding/integerStreamDecoder.js.map +1 -0
- package/dist/decoding/integerStreamDecoder.spec.d.ts +1 -0
- package/dist/decoding/integerStreamDecoder.spec.js +125 -0
- package/dist/decoding/integerStreamDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/propertyDecoder.d.ts +1 -1
- package/dist/decoding/propertyDecoder.js +140 -0
- package/dist/decoding/propertyDecoder.js.map +1 -0
- package/dist/decoding/propertyDecoder.spec.d.ts +1 -0
- package/dist/decoding/propertyDecoder.spec.js +682 -0
- package/dist/decoding/propertyDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/stringDecoder.d.ts +1 -1
- package/dist/decoding/stringDecoder.js +142 -0
- package/dist/decoding/stringDecoder.js.map +1 -0
- package/dist/decoding/stringDecoder.spec.d.ts +1 -0
- package/dist/decoding/stringDecoder.spec.js +311 -0
- package/dist/decoding/stringDecoder.spec.js.map +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +5 -18
- package/dist/index.js.map +1 -1
- package/dist/metadata/tile/dictionaryType.js +2 -5
- package/dist/metadata/tile/dictionaryType.js.map +1 -1
- package/dist/metadata/tile/lengthType.js +2 -5
- package/dist/metadata/tile/lengthType.js.map +1 -1
- package/dist/metadata/tile/logicalLevelTechnique.js +2 -5
- package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/logicalStreamType.d.ts +3 -3
- package/dist/metadata/tile/logicalStreamType.js +4 -5
- package/dist/metadata/tile/logicalStreamType.js.map +1 -1
- package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +6 -6
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js +8 -10
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
- package/dist/metadata/tile/offsetType.js +2 -5
- package/dist/metadata/tile/offsetType.js.map +1 -1
- package/dist/metadata/tile/physicalLevelTechnique.js +2 -5
- package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/physicalStreamType.js +2 -5
- package/dist/metadata/tile/physicalStreamType.js.map +1 -1
- package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +10 -6
- package/dist/metadata/tile/rleEncodedStreamMetadata.js +14 -10
- package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
- package/dist/metadata/tile/scalarType.js +2 -5
- package/dist/metadata/tile/scalarType.js.map +1 -1
- package/dist/metadata/tile/streamMetadata.d.ts +11 -5
- package/dist/metadata/tile/streamMetadata.js +35 -24
- package/dist/metadata/tile/streamMetadata.js.map +1 -1
- package/dist/metadata/tile/streamMetadataDecoder.d.ts +2 -2
- package/dist/metadata/tile/streamMetadataDecoder.js +13 -17
- package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +2 -2
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +40 -32
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
- package/dist/metadata/tileset/tilesetMetadata.js +29 -0
- package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
- package/dist/metadata/tileset/typeMap.d.ts +1 -1
- package/dist/metadata/tileset/typeMap.js +63 -59
- package/dist/metadata/tileset/typeMap.js.map +1 -1
- package/dist/mltDecoder.d.ts +1 -1
- package/dist/mltDecoder.js +58 -64
- package/dist/mltDecoder.js.map +1 -1
- package/dist/mltDecoder.spec.d.ts +1 -0
- package/dist/mltDecoder.spec.js +152 -0
- package/dist/mltDecoder.spec.js.map +1 -0
- package/dist/mltMetadata.js +4 -7
- package/dist/mltMetadata.js.map +1 -1
- package/dist/vector/constant/intConstVector.d.ts +0 -13
- package/dist/vector/constant/intConstVector.js +2 -81
- package/dist/vector/constant/intConstVector.js.map +1 -1
- package/dist/vector/constant/longConstVector.d.ts +0 -13
- package/dist/vector/constant/longConstVector.js +2 -79
- package/dist/vector/constant/longConstVector.js.map +1 -1
- package/dist/vector/dictionary/stringDictionaryVector.d.ts +0 -14
- package/dist/vector/dictionary/stringDictionaryVector.js +6 -167
- package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
- package/dist/vector/featureTable.d.ts +4 -0
- package/dist/vector/featureTable.js +48 -12
- package/dist/vector/featureTable.js.map +1 -1
- package/dist/vector/fixedSizeVector.js +2 -9
- package/dist/vector/fixedSizeVector.js.map +1 -1
- package/dist/vector/flat/bitVector.js +3 -4
- package/dist/vector/flat/bitVector.js.map +1 -1
- package/dist/vector/flat/booleanFlatVector.d.ts +0 -13
- package/dist/vector/flat/booleanFlatVector.js +3 -46
- package/dist/vector/flat/booleanFlatVector.js.map +1 -1
- package/dist/vector/flat/doubleFlatVector.d.ts +0 -13
- package/dist/vector/flat/doubleFlatVector.js +2 -101
- package/dist/vector/flat/doubleFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.d.ts +0 -13
- package/dist/vector/flat/floatFlatVector.js +2 -101
- package/dist/vector/flat/floatFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/floatFlatVector.spec.js +14 -0
- package/dist/vector/flat/floatFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/intFlatVector.d.ts +0 -13
- package/dist/vector/flat/intFlatVector.js +2 -115
- package/dist/vector/flat/intFlatVector.js.map +1 -1
- package/dist/vector/flat/intFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/intFlatVector.spec.js +15 -0
- package/dist/vector/flat/intFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/longFlatVector.d.ts +0 -13
- package/dist/vector/flat/longFlatVector.js +2 -116
- package/dist/vector/flat/longFlatVector.js.map +1 -1
- package/dist/vector/flat/longFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/longFlatVector.spec.js +14 -0
- package/dist/vector/flat/longFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/stringFlatVector.d.ts +0 -13
- package/dist/vector/flat/stringFlatVector.js +5 -155
- package/dist/vector/flat/stringFlatVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +0 -13
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +14 -51
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +28 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
- package/dist/vector/geometry/constGeometryVector.d.ts +0 -4
- package/dist/vector/geometry/constGeometryVector.js +9 -30
- package/dist/vector/geometry/constGeometryVector.js.map +1 -1
- package/dist/vector/geometry/constGpuVector.d.ts +0 -4
- package/dist/vector/geometry/constGpuVector.js +4 -25
- package/dist/vector/geometry/constGpuVector.js.map +1 -1
- package/dist/vector/geometry/flatGeometryVector.d.ts +0 -4
- package/dist/vector/geometry/flatGeometryVector.js +8 -36
- package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
- package/dist/vector/geometry/flatGpuVector.d.ts +0 -4
- package/dist/vector/geometry/flatGpuVector.js +3 -29
- package/dist/vector/geometry/flatGpuVector.js.map +1 -1
- package/dist/vector/geometry/geometryType.js +4 -7
- package/dist/vector/geometry/geometryType.js.map +1 -1
- package/dist/vector/geometry/geometryVector.d.ts +8 -7
- package/dist/vector/geometry/geometryVector.js +13 -14
- package/dist/vector/geometry/geometryVector.js.map +1 -1
- package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -2
- package/dist/vector/geometry/geometryVectorConverter.js +38 -41
- package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
- package/dist/vector/geometry/gpuVector.d.ts +8 -7
- package/dist/vector/geometry/gpuVector.js +97 -13
- package/dist/vector/geometry/gpuVector.js.map +1 -1
- package/dist/vector/geometry/spaceFillingCurve.js +10 -5
- package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
- package/dist/vector/geometry/topologyVector.js +4 -4
- package/dist/vector/geometry/topologyVector.js.map +1 -1
- package/dist/vector/geometry/vertexBufferType.js +2 -5
- package/dist/vector/geometry/vertexBufferType.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.d.ts +1 -1
- package/dist/vector/geometry/zOrderCurve.js +3 -9
- package/dist/vector/geometry/zOrderCurve.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
- package/dist/vector/geometry/zOrderCurve.spec.js +14 -0
- package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
- package/dist/vector/intVector.js +1 -2
- package/dist/vector/sequence/intSequenceVector.d.ts +0 -13
- package/dist/vector/sequence/intSequenceVector.js +2 -64
- package/dist/vector/sequence/intSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVector.d.ts +0 -13
- package/dist/vector/sequence/longSequenceVector.js +2 -49
- package/dist/vector/sequence/longSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVektor.spec.d.ts +1 -0
- package/dist/vector/sequence/longSequenceVektor.spec.js +11 -0
- package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -0
- package/dist/vector/sequence/sequenceVector.js +3 -9
- package/dist/vector/sequence/sequenceVector.js.map +1 -1
- package/dist/vector/variableSizeVector.js +3 -9
- package/dist/vector/variableSizeVector.js.map +1 -1
- package/dist/vector/vector.d.ts +0 -17
- package/dist/vector/vector.js +6 -49
- package/dist/vector/vector.js.map +1 -1
- package/dist/vector/vectorType.js +2 -5
- package/dist/vector/vectorType.js.map +1 -1
- package/package.json +10 -31
- package/dist/encodings/decodingUtils.js.map +0 -1
- package/dist/encodings/doubleDecoder.d.ts +0 -4
- package/dist/encodings/doubleDecoder.js +0 -22
- package/dist/encodings/doubleDecoder.js.map +0 -1
- package/dist/encodings/fastpfor/bitpacking.d.ts +0 -51
- package/dist/encodings/fastpfor/bitpacking.js +0 -4444
- package/dist/encodings/fastpfor/bitpacking.js.map +0 -1
- package/dist/encodings/fastpfor/codec.d.ts +0 -19
- package/dist/encodings/fastpfor/codec.js +0 -3
- package/dist/encodings/fastpfor/codec.js.map +0 -1
- package/dist/encodings/fastpfor/fastpfor.d.ts +0 -38
- package/dist/encodings/fastpfor/fastpfor.js +0 -123
- package/dist/encodings/fastpfor/fastpfor.js.map +0 -1
- package/dist/encodings/fastpfor/index.d.ts +0 -20
- package/dist/encodings/fastpfor/index.js +0 -47
- package/dist/encodings/fastpfor/index.js.map +0 -1
- package/dist/encodings/fastpfor/util.d.ts +0 -2
- package/dist/encodings/fastpfor/util.js +0 -16
- package/dist/encodings/fastpfor/util.js.map +0 -1
- package/dist/encodings/fastpfor/varint.d.ts +0 -18
- package/dist/encodings/fastpfor/varint.js +0 -125
- package/dist/encodings/fastpfor/varint.js.map +0 -1
- package/dist/encodings/fsstDecoder.js.map +0 -1
- package/dist/encodings/geometryDecoder.js.map +0 -1
- package/dist/encodings/geometryScaling.js +0 -3
- package/dist/encodings/geometryScaling.js.map +0 -1
- package/dist/encodings/intWrapper.js.map +0 -1
- package/dist/encodings/integerDecodingUtils.js.map +0 -1
- package/dist/encodings/integerStreamDecoder.js +0 -254
- package/dist/encodings/integerStreamDecoder.js.map +0 -1
- package/dist/encodings/propertyDecoder.js +0 -146
- package/dist/encodings/propertyDecoder.js.map +0 -1
- package/dist/encodings/stringDecoder.js +0 -147
- package/dist/encodings/stringDecoder.js.map +0 -1
- package/dist/metadata/tileset/tilesetMetadata.g.d.ts +0 -418
- package/dist/metadata/tileset/tilesetMetadata.g.js +0 -476
- package/dist/metadata/tileset/tilesetMetadata.g.js.map +0 -1
- package/dist/vector/filter/constSelectionVector.d.ts +0 -0
- package/dist/vector/filter/constSelectionVector.js +0 -1
- package/dist/vector/filter/constSelectionVector.js.map +0 -1
- package/dist/vector/filter/flatSelectionVector.d.ts +0 -16
- package/dist/vector/filter/flatSelectionVector.js +0 -42
- package/dist/vector/filter/flatSelectionVector.js.map +0 -1
- package/dist/vector/filter/selectionVector.d.ts +0 -8
- package/dist/vector/filter/selectionVector.js +0 -3
- package/dist/vector/filter/selectionVector.js.map +0 -1
- package/dist/vector/filter/selectionVectorUtils.d.ts +0 -7
- package/dist/vector/filter/selectionVectorUtils.js +0 -44
- package/dist/vector/filter/selectionVectorUtils.js.map +0 -1
- package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
- package/dist/vector/filter/sequenceSelectionVector.js +0 -1
- package/dist/vector/filter/sequenceSelectionVector.js.map +0 -1
- package/dist/vector/geometry/point.d.ts +0 -195
- package/dist/vector/geometry/point.js +0 -283
- package/dist/vector/geometry/point.js.map +0 -1
- /package/dist/{encodings → decoding}/decodingUtils.d.ts +0 -0
- /package/dist/{encodings → decoding}/fsstDecoder.d.ts +0 -0
- /package/dist/{encodings → decoding}/geometryDecoder.d.ts +0 -0
- /package/dist/{encodings → decoding}/geometryScaling.d.ts +0 -0
- /package/dist/{encodings → decoding}/intWrapper.d.ts +0 -0
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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");
|
|
1
|
+
import { StreamMetadataDecoder } from "../metadata/tile/streamMetadataDecoder";
|
|
2
|
+
import IntegerStreamDecoder from "./integerStreamDecoder";
|
|
3
|
+
import { VectorType } from "../vector/vectorType";
|
|
4
|
+
import { PhysicalStreamType } from "../metadata/tile/physicalStreamType";
|
|
5
|
+
import { LengthType } from "../metadata/tile/lengthType";
|
|
6
|
+
import { DictionaryType } from "../metadata/tile/dictionaryType";
|
|
7
|
+
import TopologyVector from "../vector/geometry/topologyVector";
|
|
8
|
+
import { ConstGeometryVector } from "../vector/geometry/constGeometryVector";
|
|
9
|
+
import { FlatGeometryVector } from "../vector/geometry/flatGeometryVector";
|
|
10
|
+
import { OffsetType } from "../metadata/tile/offsetType";
|
|
11
|
+
import { ConstGpuVector } from "../vector/geometry/constGpuVector";
|
|
12
|
+
import { FlatGpuVector } from "../vector/geometry/flatGpuVector";
|
|
19
13
|
// TODO: get rid of numFeatures parameter
|
|
20
|
-
function decodeGeometryColumn(tile, numStreams, offset, numFeatures, scalingData) {
|
|
21
|
-
const geometryTypeMetadata =
|
|
22
|
-
const geometryTypesVectorType =
|
|
14
|
+
export function decodeGeometryColumn(tile, numStreams, offset, numFeatures, scalingData) {
|
|
15
|
+
const geometryTypeMetadata = StreamMetadataDecoder.decode(tile, offset);
|
|
16
|
+
const geometryTypesVectorType = IntegerStreamDecoder.getVectorType(geometryTypeMetadata, numFeatures, tile, offset);
|
|
23
17
|
let geometryOffsets = null;
|
|
24
18
|
let partOffsets = null;
|
|
25
19
|
let ringOffsets = null;
|
|
@@ -30,54 +24,49 @@ function decodeGeometryColumn(tile, numStreams, offset, numFeatures, scalingData
|
|
|
30
24
|
// in one FeatureTable?
|
|
31
25
|
let triangleOffsets = null;
|
|
32
26
|
let indexBuffer = null;
|
|
33
|
-
if (geometryTypesVectorType ===
|
|
27
|
+
if (geometryTypesVectorType === VectorType.CONST) {
|
|
34
28
|
/* All geometries in the colum have the same geometry type */
|
|
35
|
-
const geometryType =
|
|
29
|
+
const geometryType = IntegerStreamDecoder.decodeConstIntStream(tile, offset, geometryTypeMetadata, false);
|
|
36
30
|
for (let i = 0; i < numStreams - 1; i++) {
|
|
37
|
-
const geometryStreamMetadata =
|
|
31
|
+
const geometryStreamMetadata = StreamMetadataDecoder.decode(tile, offset);
|
|
38
32
|
switch (geometryStreamMetadata.physicalStreamType) {
|
|
39
|
-
case
|
|
33
|
+
case PhysicalStreamType.LENGTH:
|
|
40
34
|
switch (geometryStreamMetadata.logicalStreamType.lengthType) {
|
|
41
|
-
case
|
|
42
|
-
geometryOffsets =
|
|
35
|
+
case LengthType.GEOMETRIES:
|
|
36
|
+
geometryOffsets = IntegerStreamDecoder.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
43
37
|
break;
|
|
44
|
-
case
|
|
45
|
-
partOffsets =
|
|
46
|
-
integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
38
|
+
case LengthType.PARTS:
|
|
39
|
+
partOffsets = IntegerStreamDecoder.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
47
40
|
break;
|
|
48
|
-
case
|
|
49
|
-
ringOffsets =
|
|
50
|
-
integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
41
|
+
case LengthType.RINGS:
|
|
42
|
+
ringOffsets = IntegerStreamDecoder.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
51
43
|
break;
|
|
52
|
-
case
|
|
53
|
-
triangleOffsets =
|
|
44
|
+
case LengthType.TRIANGLES:
|
|
45
|
+
triangleOffsets = IntegerStreamDecoder.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
54
46
|
}
|
|
55
47
|
break;
|
|
56
|
-
case
|
|
48
|
+
case PhysicalStreamType.OFFSET: {
|
|
57
49
|
switch (geometryStreamMetadata.logicalStreamType.offsetType) {
|
|
58
|
-
case
|
|
59
|
-
vertexOffsets =
|
|
60
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
50
|
+
case OffsetType.VERTEX:
|
|
51
|
+
vertexOffsets = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
61
52
|
break;
|
|
62
|
-
case
|
|
63
|
-
indexBuffer =
|
|
64
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
53
|
+
case OffsetType.INDEX:
|
|
54
|
+
indexBuffer = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
65
55
|
break;
|
|
66
56
|
}
|
|
67
57
|
break;
|
|
68
58
|
}
|
|
69
|
-
case
|
|
70
|
-
if (
|
|
71
|
-
vertexBuffer =
|
|
72
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, true, scalingData);
|
|
59
|
+
case PhysicalStreamType.DATA: {
|
|
60
|
+
if (DictionaryType.VERTEX === geometryStreamMetadata.logicalStreamType.dictionaryType) {
|
|
61
|
+
vertexBuffer = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, true, scalingData);
|
|
73
62
|
}
|
|
74
63
|
else {
|
|
75
64
|
const mortonMetadata = geometryStreamMetadata;
|
|
76
65
|
mortonSettings = {
|
|
77
66
|
numBits: mortonMetadata.numBits(),
|
|
78
|
-
coordinateShift: mortonMetadata.coordinateShift()
|
|
67
|
+
coordinateShift: mortonMetadata.coordinateShift(),
|
|
79
68
|
};
|
|
80
|
-
vertexBuffer =
|
|
69
|
+
vertexBuffer = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false, scalingData);
|
|
81
70
|
}
|
|
82
71
|
break;
|
|
83
72
|
}
|
|
@@ -86,71 +75,66 @@ function decodeGeometryColumn(tile, numStreams, offset, numFeatures, scalingData
|
|
|
86
75
|
if (indexBuffer !== null) {
|
|
87
76
|
if (geometryOffsets != null || partOffsets != null) {
|
|
88
77
|
/* Case when the indices of a Polygon outline are encoded in the tile */
|
|
89
|
-
const topologyVector = new
|
|
90
|
-
return
|
|
78
|
+
const topologyVector = new TopologyVector(geometryOffsets, partOffsets, ringOffsets);
|
|
79
|
+
return ConstGpuVector.create(numFeatures, geometryType, triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
|
|
91
80
|
}
|
|
92
81
|
/* Case when the no Polygon outlines are encoded in the tile */
|
|
93
|
-
return
|
|
82
|
+
return ConstGpuVector.create(numFeatures, geometryType, triangleOffsets, indexBuffer, vertexBuffer);
|
|
94
83
|
}
|
|
95
|
-
return mortonSettings === null
|
|
96
|
-
/* Currently only 2D coordinates (Vec2) are implemented in the encoder */
|
|
97
|
-
|
|
98
|
-
|
|
84
|
+
return mortonSettings === null
|
|
85
|
+
? /* Currently only 2D coordinates (Vec2) are implemented in the encoder */
|
|
86
|
+
ConstGeometryVector.create(numFeatures, geometryType, new TopologyVector(geometryOffsets, partOffsets, ringOffsets), vertexOffsets, vertexBuffer)
|
|
87
|
+
: ConstGeometryVector.createMortonEncoded(numFeatures, geometryType, new TopologyVector(geometryOffsets, partOffsets, ringOffsets), vertexOffsets, vertexBuffer, mortonSettings);
|
|
99
88
|
}
|
|
100
89
|
/* Different geometry types are mixed in the geometry column */
|
|
101
|
-
const geometryTypeVector =
|
|
90
|
+
const geometryTypeVector = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryTypeMetadata, false);
|
|
102
91
|
for (let i = 0; i < numStreams - 1; i++) {
|
|
103
|
-
const geometryStreamMetadata =
|
|
92
|
+
const geometryStreamMetadata = StreamMetadataDecoder.decode(tile, offset);
|
|
104
93
|
switch (geometryStreamMetadata.physicalStreamType) {
|
|
105
|
-
case
|
|
94
|
+
case PhysicalStreamType.LENGTH:
|
|
106
95
|
switch (geometryStreamMetadata.logicalStreamType.lengthType) {
|
|
107
|
-
case
|
|
108
|
-
geometryOffsets =
|
|
109
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
96
|
+
case LengthType.GEOMETRIES:
|
|
97
|
+
geometryOffsets = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
110
98
|
break;
|
|
111
|
-
case
|
|
112
|
-
partOffsets =
|
|
113
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
99
|
+
case LengthType.PARTS:
|
|
100
|
+
partOffsets = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
114
101
|
break;
|
|
115
|
-
case
|
|
116
|
-
ringOffsets =
|
|
117
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
102
|
+
case LengthType.RINGS:
|
|
103
|
+
ringOffsets = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
118
104
|
break;
|
|
119
|
-
case
|
|
120
|
-
triangleOffsets =
|
|
105
|
+
case LengthType.TRIANGLES:
|
|
106
|
+
triangleOffsets = IntegerStreamDecoder.decodeLengthStreamToOffsetBuffer(tile, offset, geometryStreamMetadata);
|
|
121
107
|
}
|
|
122
108
|
break;
|
|
123
|
-
case
|
|
109
|
+
case PhysicalStreamType.OFFSET:
|
|
124
110
|
switch (geometryStreamMetadata.logicalStreamType.offsetType) {
|
|
125
|
-
case
|
|
126
|
-
vertexOffsets =
|
|
127
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
111
|
+
case OffsetType.VERTEX:
|
|
112
|
+
vertexOffsets = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
128
113
|
break;
|
|
129
|
-
case
|
|
130
|
-
indexBuffer =
|
|
131
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
114
|
+
case OffsetType.INDEX:
|
|
115
|
+
indexBuffer = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false);
|
|
132
116
|
break;
|
|
133
117
|
}
|
|
134
118
|
break;
|
|
135
|
-
case
|
|
136
|
-
if (
|
|
137
|
-
vertexBuffer =
|
|
138
|
-
integerStreamDecoder_1.default.decodeIntStream(tile, offset, geometryStreamMetadata, true, scalingData);
|
|
119
|
+
case PhysicalStreamType.DATA:
|
|
120
|
+
if (DictionaryType.VERTEX === geometryStreamMetadata.logicalStreamType.dictionaryType) {
|
|
121
|
+
vertexBuffer = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, true, scalingData);
|
|
139
122
|
}
|
|
140
123
|
else {
|
|
141
124
|
const mortonMetadata = geometryStreamMetadata;
|
|
142
|
-
mortonSettings = {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
125
|
+
mortonSettings = {
|
|
126
|
+
numBits: mortonMetadata.numBits(),
|
|
127
|
+
coordinateShift: mortonMetadata.coordinateShift(),
|
|
128
|
+
};
|
|
129
|
+
vertexBuffer = IntegerStreamDecoder.decodeIntStream(tile, offset, geometryStreamMetadata, false, scalingData);
|
|
146
130
|
}
|
|
147
131
|
break;
|
|
148
132
|
}
|
|
149
133
|
}
|
|
150
134
|
if (indexBuffer !== null && partOffsets === null) {
|
|
151
135
|
/* Case when the indices of a Polygon outline are not encoded in the data so no
|
|
152
|
-
|
|
153
|
-
return
|
|
136
|
+
* topology data are present in the tile */
|
|
137
|
+
return FlatGpuVector.create(geometryTypeVector, triangleOffsets, indexBuffer, vertexBuffer);
|
|
154
138
|
}
|
|
155
139
|
// TODO: refactor the following instructions -> decode in one pass for performance reasons
|
|
156
140
|
/* Calculate the offsets from the length buffer for util access */
|
|
@@ -161,8 +145,7 @@ function decodeGeometryColumn(tile, numStreams, offset, numFeatures, scalingData
|
|
|
161
145
|
ringOffsets = decodeLevel2LengthStream(geometryTypeVector, geometryOffsets, partOffsets, ringOffsets);
|
|
162
146
|
}
|
|
163
147
|
else if (partOffsets !== null) {
|
|
164
|
-
partOffsets =
|
|
165
|
-
decodeLevel1WithoutRingBufferLengthStream(geometryTypeVector, geometryOffsets, partOffsets);
|
|
148
|
+
partOffsets = decodeLevel1WithoutRingBufferLengthStream(geometryTypeVector, geometryOffsets, partOffsets);
|
|
166
149
|
}
|
|
167
150
|
}
|
|
168
151
|
else if (partOffsets !== null && ringOffsets !== null) {
|
|
@@ -174,11 +157,11 @@ function decodeGeometryColumn(tile, numStreams, offset, numFeatures, scalingData
|
|
|
174
157
|
}
|
|
175
158
|
if (indexBuffer !== null) {
|
|
176
159
|
/* Case when the indices of a Polygon outline are encoded in the tile */
|
|
177
|
-
return
|
|
160
|
+
return FlatGpuVector.create(geometryTypeVector, triangleOffsets, indexBuffer, vertexBuffer, new TopologyVector(geometryOffsets, partOffsets, ringOffsets));
|
|
178
161
|
}
|
|
179
|
-
return mortonSettings === null
|
|
180
|
-
|
|
181
|
-
:
|
|
162
|
+
return mortonSettings === null /* Currently only 2D coordinates (Vec2) are implemented in the encoder */
|
|
163
|
+
? FlatGeometryVector.create(geometryTypeVector, new TopologyVector(geometryOffsets, partOffsets, ringOffsets), vertexOffsets, vertexBuffer)
|
|
164
|
+
: FlatGeometryVector.createMortonEncoded(geometryTypeVector, new TopologyVector(geometryOffsets, partOffsets, ringOffsets), vertexOffsets, vertexBuffer, mortonSettings);
|
|
182
165
|
}
|
|
183
166
|
/*
|
|
184
167
|
* Handle the parsing of the different topology length buffers separate not generic to reduce the
|
|
@@ -195,8 +178,8 @@ function decodeRootLengthStream(geometryTypes, rootLengthStream, bufferId) {
|
|
|
195
178
|
* BufferId: 1 PartOffsets -> Polygon
|
|
196
179
|
* BufferId: 0 PartOffsets, RingOffsets -> LineString
|
|
197
180
|
* */
|
|
198
|
-
previousOffset = rootBufferOffsets[i + 1] =
|
|
199
|
-
? rootLengthStream[rootLengthCounter++] : 1);
|
|
181
|
+
previousOffset = rootBufferOffsets[i + 1] =
|
|
182
|
+
previousOffset + (geometryTypes[i] > bufferId ? rootLengthStream[rootLengthCounter++] : 1);
|
|
200
183
|
}
|
|
201
184
|
return rootBufferOffsets;
|
|
202
185
|
}
|
|
@@ -209,8 +192,9 @@ function decodeLevel1LengthStream(geometryTypes, rootOffsetBuffer, level1LengthB
|
|
|
209
192
|
for (let i = 0; i < geometryTypes.length; i++) {
|
|
210
193
|
const geometryType = geometryTypes[i];
|
|
211
194
|
const numGeometries = rootOffsetBuffer[i + 1] - rootOffsetBuffer[i];
|
|
212
|
-
if (geometryType === 5 ||
|
|
213
|
-
|
|
195
|
+
if (geometryType === 5 ||
|
|
196
|
+
geometryType === 2 ||
|
|
197
|
+
(isLineStringPresent && (geometryType === 4 || geometryType === 1))) {
|
|
214
198
|
/* For MultiPolygon, Polygon and in some cases for MultiLineString and LineString
|
|
215
199
|
* a value in the level1LengthBuffer exists */
|
|
216
200
|
for (let j = 0; j < numGeometries; j++) {
|
|
@@ -270,13 +254,11 @@ function decodeLevel2LengthStream(geometryTypes, rootOffsetBuffer, level1OffsetB
|
|
|
270
254
|
/* For MultiPolygon, MultiLineString, Polygon and LineString a value in level2LengthBuffer
|
|
271
255
|
* exists */
|
|
272
256
|
for (let j = 0; j < numGeometries; j++) {
|
|
273
|
-
const numParts = level1OffsetBuffer[level1OffsetBufferCounter]
|
|
274
|
-
- level1OffsetBuffer[level1OffsetBufferCounter - 1];
|
|
257
|
+
const numParts = level1OffsetBuffer[level1OffsetBufferCounter] - level1OffsetBuffer[level1OffsetBufferCounter - 1];
|
|
275
258
|
level1OffsetBufferCounter++;
|
|
276
259
|
for (let k = 0; k < numParts; k++) {
|
|
277
|
-
previousOffset =
|
|
278
|
-
|
|
279
|
-
previousOffset + level2LengthBuffer[level2LengthBufferCounter++];
|
|
260
|
+
previousOffset = level2BufferOffsets[level2OffsetBufferCounter++] =
|
|
261
|
+
previousOffset + level2LengthBuffer[level2LengthBufferCounter++];
|
|
280
262
|
}
|
|
281
263
|
}
|
|
282
264
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometryDecoder.js","sourceRoot":"","sources":["../../src/decoding/geometryDecoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometryDecoder.spec.js","sourceRoot":"","sources":["../../src/decoding/geometryDecoder.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEtC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;AAC7G,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometryScaling.js","sourceRoot":"","sources":["../../src/decoding/geometryScaling.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
// Ported from https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/IntWrapper.java
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export default class IntWrapper {
|
|
3
|
+
value;
|
|
5
4
|
constructor(value) {
|
|
6
5
|
this.value = value;
|
|
7
6
|
}
|
|
@@ -18,5 +17,4 @@ class IntWrapper {
|
|
|
18
17
|
this.value += v;
|
|
19
18
|
}
|
|
20
19
|
}
|
|
21
|
-
exports.default = IntWrapper;
|
|
22
20
|
//# sourceMappingURL=intWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intWrapper.js","sourceRoot":"","sources":["../../src/decoding/intWrapper.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAE5H,MAAM,CAAC,OAAO,OAAO,UAAU;IACP;IAApB,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE9B,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;CACJ"}
|
|
@@ -38,6 +38,19 @@ export declare function padWithZerosInt64(bitVector: BitVector, data: BigInt64Ar
|
|
|
38
38
|
export declare function padZigZagWithZerosInt64(bitVector: BitVector, data: BigInt64Array): BigInt64Array;
|
|
39
39
|
export declare function decodeNullableRle(data: Int32Array, streamMetadata: StreamMetadata, isSigned: boolean, bitVector: BitVector): Int32Array;
|
|
40
40
|
export declare function decodeNullableRleInt64(data: BigInt64Array, streamMetadata: StreamMetadata, isSigned: boolean, bitVector: BitVector): BigInt64Array;
|
|
41
|
+
/**
|
|
42
|
+
* Decode Delta-RLE with multiple runs by fully reconstructing values.
|
|
43
|
+
*
|
|
44
|
+
* @param data RLE encoded data: [run1, run2, ..., value1, value2, ...]
|
|
45
|
+
* @param numRuns Number of runs in the RLE encoding
|
|
46
|
+
* @param numValues Total number of values to reconstruct
|
|
47
|
+
* @returns Reconstructed values with deltas applied
|
|
48
|
+
*/
|
|
49
|
+
export declare function decodeDeltaRle(data: Int32Array, numRuns: number, numValues: number): Int32Array;
|
|
50
|
+
/**
|
|
51
|
+
* Decode Delta-RLE with multiple runs for 64-bit integers.
|
|
52
|
+
*/
|
|
53
|
+
export declare function decodeDeltaRleInt64(data: BigInt64Array, numRuns: number, numValues: number): BigInt64Array;
|
|
41
54
|
export declare function decodeUnsignedConstRle(data: Int32Array): number;
|
|
42
55
|
export declare function decodeZigZagConstRle(data: Int32Array): number;
|
|
43
56
|
export declare function decodeZigZagSequenceRle(data: Int32Array): [baseValue: number, delta: number];
|