@maplibre/mlt 0.0.1-alpha.9 → 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.
Files changed (253) hide show
  1. package/dist/{encodings → decoding}/decodingUtils.js +18 -33
  2. package/dist/decoding/decodingUtils.js.map +1 -0
  3. package/dist/decoding/decodingUtils.spec.d.ts +1 -0
  4. package/dist/decoding/decodingUtils.spec.js +125 -0
  5. package/dist/decoding/decodingUtils.spec.js.map +1 -0
  6. package/dist/{encodings → decoding}/fsstDecoder.js +1 -4
  7. package/dist/decoding/fsstDecoder.js.map +1 -0
  8. package/dist/decoding/fsstDecoder.spec.d.ts +1 -0
  9. package/dist/decoding/fsstDecoder.spec.js +36 -0
  10. package/dist/decoding/fsstDecoder.spec.js.map +1 -0
  11. package/dist/{encodings → decoding}/geometryDecoder.js +65 -71
  12. package/dist/decoding/geometryDecoder.js.map +1 -0
  13. package/dist/decoding/geometryDecoder.spec.d.ts +1 -0
  14. package/dist/decoding/geometryDecoder.spec.js +5 -0
  15. package/dist/decoding/geometryDecoder.spec.js.map +1 -0
  16. package/dist/decoding/geometryScaling.js +2 -0
  17. package/dist/decoding/geometryScaling.js.map +1 -0
  18. package/dist/{encodings → decoding}/intWrapper.js +2 -4
  19. package/dist/decoding/intWrapper.js.map +1 -0
  20. package/dist/{encodings → decoding}/integerDecodingUtils.d.ts +13 -0
  21. package/dist/{encodings → decoding}/integerDecodingUtils.js +89 -88
  22. package/dist/decoding/integerDecodingUtils.js.map +1 -0
  23. package/dist/decoding/integerDecodingUtils.spec.d.ts +1 -0
  24. package/dist/decoding/integerDecodingUtils.spec.js +194 -0
  25. package/dist/decoding/integerDecodingUtils.spec.js.map +1 -0
  26. package/dist/{encodings → decoding}/integerStreamDecoder.d.ts +1 -1
  27. package/dist/decoding/integerStreamDecoder.js +263 -0
  28. package/dist/decoding/integerStreamDecoder.js.map +1 -0
  29. package/dist/decoding/integerStreamDecoder.spec.d.ts +1 -0
  30. package/dist/decoding/integerStreamDecoder.spec.js +125 -0
  31. package/dist/decoding/integerStreamDecoder.spec.js.map +1 -0
  32. package/dist/{encodings → decoding}/propertyDecoder.d.ts +1 -1
  33. package/dist/decoding/propertyDecoder.js +140 -0
  34. package/dist/decoding/propertyDecoder.js.map +1 -0
  35. package/dist/decoding/propertyDecoder.spec.d.ts +1 -0
  36. package/dist/decoding/propertyDecoder.spec.js +682 -0
  37. package/dist/decoding/propertyDecoder.spec.js.map +1 -0
  38. package/dist/{encodings → decoding}/stringDecoder.d.ts +1 -1
  39. package/dist/decoding/stringDecoder.js +142 -0
  40. package/dist/decoding/stringDecoder.js.map +1 -0
  41. package/dist/decoding/stringDecoder.spec.d.ts +1 -0
  42. package/dist/decoding/stringDecoder.spec.js +311 -0
  43. package/dist/decoding/stringDecoder.spec.js.map +1 -0
  44. package/dist/index.d.ts +2 -4
  45. package/dist/index.js +5 -20
  46. package/dist/index.js.map +1 -1
  47. package/dist/metadata/tile/dictionaryType.js +2 -5
  48. package/dist/metadata/tile/dictionaryType.js.map +1 -1
  49. package/dist/metadata/tile/lengthType.js +2 -5
  50. package/dist/metadata/tile/lengthType.js.map +1 -1
  51. package/dist/metadata/tile/logicalLevelTechnique.js +2 -5
  52. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
  53. package/dist/metadata/tile/logicalStreamType.js +4 -5
  54. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  55. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +1 -1
  56. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +8 -10
  57. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
  58. package/dist/metadata/tile/offsetType.js +2 -5
  59. package/dist/metadata/tile/offsetType.js.map +1 -1
  60. package/dist/metadata/tile/physicalLevelTechnique.js +2 -5
  61. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
  62. package/dist/metadata/tile/physicalStreamType.js +2 -5
  63. package/dist/metadata/tile/physicalStreamType.js.map +1 -1
  64. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +5 -1
  65. package/dist/metadata/tile/rleEncodedStreamMetadata.js +14 -10
  66. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
  67. package/dist/metadata/tile/scalarType.js +2 -5
  68. package/dist/metadata/tile/scalarType.js.map +1 -1
  69. package/dist/metadata/tile/streamMetadata.d.ts +7 -1
  70. package/dist/metadata/tile/streamMetadata.js +35 -24
  71. package/dist/metadata/tile/streamMetadata.js.map +1 -1
  72. package/dist/metadata/tile/streamMetadataDecoder.d.ts +1 -1
  73. package/dist/metadata/tile/streamMetadataDecoder.js +13 -17
  74. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  75. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +2 -2
  76. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +40 -32
  77. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  78. package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
  79. package/dist/metadata/tileset/tilesetMetadata.js +29 -0
  80. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
  81. package/dist/metadata/tileset/typeMap.d.ts +1 -1
  82. package/dist/metadata/tileset/typeMap.js +63 -59
  83. package/dist/metadata/tileset/typeMap.js.map +1 -1
  84. package/dist/mltDecoder.d.ts +1 -1
  85. package/dist/mltDecoder.js +58 -64
  86. package/dist/mltDecoder.js.map +1 -1
  87. package/dist/mltDecoder.spec.d.ts +1 -0
  88. package/dist/mltDecoder.spec.js +152 -0
  89. package/dist/mltDecoder.spec.js.map +1 -0
  90. package/dist/mltMetadata.js +4 -7
  91. package/dist/mltMetadata.js.map +1 -1
  92. package/dist/vector/constant/intConstVector.d.ts +0 -13
  93. package/dist/vector/constant/intConstVector.js +2 -82
  94. package/dist/vector/constant/intConstVector.js.map +1 -1
  95. package/dist/vector/constant/longConstVector.d.ts +0 -13
  96. package/dist/vector/constant/longConstVector.js +2 -80
  97. package/dist/vector/constant/longConstVector.js.map +1 -1
  98. package/dist/vector/dictionary/stringDictionaryVector.d.ts +0 -14
  99. package/dist/vector/dictionary/stringDictionaryVector.js +6 -178
  100. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  101. package/dist/vector/featureTable.d.ts +7 -2
  102. package/dist/vector/featureTable.js +45 -11
  103. package/dist/vector/featureTable.js.map +1 -1
  104. package/dist/vector/fixedSizeVector.js +2 -9
  105. package/dist/vector/fixedSizeVector.js.map +1 -1
  106. package/dist/vector/flat/bitVector.js +3 -4
  107. package/dist/vector/flat/bitVector.js.map +1 -1
  108. package/dist/vector/flat/booleanFlatVector.d.ts +0 -13
  109. package/dist/vector/flat/booleanFlatVector.js +3 -45
  110. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  111. package/dist/vector/flat/doubleFlatVector.d.ts +0 -13
  112. package/dist/vector/flat/doubleFlatVector.js +2 -104
  113. package/dist/vector/flat/doubleFlatVector.js.map +1 -1
  114. package/dist/vector/flat/floatFlatVector.d.ts +0 -13
  115. package/dist/vector/flat/floatFlatVector.js +2 -104
  116. package/dist/vector/flat/floatFlatVector.js.map +1 -1
  117. package/dist/vector/flat/floatFlatVector.spec.d.ts +1 -0
  118. package/dist/vector/flat/floatFlatVector.spec.js +14 -0
  119. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -0
  120. package/dist/vector/flat/intFlatVector.d.ts +0 -13
  121. package/dist/vector/flat/intFlatVector.js +2 -117
  122. package/dist/vector/flat/intFlatVector.js.map +1 -1
  123. package/dist/vector/flat/intFlatVector.spec.d.ts +1 -0
  124. package/dist/vector/flat/intFlatVector.spec.js +15 -0
  125. package/dist/vector/flat/intFlatVector.spec.js.map +1 -0
  126. package/dist/vector/flat/longFlatVector.d.ts +0 -13
  127. package/dist/vector/flat/longFlatVector.js +2 -118
  128. package/dist/vector/flat/longFlatVector.js.map +1 -1
  129. package/dist/vector/flat/longFlatVector.spec.d.ts +1 -0
  130. package/dist/vector/flat/longFlatVector.spec.js +14 -0
  131. package/dist/vector/flat/longFlatVector.spec.js.map +1 -0
  132. package/dist/vector/flat/stringFlatVector.d.ts +0 -13
  133. package/dist/vector/flat/stringFlatVector.js +5 -166
  134. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  135. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +0 -13
  136. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +14 -51
  137. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  138. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
  139. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +28 -0
  140. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
  141. package/dist/vector/geometry/constGeometryVector.d.ts +0 -4
  142. package/dist/vector/geometry/constGeometryVector.js +9 -30
  143. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  144. package/dist/vector/geometry/constGpuVector.d.ts +0 -4
  145. package/dist/vector/geometry/constGpuVector.js +4 -25
  146. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  147. package/dist/vector/geometry/flatGeometryVector.d.ts +0 -4
  148. package/dist/vector/geometry/flatGeometryVector.js +8 -35
  149. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  150. package/dist/vector/geometry/flatGpuVector.d.ts +0 -4
  151. package/dist/vector/geometry/flatGpuVector.js +3 -29
  152. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  153. package/dist/vector/geometry/geometryType.js +4 -7
  154. package/dist/vector/geometry/geometryType.js.map +1 -1
  155. package/dist/vector/geometry/geometryVector.d.ts +2 -5
  156. package/dist/vector/geometry/geometryVector.js +11 -13
  157. package/dist/vector/geometry/geometryVector.js.map +1 -1
  158. package/dist/vector/geometry/geometryVectorConverter.js +28 -34
  159. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  160. package/dist/vector/geometry/gpuVector.d.ts +5 -4
  161. package/dist/vector/geometry/gpuVector.js +89 -5
  162. package/dist/vector/geometry/gpuVector.js.map +1 -1
  163. package/dist/vector/geometry/spaceFillingCurve.js +6 -4
  164. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
  165. package/dist/vector/geometry/topologyVector.js +4 -4
  166. package/dist/vector/geometry/topologyVector.js.map +1 -1
  167. package/dist/vector/geometry/vertexBufferType.js +2 -5
  168. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  169. package/dist/vector/geometry/zOrderCurve.js +2 -8
  170. package/dist/vector/geometry/zOrderCurve.js.map +1 -1
  171. package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
  172. package/dist/vector/geometry/zOrderCurve.spec.js +14 -0
  173. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
  174. package/dist/vector/intVector.js +1 -2
  175. package/dist/vector/sequence/intSequenceVector.d.ts +0 -13
  176. package/dist/vector/sequence/intSequenceVector.js +2 -64
  177. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  178. package/dist/vector/sequence/longSequenceVector.d.ts +0 -13
  179. package/dist/vector/sequence/longSequenceVector.js +2 -49
  180. package/dist/vector/sequence/longSequenceVector.js.map +1 -1
  181. package/dist/vector/sequence/longSequenceVektor.spec.d.ts +1 -0
  182. package/dist/vector/sequence/longSequenceVektor.spec.js +11 -0
  183. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -0
  184. package/dist/vector/sequence/sequenceVector.js +3 -9
  185. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  186. package/dist/vector/variableSizeVector.js +3 -9
  187. package/dist/vector/variableSizeVector.js.map +1 -1
  188. package/dist/vector/vector.d.ts +0 -17
  189. package/dist/vector/vector.js +5 -47
  190. package/dist/vector/vector.js.map +1 -1
  191. package/dist/vector/vectorType.js +2 -5
  192. package/dist/vector/vectorType.js.map +1 -1
  193. package/package.json +10 -31
  194. package/dist/encodings/decodingUtils.js.map +0 -1
  195. package/dist/encodings/doubleDecoder.d.ts +0 -4
  196. package/dist/encodings/doubleDecoder.js +0 -22
  197. package/dist/encodings/doubleDecoder.js.map +0 -1
  198. package/dist/encodings/fastpfor/bitpacking.d.ts +0 -51
  199. package/dist/encodings/fastpfor/bitpacking.js +0 -3930
  200. package/dist/encodings/fastpfor/bitpacking.js.map +0 -1
  201. package/dist/encodings/fastpfor/codec.d.ts +0 -19
  202. package/dist/encodings/fastpfor/codec.js +0 -3
  203. package/dist/encodings/fastpfor/codec.js.map +0 -1
  204. package/dist/encodings/fastpfor/fastpfor.d.ts +0 -38
  205. package/dist/encodings/fastpfor/fastpfor.js +0 -146
  206. package/dist/encodings/fastpfor/fastpfor.js.map +0 -1
  207. package/dist/encodings/fastpfor/index.d.ts +0 -20
  208. package/dist/encodings/fastpfor/index.js +0 -47
  209. package/dist/encodings/fastpfor/index.js.map +0 -1
  210. package/dist/encodings/fastpfor/util.d.ts +0 -2
  211. package/dist/encodings/fastpfor/util.js +0 -16
  212. package/dist/encodings/fastpfor/util.js.map +0 -1
  213. package/dist/encodings/fastpfor/varint.d.ts +0 -18
  214. package/dist/encodings/fastpfor/varint.js +0 -125
  215. package/dist/encodings/fastpfor/varint.js.map +0 -1
  216. package/dist/encodings/fsstDecoder.js.map +0 -1
  217. package/dist/encodings/geometryDecoder.js.map +0 -1
  218. package/dist/encodings/geometryScaling.js +0 -3
  219. package/dist/encodings/geometryScaling.js.map +0 -1
  220. package/dist/encodings/intWrapper.js.map +0 -1
  221. package/dist/encodings/integerDecodingUtils.js.map +0 -1
  222. package/dist/encodings/integerStreamDecoder.js +0 -249
  223. package/dist/encodings/integerStreamDecoder.js.map +0 -1
  224. package/dist/encodings/propertyDecoder.js +0 -146
  225. package/dist/encodings/propertyDecoder.js.map +0 -1
  226. package/dist/encodings/stringDecoder.js +0 -149
  227. package/dist/encodings/stringDecoder.js.map +0 -1
  228. package/dist/metadata/tileset/tilesetMetadata.g.d.ts +0 -418
  229. package/dist/metadata/tileset/tilesetMetadata.g.js +0 -476
  230. package/dist/metadata/tileset/tilesetMetadata.g.js.map +0 -1
  231. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  232. package/dist/vector/filter/constSelectionVector.js +0 -1
  233. package/dist/vector/filter/constSelectionVector.js.map +0 -1
  234. package/dist/vector/filter/flatSelectionVector.d.ts +0 -16
  235. package/dist/vector/filter/flatSelectionVector.js +0 -42
  236. package/dist/vector/filter/flatSelectionVector.js.map +0 -1
  237. package/dist/vector/filter/selectionVector.d.ts +0 -8
  238. package/dist/vector/filter/selectionVector.js +0 -3
  239. package/dist/vector/filter/selectionVector.js.map +0 -1
  240. package/dist/vector/filter/selectionVectorUtils.d.ts +0 -7
  241. package/dist/vector/filter/selectionVectorUtils.js +0 -44
  242. package/dist/vector/filter/selectionVectorUtils.js.map +0 -1
  243. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  244. package/dist/vector/filter/sequenceSelectionVector.js +0 -1
  245. package/dist/vector/filter/sequenceSelectionVector.js.map +0 -1
  246. package/dist/vector/geometry/point.d.ts +0 -195
  247. package/dist/vector/geometry/point.js +0 -308
  248. package/dist/vector/geometry/point.js.map +0 -1
  249. /package/dist/{encodings → decoding}/decodingUtils.d.ts +0 -0
  250. /package/dist/{encodings → decoding}/fsstDecoder.d.ts +0 -0
  251. /package/dist/{encodings → decoding}/geometryDecoder.d.ts +0 -0
  252. /package/dist/{encodings → decoding}/geometryScaling.d.ts +0 -0
  253. /package/dist/{encodings → decoding}/intWrapper.d.ts +0 -0
@@ -1,249 +0,0 @@
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
- const physicalLevelTechnique_1 = require("../metadata/tile/physicalLevelTechnique");
7
- const integerDecodingUtils_1 = require("./integerDecodingUtils");
8
- const logicalLevelTechnique_1 = require("../metadata/tile/logicalLevelTechnique");
9
- const bitVector_1 = __importDefault(require("../vector/flat/bitVector"));
10
- const vectorType_1 = require("../vector/vectorType");
11
- class IntegerStreamDecoder {
12
- constructor() { }
13
- static decodeIntStream(data, offset, streamMetadata, isSigned, scalingData) {
14
- const values = IntegerStreamDecoder.decodePhysicalLevelTechnique(data, offset, streamMetadata);
15
- return this.decodeIntBuffer(values, streamMetadata, isSigned, scalingData);
16
- }
17
- static decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata) {
18
- const values = IntegerStreamDecoder.decodePhysicalLevelTechnique(data, offset, streamMetadata);
19
- return this.decodeLengthToOffsetBuffer(values, streamMetadata);
20
- }
21
- static decodePhysicalLevelTechnique(data, offset, streamMetadata) {
22
- const physicalLevelTechnique = streamMetadata.physicalLevelTechnique;
23
- if (physicalLevelTechnique === physicalLevelTechnique_1.PhysicalLevelTechnique.VARINT) {
24
- return (0, integerDecodingUtils_1.decodeVarintInt32)(data, offset, streamMetadata.numValues);
25
- }
26
- if (physicalLevelTechnique === physicalLevelTechnique_1.PhysicalLevelTechnique.NONE) {
27
- const dataOffset = offset.get();
28
- const byteLength = streamMetadata.byteLength;
29
- offset.add(byteLength);
30
- //TODO: use Byte Rle for geometry type encoding
31
- const slice = data.subarray(dataOffset, offset.get());
32
- return new Int32Array(slice);
33
- }
34
- throw new Error("Specified physicalLevelTechnique is not supported (yet).");
35
- }
36
- static decodeConstIntStream(data, offset, streamMetadata, isSigned) {
37
- const values = IntegerStreamDecoder.decodePhysicalLevelTechnique(data, offset, streamMetadata);
38
- if (values.length === 1) {
39
- const value = values[0];
40
- return isSigned ? (0, integerDecodingUtils_1.decodeZigZagValue)(value) : value;
41
- }
42
- return isSigned ? (0, integerDecodingUtils_1.decodeZigZagConstRle)(values) : (0, integerDecodingUtils_1.decodeUnsignedConstRle)(values);
43
- }
44
- static decodeSequenceIntStream(data, offset, streamMetadata) {
45
- const values = IntegerStreamDecoder.decodePhysicalLevelTechnique(data, offset, streamMetadata);
46
- return (0, integerDecodingUtils_1.decodeZigZagSequenceRle)(values);
47
- }
48
- static decodeSequenceLongStream(data, offset, streamMetadata) {
49
- const values = (0, integerDecodingUtils_1.decodeVarintInt64)(data, offset, streamMetadata.numValues);
50
- return (0, integerDecodingUtils_1.decodeZigZagSequenceRleInt64)(values);
51
- }
52
- static decodeLongStream(data, offset, streamMetadata, isSigned) {
53
- const values = (0, integerDecodingUtils_1.decodeVarintInt64)(data, offset, streamMetadata.numValues);
54
- return this.decodeLongBuffer(values, streamMetadata, isSigned);
55
- }
56
- static decodeLongFloat64Stream(data, offset, streamMetadata, isSigned) {
57
- const values = (0, integerDecodingUtils_1.decodeVarintFloat64)(data, streamMetadata.numValues, offset);
58
- return this.decodeFloat64Buffer(values, streamMetadata, isSigned);
59
- }
60
- static decodeConstLongStream(data, offset, streamMetadata, isSigned) {
61
- const values = (0, integerDecodingUtils_1.decodeVarintInt64)(data, offset, streamMetadata.numValues);
62
- if (values.length === 1) {
63
- const value = values[0];
64
- return isSigned ? (0, integerDecodingUtils_1.decodeZigZagValueInt64)(value) : value;
65
- }
66
- return isSigned ? (0, integerDecodingUtils_1.decodeZigZagConstRleInt64)(values) : (0, integerDecodingUtils_1.decodeUnsignedConstRleInt64)(values);
67
- }
68
- static decodeIntBuffer(values, streamMetadata, isSigned, scalingData) {
69
- /*
70
- * Currently the encoder uses only fixed combinations of encodings.
71
- * For performance reasons it is also used a fixed combination of the encodings on the decoding side.
72
- * The following encodings and combinations are used:
73
- * - Morton Delta -> always sorted so not ZigZag encoding needed
74
- * - Delta -> currently always in combination with ZigZag encoding
75
- * - Rle -> in combination with ZigZag encoding if data type is signed
76
- * - Delta Rle
77
- * - Componentwise Delta -> always ZigZag encoding is used
78
- * */
79
- switch (streamMetadata.logicalLevelTechnique1) {
80
- case logicalLevelTechnique_1.LogicalLevelTechnique.DELTA:
81
- if (streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE) {
82
- const rleMetadata = streamMetadata;
83
- values = (0, integerDecodingUtils_1.decodeUnsignedRle)(values, rleMetadata.runs, rleMetadata.numRleValues);
84
- }
85
- (0, integerDecodingUtils_1.decodeZigZagDelta)(values);
86
- return values;
87
- case logicalLevelTechnique_1.LogicalLevelTechnique.RLE:
88
- return (0, integerDecodingUtils_1.decodeRle)(values, streamMetadata, isSigned);
89
- case logicalLevelTechnique_1.LogicalLevelTechnique.MORTON:
90
- (0, integerDecodingUtils_1.fastInverseDelta)(values);
91
- return values;
92
- case logicalLevelTechnique_1.LogicalLevelTechnique.COMPONENTWISE_DELTA:
93
- if (scalingData) {
94
- (0, integerDecodingUtils_1.decodeComponentwiseDeltaVec2Scaled)(values, scalingData.scale, scalingData.min, scalingData.max);
95
- return values;
96
- }
97
- (0, integerDecodingUtils_1.decodeComponentwiseDeltaVec2)(values);
98
- return values;
99
- case logicalLevelTechnique_1.LogicalLevelTechnique.NONE:
100
- if (isSigned) {
101
- (0, integerDecodingUtils_1.decodeZigZag)(values);
102
- }
103
- return values;
104
- default:
105
- throw new Error(`The specified Logical level technique is not supported: ${streamMetadata.logicalLevelTechnique1}`);
106
- }
107
- }
108
- static decodeLongBuffer(values, streamMetadata, isSigned) {
109
- switch (streamMetadata.logicalLevelTechnique1) {
110
- case logicalLevelTechnique_1.LogicalLevelTechnique.DELTA:
111
- if (streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE) {
112
- const rleMetadata = streamMetadata;
113
- values = (0, integerDecodingUtils_1.decodeUnsignedRleInt64)(values, rleMetadata.runs, rleMetadata.numRleValues);
114
- }
115
- (0, integerDecodingUtils_1.decodeZigZagDeltaInt64)(values);
116
- return values;
117
- case logicalLevelTechnique_1.LogicalLevelTechnique.RLE:
118
- return (0, integerDecodingUtils_1.decodeRleInt64)(values, streamMetadata, isSigned);
119
- case logicalLevelTechnique_1.LogicalLevelTechnique.NONE:
120
- if (isSigned) {
121
- (0, integerDecodingUtils_1.decodeZigZagInt64)(values);
122
- }
123
- return values;
124
- default:
125
- throw new Error(`The specified Logical level technique is not supported: ${streamMetadata.logicalLevelTechnique1}`);
126
- }
127
- }
128
- static decodeFloat64Buffer(values, streamMetadata, isSigned) {
129
- switch (streamMetadata.logicalLevelTechnique1) {
130
- case logicalLevelTechnique_1.LogicalLevelTechnique.DELTA:
131
- if (streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE) {
132
- const rleMetadata = streamMetadata;
133
- values = (0, integerDecodingUtils_1.decodeUnsignedRleFloat64)(values, rleMetadata.runs, rleMetadata.numRleValues);
134
- }
135
- (0, integerDecodingUtils_1.decodeZigZagDeltaFloat64)(values);
136
- return values;
137
- case logicalLevelTechnique_1.LogicalLevelTechnique.RLE:
138
- return (0, integerDecodingUtils_1.decodeRleFloat64)(values, streamMetadata, isSigned);
139
- case logicalLevelTechnique_1.LogicalLevelTechnique.NONE:
140
- if (isSigned) {
141
- (0, integerDecodingUtils_1.decodeZigZagFloat64)(values);
142
- }
143
- return values;
144
- default:
145
- throw new Error(`The specified Logical level technique is not supported: ${streamMetadata.logicalLevelTechnique1}`);
146
- }
147
- }
148
- static decodeLengthToOffsetBuffer(values, streamMetadata) {
149
- if (streamMetadata.logicalLevelTechnique1 === logicalLevelTechnique_1.LogicalLevelTechnique.DELTA &&
150
- streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.NONE) {
151
- const decodedValues = (0, integerDecodingUtils_1.zigZagDeltaOfDeltaDecoding)(values);
152
- return decodedValues;
153
- }
154
- if (streamMetadata.logicalLevelTechnique1 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE &&
155
- streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.NONE) {
156
- const rleMetadata = streamMetadata;
157
- const decodedValues = (0, integerDecodingUtils_1.rleDeltaDecoding)(values, rleMetadata.runs, rleMetadata.numRleValues);
158
- return decodedValues;
159
- }
160
- if (streamMetadata.logicalLevelTechnique1 === logicalLevelTechnique_1.LogicalLevelTechnique.NONE &&
161
- streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.NONE) {
162
- //TODO: use fastInverseDelta again and check what are the performance problems in zoom 14
163
- //fastInverseDelta(values);
164
- (0, integerDecodingUtils_1.inverseDelta)(values);
165
- const offsets = new Int32Array(streamMetadata.numValues + 1);
166
- offsets[0] = 0;
167
- offsets.set(values, 1);
168
- return offsets;
169
- }
170
- if (streamMetadata.logicalLevelTechnique1 === logicalLevelTechnique_1.LogicalLevelTechnique.DELTA &&
171
- streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE) {
172
- const rleMetadata = streamMetadata;
173
- const decodedValues = (0, integerDecodingUtils_1.zigZagRleDeltaDecoding)(values, rleMetadata.runs, rleMetadata.numRleValues);
174
- (0, integerDecodingUtils_1.fastInverseDelta)(decodedValues);
175
- return decodedValues;
176
- }
177
- throw new Error("Only delta encoding is supported for transforming length to offset streams yet.");
178
- }
179
- static decodeNullableIntStream(data, offset, streamMetadata, isSigned, bitVector) {
180
- const values = streamMetadata.physicalLevelTechnique === physicalLevelTechnique_1.PhysicalLevelTechnique.FAST_PFOR
181
- ? (0, integerDecodingUtils_1.decodeFastPfor)(data, streamMetadata.numValues, streamMetadata.byteLength, offset)
182
- : (0, integerDecodingUtils_1.decodeVarintInt32)(data, offset, streamMetadata.numValues);
183
- return this.decodeNullableIntBuffer(values, streamMetadata, isSigned, bitVector);
184
- }
185
- static decodeNullableLongStream(data, offset, streamMetadata, isSigned, bitVector) {
186
- const values = (0, integerDecodingUtils_1.decodeVarintInt64)(data, offset, streamMetadata.numValues);
187
- return this.decodeNullableLongBuffer(values, streamMetadata, isSigned, bitVector);
188
- }
189
- static decodeNullableIntBuffer(values, streamMetadata, isSigned, bitVector) {
190
- switch (streamMetadata.logicalLevelTechnique1) {
191
- case logicalLevelTechnique_1.LogicalLevelTechnique.DELTA:
192
- if (streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE) {
193
- const rleMetadata = streamMetadata;
194
- values = (0, integerDecodingUtils_1.decodeUnsignedRle)(values, rleMetadata.runs, rleMetadata.numRleValues);
195
- }
196
- return (0, integerDecodingUtils_1.decodeNullableZigZagDelta)(bitVector, values);
197
- case logicalLevelTechnique_1.LogicalLevelTechnique.RLE:
198
- return (0, integerDecodingUtils_1.decodeNullableRle)(values, streamMetadata, isSigned, bitVector);
199
- case logicalLevelTechnique_1.LogicalLevelTechnique.MORTON:
200
- (0, integerDecodingUtils_1.fastInverseDelta)(values);
201
- return values;
202
- case logicalLevelTechnique_1.LogicalLevelTechnique.COMPONENTWISE_DELTA:
203
- (0, integerDecodingUtils_1.decodeComponentwiseDeltaVec2)(values);
204
- return values;
205
- case logicalLevelTechnique_1.LogicalLevelTechnique.NONE:
206
- values = isSigned ? (0, integerDecodingUtils_1.padZigZagWithZeros)(bitVector, values) : (0, integerDecodingUtils_1.padWithZeros)(bitVector, values);
207
- return values;
208
- default:
209
- throw new Error("The specified Logical level technique is not supported");
210
- }
211
- }
212
- static decodeNullableLongBuffer(values, streamMetadata, isSigned, bitVector) {
213
- switch (streamMetadata.logicalLevelTechnique1) {
214
- case logicalLevelTechnique_1.LogicalLevelTechnique.DELTA:
215
- if (streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE) {
216
- const rleMetadata = streamMetadata;
217
- values = (0, integerDecodingUtils_1.decodeUnsignedRleInt64)(values, rleMetadata.runs, rleMetadata.numRleValues);
218
- }
219
- return (0, integerDecodingUtils_1.decodeNullableZigZagDeltaInt64)(bitVector, values);
220
- case logicalLevelTechnique_1.LogicalLevelTechnique.RLE:
221
- return (0, integerDecodingUtils_1.decodeNullableRleInt64)(values, streamMetadata, isSigned, bitVector);
222
- case logicalLevelTechnique_1.LogicalLevelTechnique.NONE:
223
- values = isSigned ? (0, integerDecodingUtils_1.padZigZagWithZerosInt64)(bitVector, values) : (0, integerDecodingUtils_1.padWithZerosInt64)(bitVector, values);
224
- return values;
225
- default:
226
- throw new Error("The specified Logical level technique is not supported");
227
- }
228
- }
229
- static getVectorType(streamMetadata, sizeOrNullabilityBuffer) {
230
- const logicalLevelTechnique1 = streamMetadata.logicalLevelTechnique1;
231
- if (logicalLevelTechnique1 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE) {
232
- return streamMetadata.runs === 1 ? vectorType_1.VectorType.CONST : vectorType_1.VectorType.FLAT;
233
- }
234
- const numFeatures = sizeOrNullabilityBuffer instanceof bitVector_1.default ? sizeOrNullabilityBuffer.size() : sizeOrNullabilityBuffer;
235
- const rleMetadata = streamMetadata;
236
- const runs = rleMetadata.runs;
237
- if (logicalLevelTechnique1 === logicalLevelTechnique_1.LogicalLevelTechnique.DELTA &&
238
- streamMetadata.logicalLevelTechnique2 === logicalLevelTechnique_1.LogicalLevelTechnique.RLE &&
239
- /* If base value equals delta value then one run else two runs */
240
- (runs === 1 || runs === 2) &&
241
- /* No null values allowed in a sequence vector */
242
- rleMetadata.numValues === numFeatures) {
243
- return vectorType_1.VectorType.SEQUENCE;
244
- }
245
- return streamMetadata.numValues === 1 ? vectorType_1.VectorType.CONST : vectorType_1.VectorType.FLAT;
246
- }
247
- }
248
- exports.default = IntegerStreamDecoder;
249
- //# sourceMappingURL=integerStreamDecoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integerStreamDecoder.js","sourceRoot":"","sources":["../../src/encodings/integerStreamDecoder.ts"],"names":[],"mappings":"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"}
@@ -1,146 +0,0 @@
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.decodePropertyColumn = decodePropertyColumn;
7
- const tilesetMetadata_g_1 = require("../metadata/tileset/tilesetMetadata.g");
8
- const bitVector_1 = __importDefault(require("../vector/flat/bitVector"));
9
- const streamMetadataDecoder_1 = require("../metadata/tile/streamMetadataDecoder");
10
- const vectorType_1 = require("../vector/vectorType");
11
- const booleanFlatVector_1 = require("../vector/flat/booleanFlatVector");
12
- const doubleFlatVector_1 = require("../vector/flat/doubleFlatVector");
13
- const floatFlatVector_1 = require("../vector/flat/floatFlatVector");
14
- const longConstVector_1 = require("../vector/constant/longConstVector");
15
- const longFlatVector_1 = require("../vector/flat/longFlatVector");
16
- const intFlatVector_1 = require("../vector/flat/intFlatVector");
17
- const intConstVector_1 = require("../vector/constant/intConstVector");
18
- const decodingUtils_1 = require("./decodingUtils");
19
- const integerStreamDecoder_1 = __importDefault(require("./integerStreamDecoder"));
20
- const stringDecoder_1 = require("./stringDecoder");
21
- const intSequenceVector_1 = require("../vector/sequence/intSequenceVector");
22
- const longSequenceVector_1 = require("../vector/sequence/longSequenceVector");
23
- function decodePropertyColumn(data, offset, columnMetadata, numStreams, numFeatures, propertyColumnNames) {
24
- if (columnMetadata.type.case === "scalarType") {
25
- if (propertyColumnNames && !propertyColumnNames.has(columnMetadata.name)) {
26
- (0, decodingUtils_1.skipColumn)(numStreams, data, offset);
27
- return null;
28
- }
29
- return decodeScalarPropertyColumn(numStreams, data, offset, numFeatures, columnMetadata.type.value, columnMetadata);
30
- }
31
- if (numStreams != 1) {
32
- return null;
33
- }
34
- return stringDecoder_1.StringDecoder.decodeSharedDictionary(data, offset, columnMetadata, numFeatures, propertyColumnNames);
35
- }
36
- function decodeScalarPropertyColumn(numStreams, data, offset, numFeatures, column, columnMetadata) {
37
- let nullabilityBuffer = null;
38
- let numValues = 0;
39
- if (numStreams === 0) {
40
- /* Skip since this column has no values */
41
- return null;
42
- }
43
- // Read nullability stream if column is nullable
44
- if (columnMetadata.nullable) {
45
- const presentStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
46
- numValues = presentStreamMetadata.numValues;
47
- const streamDataStart = offset.get();
48
- // Decode the RLE boolean data
49
- const presentVector = (0, decodingUtils_1.decodeBooleanRle)(data, numValues, offset);
50
- // FIX: decodeBooleanRle doesn't consume all bytes!
51
- // We must advance to the end of the stream using byteLength from metadata
52
- offset.set(streamDataStart + presentStreamMetadata.byteLength);
53
- nullabilityBuffer = new bitVector_1.default(presentVector, presentStreamMetadata.numValues);
54
- }
55
- const sizeOrNullabilityBuffer = nullabilityBuffer ?? numFeatures;
56
- const scalarType = column.type.value;
57
- switch (scalarType) {
58
- case tilesetMetadata_g_1.ScalarType.UINT_32:
59
- case tilesetMetadata_g_1.ScalarType.INT_32:
60
- return decodeIntColumn(data, offset, columnMetadata, column, sizeOrNullabilityBuffer);
61
- case tilesetMetadata_g_1.ScalarType.STRING:
62
- // In embedded format: numStreams includes nullability stream if column is nullable
63
- const stringDataStreams = columnMetadata.nullable ? numStreams - 1 : numStreams;
64
- return stringDecoder_1.StringDecoder.decode(columnMetadata.name, data, offset, stringDataStreams, nullabilityBuffer);
65
- case tilesetMetadata_g_1.ScalarType.BOOLEAN:
66
- return decodeBooleanColumn(data, offset, columnMetadata, numFeatures, sizeOrNullabilityBuffer);
67
- case tilesetMetadata_g_1.ScalarType.UINT_64:
68
- case tilesetMetadata_g_1.ScalarType.INT_64:
69
- return decodeLongColumn(data, offset, columnMetadata, sizeOrNullabilityBuffer, column);
70
- case tilesetMetadata_g_1.ScalarType.FLOAT:
71
- return decodeFloatColumn(data, offset, columnMetadata, sizeOrNullabilityBuffer);
72
- case tilesetMetadata_g_1.ScalarType.DOUBLE:
73
- return decodeDoubleColumn(data, offset, columnMetadata, sizeOrNullabilityBuffer);
74
- default:
75
- throw new Error(`The specified data type for the field is currently not supported: ${column}`);
76
- }
77
- }
78
- function decodeBooleanColumn(data, offset, column, numFeatures, sizeOrNullabilityBuffer) {
79
- const dataStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
80
- const numValues = dataStreamMetadata.numValues;
81
- const streamDataStart = offset.get();
82
- const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
83
- ? (0, decodingUtils_1.decodeNullableBooleanRle)(data, numValues, offset, sizeOrNullabilityBuffer)
84
- : (0, decodingUtils_1.decodeBooleanRle)(data, numValues, offset);
85
- // TODO: refactor decodeNullableBooleanRle
86
- // Fix offset: RLE decoders don't consume all compressed bytes
87
- offset.set(streamDataStart + dataStreamMetadata.byteLength);
88
- const dataVector = new bitVector_1.default(dataStream, numValues);
89
- return new booleanFlatVector_1.BooleanFlatVector(column.name, dataVector, sizeOrNullabilityBuffer);
90
- }
91
- function decodeFloatColumn(data, offset, column, sizeOrNullabilityBuffer) {
92
- const dataStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
93
- const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
94
- ? (0, decodingUtils_1.decodeNullableFloatsLE)(data, offset, sizeOrNullabilityBuffer, dataStreamMetadata.numValues)
95
- : (0, decodingUtils_1.decodeFloatsLE)(data, offset, dataStreamMetadata.numValues);
96
- return new floatFlatVector_1.FloatFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);
97
- }
98
- function decodeDoubleColumn(data, offset, column, sizeOrNullabilityBuffer) {
99
- const dataStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
100
- const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
101
- ? (0, decodingUtils_1.decodeNullableDoublesLE)(data, offset, sizeOrNullabilityBuffer, dataStreamMetadata.numValues)
102
- : (0, decodingUtils_1.decodeDoublesLE)(data, offset, dataStreamMetadata.numValues);
103
- return new doubleFlatVector_1.DoubleFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);
104
- }
105
- function decodeLongColumn(data, offset, column, sizeOrNullabilityBuffer, scalarColumn) {
106
- const dataStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
107
- const vectorType = integerStreamDecoder_1.default.getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer);
108
- const isSigned = scalarColumn.type.value === tilesetMetadata_g_1.ScalarType.INT_64;
109
- if (vectorType === vectorType_1.VectorType.FLAT) {
110
- const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
111
- ? integerStreamDecoder_1.default.decodeNullableLongStream(data, offset, dataStreamMetadata, isSigned, sizeOrNullabilityBuffer)
112
- : integerStreamDecoder_1.default.decodeLongStream(data, offset, dataStreamMetadata, isSigned);
113
- return new longFlatVector_1.LongFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);
114
- }
115
- else if (vectorType === vectorType_1.VectorType.SEQUENCE) {
116
- const id = integerStreamDecoder_1.default.decodeSequenceLongStream(data, offset, dataStreamMetadata);
117
- return new longSequenceVector_1.LongSequenceVector(column.name, id[0], id[1], dataStreamMetadata.numRleValues);
118
- }
119
- else {
120
- const constValue = integerStreamDecoder_1.default.decodeConstLongStream(data, offset, dataStreamMetadata, isSigned);
121
- return new longConstVector_1.LongConstVector(column.name, constValue, sizeOrNullabilityBuffer);
122
- }
123
- }
124
- function decodeIntColumn(data, offset, column, scalarColumn, sizeOrNullabilityBuffer) {
125
- const dataStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
126
- const vectorType = integerStreamDecoder_1.default.getVectorType(dataStreamMetadata, sizeOrNullabilityBuffer);
127
- const isSigned = scalarColumn.type.value === tilesetMetadata_g_1.ScalarType.INT_32;
128
- if (vectorType === vectorType_1.VectorType.FLAT) {
129
- const dataStream = isNullabilityBuffer(sizeOrNullabilityBuffer)
130
- ? integerStreamDecoder_1.default.decodeNullableIntStream(data, offset, dataStreamMetadata, isSigned, sizeOrNullabilityBuffer)
131
- : integerStreamDecoder_1.default.decodeIntStream(data, offset, dataStreamMetadata, isSigned);
132
- return new intFlatVector_1.IntFlatVector(column.name, dataStream, sizeOrNullabilityBuffer);
133
- }
134
- else if (vectorType === vectorType_1.VectorType.SEQUENCE) {
135
- const id = integerStreamDecoder_1.default.decodeSequenceIntStream(data, offset, dataStreamMetadata);
136
- return new intSequenceVector_1.IntSequenceVector(column.name, id[0], id[1], dataStreamMetadata.numRleValues);
137
- }
138
- else {
139
- const constValue = integerStreamDecoder_1.default.decodeConstIntStream(data, offset, dataStreamMetadata, isSigned);
140
- return new intConstVector_1.IntConstVector(column.name, constValue, sizeOrNullabilityBuffer);
141
- }
142
- }
143
- function isNullabilityBuffer(sizeOrNullabilityBuffer) {
144
- return sizeOrNullabilityBuffer instanceof bitVector_1.default;
145
- }
146
- //# sourceMappingURL=propertyDecoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"propertyDecoder.js","sourceRoot":"","sources":["../../src/encodings/propertyDecoder.ts"],"names":[],"mappings":"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"}
@@ -1,149 +0,0 @@
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.StringDecoder = void 0;
7
- const streamMetadataDecoder_1 = require("../metadata/tile/streamMetadataDecoder");
8
- const stringFlatVector_1 = require("../vector/flat/stringFlatVector");
9
- const stringDictionaryVector_1 = require("../vector/dictionary/stringDictionaryVector");
10
- const bitVector_1 = __importDefault(require("../vector/flat/bitVector"));
11
- const physicalStreamType_1 = require("../metadata/tile/physicalStreamType");
12
- const dictionaryType_1 = require("../metadata/tile/dictionaryType");
13
- const lengthType_1 = require("../metadata/tile/lengthType");
14
- const integerStreamDecoder_1 = __importDefault(require("./integerStreamDecoder"));
15
- const tilesetMetadata_g_1 = require("../metadata/tileset/tilesetMetadata.g");
16
- const integerDecodingUtils_1 = require("./integerDecodingUtils");
17
- const decodingUtils_1 = require("./decodingUtils");
18
- const rleEncodedStreamMetadata_1 = require("../metadata/tile/rleEncodedStreamMetadata");
19
- const stringFsstDictionaryVector_1 = require("../vector/fsst-dictionary/stringFsstDictionaryVector");
20
- class StringDecoder {
21
- constructor() { }
22
- static decode(name, data, offset, numStreams, bitVector) {
23
- let dictionaryLengthStream = null;
24
- let offsetStream = null;
25
- let dictionaryStream = null;
26
- let symbolLengthStream = null;
27
- let symbolTableStream = null;
28
- for (let i = 0; i < numStreams; i++) {
29
- const streamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
30
- if (streamMetadata.byteLength === 0) {
31
- continue;
32
- }
33
- switch (streamMetadata.physicalStreamType) {
34
- case physicalStreamType_1.PhysicalStreamType.OFFSET: {
35
- const isNullable = bitVector != null;
36
- offsetStream = isNullable
37
- ? integerStreamDecoder_1.default.decodeNullableIntStream(data, offset, streamMetadata, false, bitVector)
38
- : integerStreamDecoder_1.default.decodeIntStream(data, offset, streamMetadata, false);
39
- break;
40
- }
41
- case physicalStreamType_1.PhysicalStreamType.LENGTH: {
42
- const ls = integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);
43
- if (lengthType_1.LengthType.DICTIONARY === streamMetadata.logicalStreamType.lengthType) {
44
- dictionaryLengthStream = ls;
45
- }
46
- else {
47
- symbolLengthStream = ls;
48
- }
49
- break;
50
- }
51
- case physicalStreamType_1.PhysicalStreamType.DATA: {
52
- const ds = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);
53
- offset.add(streamMetadata.byteLength);
54
- if (dictionaryType_1.DictionaryType.SINGLE === streamMetadata.logicalStreamType.dictionaryType) {
55
- dictionaryStream = ds;
56
- }
57
- else {
58
- symbolTableStream = ds;
59
- }
60
- break;
61
- }
62
- }
63
- }
64
- if (symbolTableStream) {
65
- return new stringFsstDictionaryVector_1.StringFsstDictionaryVector(name, offsetStream, dictionaryLengthStream, dictionaryStream, symbolLengthStream, symbolTableStream, bitVector);
66
- }
67
- else if (dictionaryStream) {
68
- return bitVector
69
- ? new stringDictionaryVector_1.StringDictionaryVector(name, offsetStream, dictionaryLengthStream, dictionaryStream, bitVector)
70
- : new stringDictionaryVector_1.StringDictionaryVector(name, offsetStream, dictionaryLengthStream, dictionaryStream);
71
- }
72
- return bitVector
73
- ? new stringFlatVector_1.StringFlatVector(name, offsetStream, dictionaryStream, bitVector)
74
- : new stringFlatVector_1.StringFlatVector(name, offsetStream, dictionaryStream);
75
- }
76
- static decodeSharedDictionary(data, offset, column, numFeatures, propertyColumnNames) {
77
- let dictionaryOffsetBuffer = null;
78
- let dictionaryBuffer = null;
79
- let symbolOffsetBuffer = null;
80
- let symbolTableBuffer = null;
81
- let dictionaryStreamDecoded = false;
82
- while (!dictionaryStreamDecoded) {
83
- const streamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
84
- switch (streamMetadata.physicalStreamType) {
85
- case physicalStreamType_1.PhysicalStreamType.LENGTH:
86
- if (lengthType_1.LengthType.DICTIONARY === streamMetadata.logicalStreamType.lengthType) {
87
- dictionaryOffsetBuffer = integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);
88
- }
89
- else {
90
- symbolOffsetBuffer = integerStreamDecoder_1.default.decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);
91
- }
92
- break;
93
- case physicalStreamType_1.PhysicalStreamType.DATA:
94
- if (dictionaryType_1.DictionaryType.SINGLE === streamMetadata.logicalStreamType.dictionaryType ||
95
- dictionaryType_1.DictionaryType.SHARED === streamMetadata.logicalStreamType.dictionaryType) {
96
- dictionaryBuffer = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);
97
- dictionaryStreamDecoded = true;
98
- }
99
- else {
100
- symbolTableBuffer = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);
101
- }
102
- offset.add(streamMetadata.byteLength);
103
- break;
104
- }
105
- }
106
- const childFields = column.type.value.children;
107
- const stringDictionaryVectors = [];
108
- let i = 0;
109
- for (const childField of childFields) {
110
- const numStreams = (0, integerDecodingUtils_1.decodeVarintInt32)(data, offset, 1)[0];
111
- if (numStreams == 0) {
112
- /* Column is not present in the tile */
113
- continue;
114
- }
115
- const columnName = `${column.name}${childField.name === StringDecoder.ROOT_COLUMN_NAME
116
- ? ""
117
- : StringDecoder.NESTED_COLUMN_SEPARATOR + childField.name}`;
118
- if (propertyColumnNames) {
119
- if (!propertyColumnNames.has(columnName)) {
120
- //TODO: add size of sub column to Mlt for faster skipping
121
- (0, decodingUtils_1.skipColumn)(numStreams, data, offset);
122
- continue;
123
- }
124
- }
125
- if (numStreams !== 2 ||
126
- childField.type.case === "complexField" ||
127
- childField.type.value.type.value !== tilesetMetadata_g_1.ScalarType.STRING) {
128
- throw new Error("Currently only optional string fields are implemented for a struct.");
129
- }
130
- const presentStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
131
- const presentStream = (0, decodingUtils_1.decodeBooleanRle)(data, presentStreamMetadata.numValues, offset);
132
- const offsetStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(data, offset);
133
- const isNullable = (offsetStreamMetadata instanceof rleEncodedStreamMetadata_1.RleEncodedStreamMetadata
134
- ? offsetStreamMetadata.numRleValues
135
- : offsetStreamMetadata.numValues) !== numFeatures;
136
- const offsetStream = isNullable
137
- ? integerStreamDecoder_1.default.decodeNullableIntStream(data, offset, offsetStreamMetadata, false, new bitVector_1.default(presentStream, presentStreamMetadata.numValues))
138
- : integerStreamDecoder_1.default.decodeIntStream(data, offset, offsetStreamMetadata, false);
139
- stringDictionaryVectors[i++] = symbolTableBuffer
140
- ? new stringFsstDictionaryVector_1.StringFsstDictionaryVector(columnName, offsetStream, dictionaryOffsetBuffer, dictionaryBuffer, symbolOffsetBuffer, symbolTableBuffer, new bitVector_1.default(presentStream, presentStreamMetadata.numValues))
141
- : new stringDictionaryVector_1.StringDictionaryVector(columnName, offsetStream, dictionaryOffsetBuffer, dictionaryBuffer, new bitVector_1.default(presentStream, presentStreamMetadata.numValues));
142
- }
143
- return stringDictionaryVectors;
144
- }
145
- }
146
- exports.StringDecoder = StringDecoder;
147
- StringDecoder.ROOT_COLUMN_NAME = "default";
148
- StringDecoder.NESTED_COLUMN_SEPARATOR = ":";
149
- //# sourceMappingURL=stringDecoder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stringDecoder.js","sourceRoot":"","sources":["../../src/encodings/stringDecoder.ts"],"names":[],"mappings":"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"}