@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.
Files changed (215) hide show
  1. package/README.md +28 -0
  2. package/dist/encodings/decodingUtils.d.ts +13 -0
  3. package/dist/encodings/decodingUtils.js +194 -0
  4. package/dist/encodings/decodingUtils.js.map +1 -0
  5. package/dist/encodings/doubleDecoder.d.ts +4 -0
  6. package/dist/encodings/doubleDecoder.js +22 -0
  7. package/dist/encodings/doubleDecoder.js.map +1 -0
  8. package/dist/encodings/fastpfor/bitpacking.d.ts +51 -0
  9. package/dist/encodings/fastpfor/bitpacking.js +4444 -0
  10. package/dist/encodings/fastpfor/bitpacking.js.map +1 -0
  11. package/dist/encodings/fastpfor/codec.d.ts +19 -0
  12. package/dist/encodings/fastpfor/codec.js +3 -0
  13. package/dist/encodings/fastpfor/codec.js.map +1 -0
  14. package/dist/encodings/fastpfor/fastpfor.d.ts +38 -0
  15. package/dist/encodings/fastpfor/fastpfor.js +123 -0
  16. package/dist/encodings/fastpfor/fastpfor.js.map +1 -0
  17. package/dist/encodings/fastpfor/index.d.ts +20 -0
  18. package/dist/encodings/fastpfor/index.js +47 -0
  19. package/dist/encodings/fastpfor/index.js.map +1 -0
  20. package/dist/encodings/fastpfor/util.d.ts +2 -0
  21. package/dist/encodings/fastpfor/util.js +16 -0
  22. package/dist/encodings/fastpfor/util.js.map +1 -0
  23. package/dist/encodings/fastpfor/varint.d.ts +18 -0
  24. package/dist/encodings/fastpfor/varint.js +125 -0
  25. package/dist/encodings/fastpfor/varint.js.map +1 -0
  26. package/dist/encodings/fsstDecoder.d.ts +9 -0
  27. package/dist/encodings/fsstDecoder.js +34 -0
  28. package/dist/encodings/fsstDecoder.js.map +1 -0
  29. package/dist/encodings/geometryDecoder.d.ts +5 -0
  30. package/dist/encodings/geometryDecoder.js +453 -0
  31. package/dist/encodings/geometryDecoder.js.map +1 -0
  32. package/dist/encodings/geometryScaling.d.ts +6 -0
  33. package/dist/encodings/geometryScaling.js +3 -0
  34. package/dist/encodings/geometryScaling.js.map +1 -0
  35. package/dist/encodings/intWrapper.d.ts +8 -0
  36. package/dist/encodings/intWrapper.js +22 -0
  37. package/dist/encodings/intWrapper.js.map +1 -0
  38. package/dist/encodings/integerDecodingUtils.d.ts +46 -0
  39. package/dist/encodings/integerDecodingUtils.js +703 -0
  40. package/dist/encodings/integerDecodingUtils.js.map +1 -0
  41. package/dist/encodings/integerStreamDecoder.d.ts +26 -0
  42. package/dist/encodings/integerStreamDecoder.js +254 -0
  43. package/dist/encodings/integerStreamDecoder.js.map +1 -0
  44. package/dist/encodings/propertyDecoder.d.ts +4 -0
  45. package/dist/encodings/propertyDecoder.js +194 -0
  46. package/dist/encodings/propertyDecoder.js.map +1 -0
  47. package/dist/encodings/stringDecoder.d.ts +11 -0
  48. package/dist/encodings/stringDecoder.js +148 -0
  49. package/dist/encodings/stringDecoder.js.map +1 -0
  50. package/dist/index.d.ts +8 -0
  51. package/dist/index.js +19 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/metadata/tile/dictionaryType.d.ts +8 -0
  54. package/dist/metadata/tile/dictionaryType.js +13 -0
  55. package/dist/metadata/tile/dictionaryType.js.map +1 -0
  56. package/dist/metadata/tile/lengthType.d.ts +9 -0
  57. package/dist/metadata/tile/lengthType.js +14 -0
  58. package/dist/metadata/tile/lengthType.js.map +1 -0
  59. package/dist/metadata/tile/logicalLevelTechnique.d.ts +8 -0
  60. package/dist/metadata/tile/logicalLevelTechnique.js +15 -0
  61. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -0
  62. package/dist/metadata/tile/logicalStreamType.d.ts +12 -0
  63. package/dist/metadata/tile/logicalStreamType.js +21 -0
  64. package/dist/metadata/tile/logicalStreamType.js.map +1 -0
  65. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +15 -0
  66. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +29 -0
  67. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -0
  68. package/dist/metadata/tile/offsetType.d.ts +6 -0
  69. package/dist/metadata/tile/offsetType.js +11 -0
  70. package/dist/metadata/tile/offsetType.js.map +1 -0
  71. package/dist/metadata/tile/physicalLevelTechnique.d.ts +17 -0
  72. package/dist/metadata/tile/physicalLevelTechnique.js +22 -0
  73. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -0
  74. package/dist/metadata/tile/physicalStreamType.d.ts +6 -0
  75. package/dist/metadata/tile/physicalStreamType.js +11 -0
  76. package/dist/metadata/tile/physicalStreamType.js.map +1 -0
  77. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +20 -0
  78. package/dist/metadata/tile/rleEncodedStreamMetadata.js +34 -0
  79. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -0
  80. package/dist/metadata/tile/scalarType.d.ts +12 -0
  81. package/dist/metadata/tile/scalarType.js +17 -0
  82. package/dist/metadata/tile/scalarType.js.map +1 -0
  83. package/dist/metadata/tile/streamMetadata.d.ts +23 -0
  84. package/dist/metadata/tile/streamMetadata.js +71 -0
  85. package/dist/metadata/tile/streamMetadata.js.map +1 -0
  86. package/dist/metadata/tile/streamMetadataDecoder.d.ts +5 -0
  87. package/dist/metadata/tile/streamMetadataDecoder.js +24 -0
  88. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -0
  89. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +10 -0
  90. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +112 -0
  91. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -0
  92. package/dist/metadata/tileset/tilesetMetadata.g.d.ts +418 -0
  93. package/dist/metadata/tileset/tilesetMetadata.g.js +476 -0
  94. package/dist/metadata/tileset/tilesetMetadata.g.js.map +1 -0
  95. package/dist/metadata/tileset/typeMap.d.ts +38 -0
  96. package/dist/metadata/tileset/typeMap.js +185 -0
  97. package/dist/metadata/tileset/typeMap.js.map +1 -0
  98. package/dist/mltDecoder.d.ts +11 -0
  99. package/dist/mltDecoder.js +146 -0
  100. package/dist/mltDecoder.js.map +1 -0
  101. package/dist/mltMetadata.d.ts +40 -0
  102. package/dist/mltMetadata.js +34 -0
  103. package/dist/mltMetadata.js.map +1 -0
  104. package/dist/vector/constant/intConstVector.d.ts +19 -0
  105. package/dist/vector/constant/intConstVector.js +89 -0
  106. package/dist/vector/constant/intConstVector.js.map +1 -0
  107. package/dist/vector/constant/longConstVector.d.ts +19 -0
  108. package/dist/vector/constant/longConstVector.js +87 -0
  109. package/dist/vector/constant/longConstVector.js.map +1 -0
  110. package/dist/vector/dictionary/stringDictionaryVector.d.ts +22 -0
  111. package/dist/vector/dictionary/stringDictionaryVector.js +180 -0
  112. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -0
  113. package/dist/vector/featureTable.d.ts +29 -0
  114. package/dist/vector/featureTable.js +70 -0
  115. package/dist/vector/featureTable.js.map +1 -0
  116. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  117. package/dist/vector/filter/constSelectionVector.js +1 -0
  118. package/dist/vector/filter/constSelectionVector.js.map +1 -0
  119. package/dist/vector/filter/flatSelectionVector.d.ts +16 -0
  120. package/dist/vector/filter/flatSelectionVector.js +42 -0
  121. package/dist/vector/filter/flatSelectionVector.js.map +1 -0
  122. package/dist/vector/filter/selectionVector.d.ts +8 -0
  123. package/dist/vector/filter/selectionVector.js +3 -0
  124. package/dist/vector/filter/selectionVector.js.map +1 -0
  125. package/dist/vector/filter/selectionVectorUtils.d.ts +7 -0
  126. package/dist/vector/filter/selectionVectorUtils.js +44 -0
  127. package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
  128. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  129. package/dist/vector/filter/sequenceSelectionVector.js +1 -0
  130. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
  131. package/dist/vector/fixedSizeVector.d.ts +5 -0
  132. package/dist/vector/fixedSizeVector.js +14 -0
  133. package/dist/vector/fixedSizeVector.js.map +1 -0
  134. package/dist/vector/flat/bitVector.d.ts +14 -0
  135. package/dist/vector/flat/bitVector.js +38 -0
  136. package/dist/vector/flat/bitVector.js.map +1 -0
  137. package/dist/vector/flat/booleanFlatVector.d.ts +20 -0
  138. package/dist/vector/flat/booleanFlatVector.js +55 -0
  139. package/dist/vector/flat/booleanFlatVector.js.map +1 -0
  140. package/dist/vector/flat/doubleFlatVector.d.ts +19 -0
  141. package/dist/vector/flat/doubleFlatVector.js +109 -0
  142. package/dist/vector/flat/doubleFlatVector.js.map +1 -0
  143. package/dist/vector/flat/floatFlatVector.d.ts +19 -0
  144. package/dist/vector/flat/floatFlatVector.js +109 -0
  145. package/dist/vector/flat/floatFlatVector.js.map +1 -0
  146. package/dist/vector/flat/intFlatVector.d.ts +19 -0
  147. package/dist/vector/flat/intFlatVector.js +123 -0
  148. package/dist/vector/flat/intFlatVector.js.map +1 -0
  149. package/dist/vector/flat/longFlatVector.d.ts +19 -0
  150. package/dist/vector/flat/longFlatVector.js +124 -0
  151. package/dist/vector/flat/longFlatVector.js.map +1 -0
  152. package/dist/vector/flat/stringFlatVector.d.ts +20 -0
  153. package/dist/vector/flat/stringFlatVector.js +165 -0
  154. package/dist/vector/flat/stringFlatVector.js.map +1 -0
  155. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +27 -0
  156. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +115 -0
  157. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -0
  158. package/dist/vector/geometry/constGeometryVector.d.ts +17 -0
  159. package/dist/vector/geometry/constGeometryVector.js +51 -0
  160. package/dist/vector/geometry/constGeometryVector.js.map +1 -0
  161. package/dist/vector/geometry/constGpuVector.d.ts +15 -0
  162. package/dist/vector/geometry/constGpuVector.js +66 -0
  163. package/dist/vector/geometry/constGpuVector.js.map +1 -0
  164. package/dist/vector/geometry/flatGeometryVector.d.ts +16 -0
  165. package/dist/vector/geometry/flatGeometryVector.js +64 -0
  166. package/dist/vector/geometry/flatGeometryVector.js.map +1 -0
  167. package/dist/vector/geometry/flatGpuVector.d.ts +14 -0
  168. package/dist/vector/geometry/flatGpuVector.js +67 -0
  169. package/dist/vector/geometry/flatGpuVector.js.map +1 -0
  170. package/dist/vector/geometry/geometryType.d.ts +13 -0
  171. package/dist/vector/geometry/geometryType.js +19 -0
  172. package/dist/vector/geometry/geometryType.js.map +1 -0
  173. package/dist/vector/geometry/geometryVector.d.ts +37 -0
  174. package/dist/vector/geometry/geometryVector.js +73 -0
  175. package/dist/vector/geometry/geometryVector.js.map +1 -0
  176. package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -0
  177. package/dist/vector/geometry/geometryVectorConverter.js +302 -0
  178. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -0
  179. package/dist/vector/geometry/gpuVector.d.ts +21 -0
  180. package/dist/vector/geometry/gpuVector.js +38 -0
  181. package/dist/vector/geometry/gpuVector.js.map +1 -0
  182. package/dist/vector/geometry/point.d.ts +195 -0
  183. package/dist/vector/geometry/point.js +283 -0
  184. package/dist/vector/geometry/point.js.map +1 -0
  185. package/dist/vector/geometry/spaceFillingCurve.d.ts +22 -0
  186. package/dist/vector/geometry/spaceFillingCurve.js +26 -0
  187. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -0
  188. package/dist/vector/geometry/topologyVector.d.ts +9 -0
  189. package/dist/vector/geometry/topologyVector.js +21 -0
  190. package/dist/vector/geometry/topologyVector.js.map +1 -0
  191. package/dist/vector/geometry/zOrderCurve.d.ts +17 -0
  192. package/dist/vector/geometry/zOrderCurve.js +44 -0
  193. package/dist/vector/geometry/zOrderCurve.js.map +1 -0
  194. package/dist/vector/intVector.d.ts +8 -0
  195. package/dist/vector/intVector.js +3 -0
  196. package/dist/vector/intVector.js.map +1 -0
  197. package/dist/vector/sequence/intSequenceVector.d.ts +18 -0
  198. package/dist/vector/sequence/intSequenceVector.js +72 -0
  199. package/dist/vector/sequence/intSequenceVector.js.map +1 -0
  200. package/dist/vector/sequence/longSequenceVector.d.ts +18 -0
  201. package/dist/vector/sequence/longSequenceVector.js +57 -0
  202. package/dist/vector/sequence/longSequenceVector.js.map +1 -0
  203. package/dist/vector/sequence/sequenceVector.d.ts +5 -0
  204. package/dist/vector/sequence/sequenceVector.js +15 -0
  205. package/dist/vector/sequence/sequenceVector.js.map +1 -0
  206. package/dist/vector/variableSizeVector.d.ts +6 -0
  207. package/dist/vector/variableSizeVector.js +16 -0
  208. package/dist/vector/variableSizeVector.js.map +1 -0
  209. package/dist/vector/vector.d.ts +30 -0
  210. package/dist/vector/vector.js +73 -0
  211. package/dist/vector/vector.js.map +1 -0
  212. package/dist/vector/vectorType.d.ts +7 -0
  213. package/dist/vector/vectorType.js +12 -0
  214. package/dist/vector/vectorType.js.map +1 -0
  215. package/package.json +81 -0
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeMap = void 0;
4
+ const tilesetMetadata_g_1 = require("./tilesetMetadata.g");
5
+ /**
6
+ * The type code is a single varint32 that encodes:
7
+ * - Physical or logical type
8
+ * - Nullable flag
9
+ * - Whether the column has a name (typeCode >= 10)
10
+ * - Whether the column has children (typeCode == 30 for STRUCT)
11
+ * - For ID types: whether it uses long (64-bit) IDs
12
+ */
13
+ class TypeMap {
14
+ /**
15
+ * Decodes a type code into a Column structure.
16
+ * ID columns (0-3) are represented as physical UINT_32 or UINT_64 types in TypeScript
17
+ */
18
+ static decodeColumnType(typeCode) {
19
+ switch (typeCode) {
20
+ case 0:
21
+ case 1:
22
+ case 2:
23
+ case 3: {
24
+ // ID columns: 0=uint32, 1=uint64, 2=nullable uint32, 3=nullable uint64
25
+ const column = new tilesetMetadata_g_1.Column();
26
+ column.nullable = typeCode > 1;
27
+ column.columnScope = tilesetMetadata_g_1.ColumnScope.FEATURE;
28
+ const scalarCol = new tilesetMetadata_g_1.ScalarColumn();
29
+ // Map to physical type since TS schema doesn't have LogicalScalarType.ID
30
+ const physicalType = (typeCode & 1) !== 0 ? tilesetMetadata_g_1.ScalarType.UINT_64 : tilesetMetadata_g_1.ScalarType.UINT_32;
31
+ scalarCol.type = { case: "physicalType", value: physicalType };
32
+ column.type = { case: "scalarType", value: scalarCol };
33
+ return column;
34
+ }
35
+ case 4: {
36
+ // GEOMETRY (non-nullable, no children)
37
+ const column = new tilesetMetadata_g_1.Column();
38
+ column.nullable = false;
39
+ column.columnScope = tilesetMetadata_g_1.ColumnScope.FEATURE;
40
+ const complexCol = new tilesetMetadata_g_1.ComplexColumn();
41
+ complexCol.type = { case: "physicalType", value: tilesetMetadata_g_1.ComplexType.GEOMETRY };
42
+ column.type = { case: "complexType", value: complexCol };
43
+ return column;
44
+ }
45
+ case 30: {
46
+ // STRUCT (non-nullable with children)
47
+ const column = new tilesetMetadata_g_1.Column();
48
+ column.nullable = false;
49
+ column.columnScope = tilesetMetadata_g_1.ColumnScope.FEATURE;
50
+ const complexCol = new tilesetMetadata_g_1.ComplexColumn();
51
+ complexCol.type = { case: "physicalType", value: tilesetMetadata_g_1.ComplexType.STRUCT };
52
+ column.type = { case: "complexType", value: complexCol };
53
+ return column;
54
+ }
55
+ default:
56
+ return this.mapScalarType(typeCode);
57
+ }
58
+ }
59
+ /**
60
+ * Returns true if this type code requires a name to be stored.
61
+ * ID (0-3) and GEOMETRY (4) columns have implicit names.
62
+ * All other types (>= 10) require explicit names.
63
+ */
64
+ static columnTypeHasName(typeCode) {
65
+ return typeCode >= 10;
66
+ }
67
+ /**
68
+ * Returns true if this type code has child fields.
69
+ * Only STRUCT (typeCode 30) has children.
70
+ */
71
+ static columnTypeHasChildren(typeCode) {
72
+ return typeCode === 30;
73
+ }
74
+ /**
75
+ * Determines if a stream count needs to be read for this column.
76
+ * Mirrors the logic in cpp/include/mlt/metadata/type_map.hpp lines 81-118
77
+ */
78
+ static hasStreamCount(column) {
79
+ // ID columns don't have stream count (identified by name)
80
+ if (column.name === "id") {
81
+ return false;
82
+ }
83
+ if (column.type.case === "scalarType") {
84
+ const scalarCol = column.type.value;
85
+ if (scalarCol.type.case === "physicalType") {
86
+ const physicalType = scalarCol.type.value;
87
+ switch (physicalType) {
88
+ case tilesetMetadata_g_1.ScalarType.BOOLEAN:
89
+ case tilesetMetadata_g_1.ScalarType.INT_8:
90
+ case tilesetMetadata_g_1.ScalarType.UINT_8:
91
+ case tilesetMetadata_g_1.ScalarType.INT_32:
92
+ case tilesetMetadata_g_1.ScalarType.UINT_32:
93
+ case tilesetMetadata_g_1.ScalarType.INT_64:
94
+ case tilesetMetadata_g_1.ScalarType.UINT_64:
95
+ case tilesetMetadata_g_1.ScalarType.FLOAT:
96
+ case tilesetMetadata_g_1.ScalarType.DOUBLE:
97
+ return false;
98
+ case tilesetMetadata_g_1.ScalarType.STRING:
99
+ return true;
100
+ default:
101
+ return false;
102
+ }
103
+ }
104
+ else if (scalarCol.type.case === "logicalType") {
105
+ return false;
106
+ }
107
+ }
108
+ else if (column.type.case === "complexType") {
109
+ const complexCol = column.type.value;
110
+ if (complexCol.type.case === "physicalType") {
111
+ const physicalType = complexCol.type.value;
112
+ switch (physicalType) {
113
+ case tilesetMetadata_g_1.ComplexType.GEOMETRY:
114
+ case tilesetMetadata_g_1.ComplexType.STRUCT:
115
+ return true;
116
+ default:
117
+ return false;
118
+ }
119
+ }
120
+ }
121
+ console.warn("Unexpected column type in hasStreamCount", column);
122
+ return false;
123
+ }
124
+ /**
125
+ * Maps a scalar type code to a Column with ScalarType.
126
+ * Type codes 10-29 encode scalar types with nullable flag.
127
+ * Even codes are non-nullable, odd codes are nullable.
128
+ */
129
+ static mapScalarType(typeCode) {
130
+ let scalarType = null;
131
+ switch (typeCode) {
132
+ case 10:
133
+ case 11:
134
+ scalarType = tilesetMetadata_g_1.ScalarType.BOOLEAN;
135
+ break;
136
+ case 12:
137
+ case 13:
138
+ scalarType = tilesetMetadata_g_1.ScalarType.INT_8;
139
+ break;
140
+ case 14:
141
+ case 15:
142
+ scalarType = tilesetMetadata_g_1.ScalarType.UINT_8;
143
+ break;
144
+ case 16:
145
+ case 17:
146
+ scalarType = tilesetMetadata_g_1.ScalarType.INT_32;
147
+ break;
148
+ case 18:
149
+ case 19:
150
+ scalarType = tilesetMetadata_g_1.ScalarType.UINT_32;
151
+ break;
152
+ case 20:
153
+ case 21:
154
+ scalarType = tilesetMetadata_g_1.ScalarType.INT_64;
155
+ break;
156
+ case 22:
157
+ case 23:
158
+ scalarType = tilesetMetadata_g_1.ScalarType.UINT_64;
159
+ break;
160
+ case 24:
161
+ case 25:
162
+ scalarType = tilesetMetadata_g_1.ScalarType.FLOAT;
163
+ break;
164
+ case 26:
165
+ case 27:
166
+ scalarType = tilesetMetadata_g_1.ScalarType.DOUBLE;
167
+ break;
168
+ case 28:
169
+ case 29:
170
+ scalarType = tilesetMetadata_g_1.ScalarType.STRING;
171
+ break;
172
+ default:
173
+ return null;
174
+ }
175
+ const column = new tilesetMetadata_g_1.Column();
176
+ column.nullable = (typeCode & 1) !== 0;
177
+ column.columnScope = tilesetMetadata_g_1.ColumnScope.FEATURE;
178
+ const scalarCol = new tilesetMetadata_g_1.ScalarColumn();
179
+ scalarCol.type = { case: "physicalType", value: scalarType };
180
+ column.type = { case: "scalarType", value: scalarCol };
181
+ return column;
182
+ }
183
+ }
184
+ exports.TypeMap = TypeMap;
185
+ //# sourceMappingURL=typeMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeMap.js","sourceRoot":"","sources":["../../../src/metadata/tileset/typeMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import FeatureTable from "./vector/featureTable";
2
+ import GeometryScaling from "./encodings/geometryScaling";
3
+ /**
4
+ * Decodes a tile with embedded metadata (Tag 0x01 format).
5
+ * This is the primary decoder function for MLT tiles.
6
+ *
7
+ * @param tile The tile data to decode
8
+ * @param geometryScaling Optional geometry scaling parameters
9
+ * @param idWithinMaxSafeInteger If true, limits ID values to JavaScript safe integer range (53 bits)
10
+ */
11
+ export default function decodeTile(tile: Uint8Array, geometryScaling?: GeometryScaling, idWithinMaxSafeInteger?: boolean): FeatureTable[];
@@ -0,0 +1,146 @@
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.default = decodeTile;
7
+ const featureTable_1 = __importDefault(require("./vector/featureTable"));
8
+ const tilesetMetadata_g_1 = require("./metadata/tileset/tilesetMetadata.g");
9
+ const intWrapper_1 = __importDefault(require("./encodings/intWrapper"));
10
+ const streamMetadataDecoder_1 = require("./metadata/tile/streamMetadataDecoder");
11
+ const vectorType_1 = require("./vector/vectorType");
12
+ const intFlatVector_1 = require("./vector/flat/intFlatVector");
13
+ const bitVector_1 = __importDefault(require("./vector/flat/bitVector"));
14
+ const integerStreamDecoder_1 = __importDefault(require("./encodings/integerStreamDecoder"));
15
+ const intSequenceVector_1 = require("./vector/sequence/intSequenceVector");
16
+ const longFlatVector_1 = require("./vector/flat/longFlatVector");
17
+ const longSequenceVector_1 = require("./vector/sequence/longSequenceVector");
18
+ const integerDecodingUtils_1 = require("./encodings/integerDecodingUtils");
19
+ const geometryDecoder_1 = require("./encodings/geometryDecoder");
20
+ const propertyDecoder_1 = require("./encodings/propertyDecoder");
21
+ const intConstVector_1 = require("./vector/constant/intConstVector");
22
+ const longConstVector_1 = require("./vector/constant/longConstVector");
23
+ const decodingUtils_1 = require("./encodings/decodingUtils");
24
+ const doubleFlatVector_1 = require("./vector/flat/doubleFlatVector");
25
+ const embeddedTilesetMetadataDecoder_1 = require("./metadata/tileset/embeddedTilesetMetadataDecoder");
26
+ const typeMap_1 = require("./metadata/tileset/typeMap");
27
+ const ID_COLUMN_NAME = "id";
28
+ const GEOMETRY_COLUMN_NAME = "geometry";
29
+ /**
30
+ * Decodes a tile with embedded metadata (Tag 0x01 format).
31
+ * This is the primary decoder function for MLT tiles.
32
+ *
33
+ * @param tile The tile data to decode
34
+ * @param geometryScaling Optional geometry scaling parameters
35
+ * @param idWithinMaxSafeInteger If true, limits ID values to JavaScript safe integer range (53 bits)
36
+ */
37
+ function decodeTile(tile, geometryScaling, idWithinMaxSafeInteger = true) {
38
+ const offset = new intWrapper_1.default(0);
39
+ const featureTables = [];
40
+ while (offset.get() < tile.length) {
41
+ const blockLength = (0, integerDecodingUtils_1.decodeVarintInt32)(tile, offset, 1)[0] >>> 0;
42
+ const blockStart = offset.get();
43
+ const blockEnd = blockStart + blockLength;
44
+ if (blockEnd > tile.length) {
45
+ throw new Error(`Block overruns tile: ${blockEnd} > ${tile.length}`);
46
+ }
47
+ const tag = (0, integerDecodingUtils_1.decodeVarintInt32)(tile, offset, 1)[0] >>> 0;
48
+ if (tag !== 1) {
49
+ // Skip unknown block types
50
+ offset.set(blockEnd);
51
+ continue;
52
+ }
53
+ // Decode embedded metadata and extent (one of each per block)
54
+ const decode = (0, embeddedTilesetMetadataDecoder_1.decodeEmbeddedTileSetMetadata)(tile, offset);
55
+ const metadata = decode[0];
56
+ const extent = decode[1];
57
+ const featureTableMetadata = metadata.featureTables[0];
58
+ // Decode columns from streams
59
+ let idVector = null;
60
+ let geometryVector = null;
61
+ const propertyVectors = [];
62
+ let numFeatures = 0;
63
+ for (const columnMetadata of featureTableMetadata.columns) {
64
+ const columnName = columnMetadata.name;
65
+ const numStreams = typeMap_1.TypeMap.hasStreamCount(columnMetadata) ? (0, integerDecodingUtils_1.decodeVarintInt32)(tile, offset, 1)[0] : 1;
66
+ if (columnName === ID_COLUMN_NAME) {
67
+ let nullabilityBuffer = null;
68
+ // Check column metadata nullable flag, not numStreams (ID columns don't have stream count)
69
+ if (columnMetadata.nullable) {
70
+ const presentStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(tile, offset);
71
+ const streamDataStart = offset.get();
72
+ const values = (0, decodingUtils_1.decodeBooleanRle)(tile, presentStreamMetadata.numValues, offset);
73
+ // Fix offset: decodeBooleanRle doesn't consume all compressed bytes
74
+ offset.set(streamDataStart + presentStreamMetadata.byteLength);
75
+ nullabilityBuffer = new bitVector_1.default(values, presentStreamMetadata.numValues);
76
+ }
77
+ const idDataStreamMetadata = streamMetadataDecoder_1.StreamMetadataDecoder.decode(tile, offset);
78
+ numFeatures = idDataStreamMetadata.numValues;
79
+ idVector = decodeIdColumn(tile, columnMetadata, offset, columnName, idDataStreamMetadata, nullabilityBuffer ?? numFeatures, idWithinMaxSafeInteger);
80
+ }
81
+ else if (columnName === GEOMETRY_COLUMN_NAME) {
82
+ if (geometryScaling) {
83
+ geometryScaling.scale = geometryScaling.extent / extent;
84
+ }
85
+ geometryVector = (0, geometryDecoder_1.decodeGeometryColumn)(tile, numStreams, offset, numFeatures, geometryScaling);
86
+ }
87
+ else {
88
+ if (numStreams === 0 && columnMetadata.type.value instanceof tilesetMetadata_g_1.ScalarColumn) {
89
+ continue;
90
+ }
91
+ const propertyVector = (0, propertyDecoder_1.decodePropertyColumn)(tile, offset, columnMetadata, numStreams, numFeatures, undefined);
92
+ if (propertyVector) {
93
+ Array.isArray(propertyVector)
94
+ ? propertyVectors.push(...propertyVector)
95
+ : propertyVectors.push(propertyVector);
96
+ }
97
+ }
98
+ }
99
+ const featureTable = new featureTable_1.default(featureTableMetadata.name, geometryVector, idVector, propertyVectors, extent);
100
+ featureTables.push(featureTable);
101
+ offset.set(blockEnd);
102
+ }
103
+ return featureTables;
104
+ }
105
+ function decodeIdColumn(tile, columnMetadata, offset, columnName, idDataStreamMetadata, sizeOrNullabilityBuffer, idWithinMaxSafeInteger = false) {
106
+ const idDataType = columnMetadata.type.value.type.value;
107
+ const vectorType = integerStreamDecoder_1.default.getVectorType(idDataStreamMetadata, sizeOrNullabilityBuffer);
108
+ if (idDataType === tilesetMetadata_g_1.ScalarType.UINT_32) {
109
+ switch (vectorType) {
110
+ case vectorType_1.VectorType.FLAT: {
111
+ const id = integerStreamDecoder_1.default.decodeIntStream(tile, offset, idDataStreamMetadata, false);
112
+ return new intFlatVector_1.IntFlatVector(columnName, id, sizeOrNullabilityBuffer);
113
+ }
114
+ case vectorType_1.VectorType.SEQUENCE: {
115
+ const id = integerStreamDecoder_1.default.decodeSequenceIntStream(tile, offset, idDataStreamMetadata);
116
+ return new intSequenceVector_1.IntSequenceVector(columnName, id[0], id[1], idDataStreamMetadata.numRleValues);
117
+ }
118
+ case vectorType_1.VectorType.CONST: {
119
+ const id = integerStreamDecoder_1.default.decodeConstIntStream(tile, offset, idDataStreamMetadata, false);
120
+ return new intConstVector_1.IntConstVector(columnName, id, sizeOrNullabilityBuffer);
121
+ }
122
+ }
123
+ }
124
+ else {
125
+ switch (vectorType) {
126
+ case vectorType_1.VectorType.FLAT: {
127
+ if (idWithinMaxSafeInteger) {
128
+ const id = integerStreamDecoder_1.default.decodeLongFloat64Stream(tile, offset, idDataStreamMetadata, false);
129
+ return new doubleFlatVector_1.DoubleFlatVector(columnName, id, sizeOrNullabilityBuffer);
130
+ }
131
+ const id = integerStreamDecoder_1.default.decodeLongStream(tile, offset, idDataStreamMetadata, false);
132
+ return new longFlatVector_1.LongFlatVector(columnName, id, sizeOrNullabilityBuffer);
133
+ }
134
+ case vectorType_1.VectorType.SEQUENCE: {
135
+ const id = integerStreamDecoder_1.default.decodeSequenceLongStream(tile, offset, idDataStreamMetadata);
136
+ return new longSequenceVector_1.LongSequenceVector(columnName, id[0], id[1], idDataStreamMetadata.numRleValues);
137
+ }
138
+ case vectorType_1.VectorType.CONST: {
139
+ const id = integerStreamDecoder_1.default.decodeConstLongStream(tile, offset, idDataStreamMetadata, false);
140
+ return new longConstVector_1.LongConstVector(columnName, id, sizeOrNullabilityBuffer);
141
+ }
142
+ }
143
+ }
144
+ throw new Error("Vector type not supported for id column.");
145
+ }
146
+ //# sourceMappingURL=mltDecoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mltDecoder.js","sourceRoot":"","sources":["../src/mltDecoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export declare enum ColumnDataType {
2
+ STRING = 0,
3
+ FLOAT = 1,
4
+ DOUBLE = 2,
5
+ INT_64 = 3,
6
+ UINT_64 = 4,
7
+ BOOLEAN = 5,
8
+ GEOMETRY = 6,
9
+ GEOMETRY_M = 7,
10
+ GEOMETRY_Z = 8,
11
+ GEOMETRY_ZM = 9
12
+ }
13
+ export declare enum ColumnEncoding {
14
+ PLAIN = 0,
15
+ VARINT = 1,
16
+ DELTA_VARINT = 2,
17
+ RLE = 3,
18
+ BOOLEAN_RLE = 4,
19
+ BYTE_RLE = 5,
20
+ DICTIONARY = 6,
21
+ LOCALIZED_DICTIONARY = 7,
22
+ ORDERED_GEOMETRY_ENCODING = 8,
23
+ INDEXED_COORDINATE_ENCODING = 9
24
+ }
25
+ export interface ColumnMetadata {
26
+ columnName: string;
27
+ columnType: ColumnDataType;
28
+ columnEncoding: ColumnEncoding;
29
+ streams: Map<string, StreamMetadata>;
30
+ }
31
+ export interface StreamMetadata {
32
+ numValues: number;
33
+ byteLength: number;
34
+ }
35
+ export interface LayerMetadata {
36
+ name: string;
37
+ numColumns: number;
38
+ numFeatures: number;
39
+ columnMetadata: ColumnMetadata[];
40
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColumnEncoding = exports.ColumnDataType = void 0;
4
+ var ColumnDataType;
5
+ (function (ColumnDataType) {
6
+ ColumnDataType[ColumnDataType["STRING"] = 0] = "STRING";
7
+ ColumnDataType[ColumnDataType["FLOAT"] = 1] = "FLOAT";
8
+ ColumnDataType[ColumnDataType["DOUBLE"] = 2] = "DOUBLE";
9
+ ColumnDataType[ColumnDataType["INT_64"] = 3] = "INT_64";
10
+ ColumnDataType[ColumnDataType["UINT_64"] = 4] = "UINT_64";
11
+ ColumnDataType[ColumnDataType["BOOLEAN"] = 5] = "BOOLEAN";
12
+ ColumnDataType[ColumnDataType["GEOMETRY"] = 6] = "GEOMETRY";
13
+ ColumnDataType[ColumnDataType["GEOMETRY_M"] = 7] = "GEOMETRY_M";
14
+ ColumnDataType[ColumnDataType["GEOMETRY_Z"] = 8] = "GEOMETRY_Z";
15
+ ColumnDataType[ColumnDataType["GEOMETRY_ZM"] = 9] = "GEOMETRY_ZM";
16
+ })(ColumnDataType || (exports.ColumnDataType = ColumnDataType = {}));
17
+ var ColumnEncoding;
18
+ (function (ColumnEncoding) {
19
+ /*
20
+ * String -> no dictionary coding
21
+ * Geometry -> standard unsorted encoding
22
+ * */
23
+ ColumnEncoding[ColumnEncoding["PLAIN"] = 0] = "PLAIN";
24
+ ColumnEncoding[ColumnEncoding["VARINT"] = 1] = "VARINT";
25
+ ColumnEncoding[ColumnEncoding["DELTA_VARINT"] = 2] = "DELTA_VARINT";
26
+ ColumnEncoding[ColumnEncoding["RLE"] = 3] = "RLE";
27
+ ColumnEncoding[ColumnEncoding["BOOLEAN_RLE"] = 4] = "BOOLEAN_RLE";
28
+ ColumnEncoding[ColumnEncoding["BYTE_RLE"] = 5] = "BYTE_RLE";
29
+ ColumnEncoding[ColumnEncoding["DICTIONARY"] = 6] = "DICTIONARY";
30
+ ColumnEncoding[ColumnEncoding["LOCALIZED_DICTIONARY"] = 7] = "LOCALIZED_DICTIONARY";
31
+ ColumnEncoding[ColumnEncoding["ORDERED_GEOMETRY_ENCODING"] = 8] = "ORDERED_GEOMETRY_ENCODING";
32
+ ColumnEncoding[ColumnEncoding["INDEXED_COORDINATE_ENCODING"] = 9] = "INDEXED_COORDINATE_ENCODING";
33
+ })(ColumnEncoding || (exports.ColumnEncoding = ColumnEncoding = {}));
34
+ //# sourceMappingURL=mltMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mltMetadata.js","sourceRoot":"","sources":["../src/mltMetadata.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,uDAAM,CAAA;IACN,qDAAK,CAAA;IACL,uDAAM,CAAA;IACN,uDAAM,CAAA;IACN,yDAAO,CAAA;IACP,yDAAO,CAAA;IACP,2DAAQ,CAAA;IACR,+DAAU,CAAA;IACV,+DAAU,CAAA;IACV,iEAAW,CAAA;AACf,CAAC,EAXW,cAAc,8BAAd,cAAc,QAWzB;AAED,IAAY,cAeX;AAfD,WAAY,cAAc;IACtB;;;SAGK;IACL,qDAAK,CAAA;IACL,uDAAM,CAAA;IACN,mEAAY,CAAA;IACZ,iDAAG,CAAA;IACH,iEAAW,CAAA;IACX,2DAAQ,CAAA;IACR,+DAAU,CAAA;IACV,mFAAoB,CAAA;IACpB,6FAAyB,CAAA;IACzB,iGAA2B,CAAA;AAC/B,CAAC,EAfW,cAAc,8BAAd,cAAc,QAezB"}
@@ -0,0 +1,19 @@
1
+ import BitVector from "../flat/bitVector";
2
+ import { SelectionVector } from "../filter/selectionVector";
3
+ import Vector from "../vector";
4
+ export declare class IntConstVector extends Vector<Int32Array, number> {
5
+ constructor(name: string, value: number, sizeOrNullabilityBuffer: number | BitVector);
6
+ filter(value: number): SelectionVector;
7
+ match(values: number[]): SelectionVector;
8
+ filterSelected(value: number, selectionVector: SelectionVector): void;
9
+ matchSelected(values: number[], selectionVector: SelectionVector): void;
10
+ protected getValueFromBuffer(index: number): number;
11
+ greaterThanOrEqualTo(testValue: number): SelectionVector;
12
+ greaterThanOrEqualToSelected(value: number, selectionVector: SelectionVector): void;
13
+ smallerThanOrEqualTo(value: number): SelectionVector;
14
+ smallerThanOrEqualToSelected(value: number, selectionVector: SelectionVector): void;
15
+ filterNotEqual(value: number): SelectionVector;
16
+ filterNotEqualSelected(value: number, selectionVector: SelectionVector): void;
17
+ noneMatch(values: number[]): SelectionVector;
18
+ noneMatchSelected(values: number[], selectionVector: SelectionVector): void;
19
+ }
@@ -0,0 +1,89 @@
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.IntConstVector = void 0;
7
+ const flatSelectionVector_1 = require("../filter/flatSelectionVector");
8
+ const vector_1 = __importDefault(require("../vector"));
9
+ const selectionVectorUtils_1 = require("../filter/selectionVectorUtils");
10
+ class IntConstVector extends vector_1.default {
11
+ constructor(name, value, sizeOrNullabilityBuffer) {
12
+ super(name, Int32Array.of(value), sizeOrNullabilityBuffer);
13
+ }
14
+ filter(value) {
15
+ //TODO: create also different SelectionVectors -> Const, Sequence and Flat
16
+ const vectorValue = this.dataBuffer[0];
17
+ if (vectorValue !== value) {
18
+ return new flatSelectionVector_1.FlatSelectionVector([]);
19
+ }
20
+ return (0, selectionVectorUtils_1.createNullableSelectionVector)(this.size, this.nullabilityBuffer);
21
+ }
22
+ match(values) {
23
+ const vectorValue = this.dataBuffer[0];
24
+ if (!values.includes(vectorValue)) {
25
+ return new flatSelectionVector_1.FlatSelectionVector([]);
26
+ }
27
+ return (0, selectionVectorUtils_1.createNullableSelectionVector)(this.size, this.nullabilityBuffer);
28
+ }
29
+ filterSelected(value, selectionVector) {
30
+ const vectorValue = this.dataBuffer[0];
31
+ if (vectorValue !== value) {
32
+ selectionVector.setLimit(0);
33
+ return;
34
+ }
35
+ (0, selectionVectorUtils_1.updateNullableSelectionVector)(selectionVector, this.nullabilityBuffer);
36
+ }
37
+ matchSelected(values, selectionVector) {
38
+ const vectorValue = this.dataBuffer[0];
39
+ if (!values.includes(vectorValue)) {
40
+ selectionVector.setLimit(0);
41
+ return;
42
+ }
43
+ (0, selectionVectorUtils_1.updateNullableSelectionVector)(selectionVector, this.nullabilityBuffer);
44
+ }
45
+ getValueFromBuffer(index) {
46
+ return this.dataBuffer[0];
47
+ }
48
+ greaterThanOrEqualTo(testValue) {
49
+ //TODO: handle bitVector?
50
+ return this.dataBuffer[0] >= testValue ? (0, selectionVectorUtils_1.createNullableSelectionVector)(this.size, this.nullabilityBuffer) :
51
+ new flatSelectionVector_1.FlatSelectionVector([]);
52
+ }
53
+ greaterThanOrEqualToSelected(value, selectionVector) {
54
+ if (this.dataBuffer[0] >= value) {
55
+ (0, selectionVectorUtils_1.updateNullableSelectionVector)(selectionVector, this.nullabilityBuffer);
56
+ return;
57
+ }
58
+ selectionVector.setLimit(0);
59
+ }
60
+ smallerThanOrEqualTo(value) {
61
+ return this.dataBuffer[0] <= value ? (0, selectionVectorUtils_1.createNullableSelectionVector)(this.size, this.nullabilityBuffer) :
62
+ new flatSelectionVector_1.FlatSelectionVector([]);
63
+ }
64
+ smallerThanOrEqualToSelected(value, selectionVector) {
65
+ if (this.dataBuffer[0] <= value) {
66
+ (0, selectionVectorUtils_1.updateNullableSelectionVector)(selectionVector, this.nullabilityBuffer);
67
+ return;
68
+ }
69
+ selectionVector.setLimit(0);
70
+ }
71
+ filterNotEqual(value) {
72
+ return this.dataBuffer[0] !== value ? (0, selectionVectorUtils_1.createSelectionVector)(this.size) :
73
+ new flatSelectionVector_1.FlatSelectionVector([]);
74
+ }
75
+ filterNotEqualSelected(value, selectionVector) {
76
+ if (this.dataBuffer[0] !== value) {
77
+ return;
78
+ }
79
+ selectionVector.setLimit(0);
80
+ }
81
+ noneMatch(values) {
82
+ throw new Error("Not implemented yet.");
83
+ }
84
+ noneMatchSelected(values, selectionVector) {
85
+ throw new Error("Not implemented yet.");
86
+ }
87
+ }
88
+ exports.IntConstVector = IntConstVector;
89
+ //# sourceMappingURL=intConstVector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intConstVector.js","sourceRoot":"","sources":["../../../src/vector/constant/intConstVector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import BitVector from "../flat/bitVector";
2
+ import { SelectionVector } from "../filter/selectionVector";
3
+ import Vector from "../vector";
4
+ export declare class LongConstVector extends Vector<BigInt64Array, bigint> {
5
+ constructor(name: string, value: bigint, sizeOrNullabilityBuffer: number | BitVector);
6
+ filter(value: bigint): SelectionVector;
7
+ match(values: bigint[]): SelectionVector;
8
+ filterSelected(value: bigint, selectionVector: SelectionVector): void;
9
+ matchSelected(values: bigint[], selectionVector: SelectionVector): void;
10
+ protected getValueFromBuffer(index: number): bigint;
11
+ greaterThanOrEqualTo(value: bigint): SelectionVector;
12
+ greaterThanOrEqualToSelected(value: bigint, selectionVector: SelectionVector): void;
13
+ smallerThanOrEqualTo(value: bigint): SelectionVector;
14
+ smallerThanOrEqualToSelected(value: bigint, selectionVector: SelectionVector): void;
15
+ filterNotEqual(value: bigint): SelectionVector;
16
+ filterNotEqualSelected(value: bigint, selectionVector: SelectionVector): void;
17
+ noneMatch(values: bigint[]): SelectionVector;
18
+ noneMatchSelected(values: bigint[], selectionVector: SelectionVector): void;
19
+ }