@maplibre/mlt 1.1.1 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decoding/decodingTestUtils.d.ts +75 -0
- package/dist/decoding/decodingTestUtils.js +285 -0
- package/dist/decoding/decodingTestUtils.js.map +1 -0
- package/dist/decoding/decodingUtils.d.ts +5 -8
- package/dist/decoding/decodingUtils.js +24 -51
- package/dist/decoding/decodingUtils.js.map +1 -1
- package/dist/decoding/decodingUtils.spec.js +85 -69
- package/dist/decoding/decodingUtils.spec.js.map +1 -1
- package/dist/decoding/fsstDecoder.spec.js +52 -35
- package/dist/decoding/fsstDecoder.spec.js.map +1 -1
- package/dist/decoding/geometryDecoder.js +49 -38
- package/dist/decoding/geometryDecoder.js.map +1 -1
- package/dist/decoding/integerDecodingUtils.d.ts +18 -31
- package/dist/decoding/integerDecodingUtils.js +134 -299
- package/dist/decoding/integerDecodingUtils.js.map +1 -1
- package/dist/decoding/integerDecodingUtils.spec.js +254 -148
- package/dist/decoding/integerDecodingUtils.spec.js.map +1 -1
- package/dist/decoding/integerStreamDecoder.d.ts +5 -7
- package/dist/decoding/integerStreamDecoder.js +104 -122
- package/dist/decoding/integerStreamDecoder.js.map +1 -1
- package/dist/decoding/integerStreamDecoder.spec.js +370 -113
- package/dist/decoding/integerStreamDecoder.spec.js.map +1 -1
- package/dist/decoding/propertyDecoder.js +23 -33
- package/dist/decoding/propertyDecoder.js.map +1 -1
- package/dist/decoding/propertyDecoder.spec.js +397 -605
- package/dist/decoding/propertyDecoder.spec.js.map +1 -1
- package/dist/decoding/stringDecoder.d.ts +2 -10
- package/dist/decoding/stringDecoder.js +146 -158
- package/dist/decoding/stringDecoder.js.map +1 -1
- package/dist/decoding/stringDecoder.spec.js +322 -321
- package/dist/decoding/stringDecoder.spec.js.map +1 -1
- package/dist/decoding/unpackNullableUtils.d.ts +25 -0
- package/dist/decoding/unpackNullableUtils.js +51 -0
- package/dist/decoding/unpackNullableUtils.js.map +1 -0
- package/dist/decoding/unpackNullableUtils.spec.js +71 -0
- package/dist/decoding/unpackNullableUtils.spec.js.map +1 -0
- package/dist/encoding/embeddedTilesetMetadataEncoder.d.ts +16 -0
- package/dist/encoding/embeddedTilesetMetadataEncoder.js +40 -0
- package/dist/encoding/embeddedTilesetMetadataEncoder.js.map +1 -0
- package/dist/encoding/encodingUtils.d.ts +7 -0
- package/dist/encoding/encodingUtils.js +107 -0
- package/dist/encoding/encodingUtils.js.map +1 -0
- package/dist/encoding/fsstEncoder.d.ts +21 -0
- package/dist/encoding/fsstEncoder.js +78 -0
- package/dist/encoding/fsstEncoder.js.map +1 -0
- package/dist/encoding/integerEncodingUtils.d.ts +68 -0
- package/dist/encoding/integerEncodingUtils.js +655 -0
- package/dist/encoding/integerEncodingUtils.js.map +1 -0
- package/dist/encoding/integerStreamEncoder.d.ts +27 -0
- package/dist/encoding/integerStreamEncoder.js +139 -0
- package/dist/encoding/integerStreamEncoder.js.map +1 -0
- package/dist/encoding/packNullableUtils.d.ts +4 -0
- package/dist/encoding/packNullableUtils.js +55 -0
- package/dist/encoding/packNullableUtils.js.map +1 -0
- package/dist/encoding/propertyEncoder.d.ts +78 -0
- package/dist/encoding/propertyEncoder.js +335 -0
- package/dist/encoding/propertyEncoder.js.map +1 -0
- package/dist/encoding/stringEncoder.d.ts +12 -0
- package/dist/encoding/stringEncoder.js +182 -0
- package/dist/encoding/stringEncoder.js.map +1 -0
- package/dist/encoding/zOrderCurveEncoder.d.ts +1 -0
- package/dist/encoding/zOrderCurveEncoder.js +10 -0
- package/dist/encoding/zOrderCurveEncoder.js.map +1 -0
- package/dist/metadata/tile/streamMetadataDecoder.d.ts +28 -4
- package/dist/metadata/tile/streamMetadataDecoder.js +81 -15
- package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +5 -1
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +33 -45
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.spec.d.ts +1 -0
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.spec.js +142 -0
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.spec.js.map +1 -0
- package/dist/metadata/tileset/typeMap.d.ts +21 -29
- package/dist/metadata/tileset/typeMap.js +167 -169
- package/dist/metadata/tileset/typeMap.js.map +1 -1
- package/dist/mltDecoder.js +12 -11
- package/dist/mltDecoder.js.map +1 -1
- package/dist/vector/dictionary/stringDictionaryVector.d.ts +1 -1
- package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
- package/dist/vector/flat/stringFlatVector.d.ts +1 -1
- package/dist/vector/flat/stringFlatVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +2 -2
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -1
- package/dist/vector/geometry/constGpuVector.d.ts +2 -2
- package/dist/vector/geometry/constGpuVector.js.map +1 -1
- package/dist/vector/geometry/flatGpuVector.d.ts +2 -2
- package/dist/vector/geometry/flatGpuVector.js.map +1 -1
- package/dist/vector/geometry/geometryVector.js +2 -2
- package/dist/vector/geometry/geometryVector.js.map +1 -1
- package/dist/vector/geometry/geometryVectorConverter.js +4 -4
- package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
- package/dist/vector/geometry/gpuVector.d.ts +2 -2
- package/dist/vector/geometry/gpuVector.js.map +1 -1
- package/dist/vector/geometry/topologyVector.d.ts +4 -4
- package/dist/vector/geometry/topologyVector.js +0 -1
- package/dist/vector/geometry/topologyVector.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.d.ts +4 -17
- package/dist/vector/geometry/zOrderCurve.js +10 -35
- package/dist/vector/geometry/zOrderCurve.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.spec.js +21 -10
- package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -1
- package/dist/vector/variableSizeVector.d.ts +2 -2
- package/dist/vector/variableSizeVector.js +0 -1
- package/dist/vector/variableSizeVector.js.map +1 -1
- package/package.json +6 -8
- package/dist/decoding/geometryDecoder.spec.js +0 -5
- package/dist/decoding/geometryDecoder.spec.js.map +0 -1
- package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +0 -15
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js +0 -27
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +0 -1
- package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +0 -24
- package/dist/metadata/tile/rleEncodedStreamMetadata.js +0 -38
- package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +0 -1
- package/dist/metadata/tile/streamMetadata.d.ts +0 -29
- package/dist/metadata/tile/streamMetadata.js +0 -82
- package/dist/metadata/tile/streamMetadata.js.map +0 -1
- package/dist/vector/geometry/spaceFillingCurve.d.ts +0 -22
- package/dist/vector/geometry/spaceFillingCurve.js +0 -31
- package/dist/vector/geometry/spaceFillingCurve.js.map +0 -1
- /package/dist/decoding/{geometryDecoder.spec.d.ts → unpackNullableUtils.spec.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type BitVector from "./flat/bitVector";
|
|
2
2
|
import Vector from "./vector";
|
|
3
3
|
export declare abstract class VariableSizeVector<T extends ArrayBufferView, K> extends Vector<T, K> {
|
|
4
|
-
protected offsetBuffer:
|
|
5
|
-
protected constructor(name: string, offsetBuffer:
|
|
4
|
+
protected offsetBuffer: Uint32Array;
|
|
5
|
+
protected constructor(name: string, offsetBuffer: Uint32Array, dataBuffer: T, sizeOrNullabilityBuffer: number | BitVector);
|
|
6
6
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import Vector from "./vector";
|
|
2
2
|
export class VariableSizeVector extends Vector {
|
|
3
3
|
offsetBuffer;
|
|
4
|
-
//TODO: switch to Uint32Array by changing the decodings
|
|
5
4
|
constructor(name, offsetBuffer, dataBuffer, sizeOrNullabilityBuffer) {
|
|
6
5
|
super(name, dataBuffer, sizeOrNullabilityBuffer);
|
|
7
6
|
this.offsetBuffer = offsetBuffer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variableSizeVector.js","sourceRoot":"","sources":["../../src/vector/variableSizeVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,OAAgB,kBAAiD,SAAQ,MAAY;
|
|
1
|
+
{"version":3,"file":"variableSizeVector.js","sourceRoot":"","sources":["../../src/vector/variableSizeVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,OAAgB,kBAAiD,SAAQ,MAAY;IAGzE;IAFd,YACI,IAAY,EACF,YAAyB,EACnC,UAAa,EACb,uBAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAJvC,iBAAY,GAAZ,YAAY,CAAa;IAKvC,CAAC;CACJ","sourcesContent":["import type BitVector from \"./flat/bitVector\";\nimport Vector from \"./vector\";\n\nexport abstract class VariableSizeVector<T extends ArrayBufferView, K> extends Vector<T, K> {\n protected constructor(\n name: string,\n protected offsetBuffer: Uint32Array,\n dataBuffer: T,\n sizeOrNullabilityBuffer: number | BitVector,\n ) {\n super(name, dataBuffer, sizeOrNullabilityBuffer);\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maplibre/mlt",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|
|
24
|
-
"url": "
|
|
24
|
+
"url": "https://github.com/maplibre/maplibre-tile-spec"
|
|
25
25
|
},
|
|
26
26
|
"bugs": {
|
|
27
27
|
"url": "https://github.com/maplibre/maplibre-tile-spec/issues"
|
|
@@ -31,18 +31,16 @@
|
|
|
31
31
|
"@maplibre/maplibre-gl-style-spec": "^24.3.1",
|
|
32
32
|
"@types/bytebuffer": "^5.0.49",
|
|
33
33
|
"@types/earcut": "^3.0.0",
|
|
34
|
-
"@types/node": "^24.10.
|
|
34
|
+
"@types/node": "^24.10.2",
|
|
35
35
|
"@types/pbf": "^3.0.5",
|
|
36
|
-
"@
|
|
37
|
-
"@vitest/coverage-v8": "^4.0.13",
|
|
36
|
+
"@vitest/coverage-v8": "^4.0.15",
|
|
38
37
|
"bytebuffer": "^5.0.1",
|
|
39
38
|
"earcut": "^3.0.2",
|
|
40
39
|
"eslint": "^9.39.1",
|
|
41
40
|
"pbf": "^4.0.1",
|
|
42
|
-
"prettier": "^3.
|
|
41
|
+
"prettier": "^3.7.4",
|
|
43
42
|
"typescript": "^5.9.3",
|
|
44
|
-
"typescript-eslint": "^8.
|
|
45
|
-
"varint": "^6.0.0",
|
|
43
|
+
"typescript-eslint": "^8.49.0",
|
|
46
44
|
"vitest": "^4.0.1"
|
|
47
45
|
},
|
|
48
46
|
"dependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
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","sourcesContent":["import { describe, it } from \"vitest\";\n\ndescribe(\"decodeGeometryColumn\", () => {\n it(\"should decode mixed LineString, Polygon, MultiLineString and MultiPolygon geometry\", async () => {});\n});\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { StreamMetadata } from "./streamMetadata";
|
|
2
|
-
import { type PhysicalStreamType } from "./physicalStreamType";
|
|
3
|
-
import { type LogicalStreamType } from "./logicalStreamType";
|
|
4
|
-
import { type LogicalLevelTechnique } from "./logicalLevelTechnique";
|
|
5
|
-
import { type PhysicalLevelTechnique } from "./physicalLevelTechnique";
|
|
6
|
-
import type IntWrapper from "../../decoding/intWrapper";
|
|
7
|
-
export declare class MortonEncodedStreamMetadata extends StreamMetadata {
|
|
8
|
-
private readonly num_bits;
|
|
9
|
-
private readonly coordinate_shift;
|
|
10
|
-
constructor(physicalStreamType: PhysicalStreamType, logicalStreamType: LogicalStreamType, logicalLevelTechnique1: LogicalLevelTechnique, logicalLevelTechnique2: LogicalLevelTechnique, physicalLevelTechnique: PhysicalLevelTechnique, numValues: number, byteLength: number, numBits: number, coordinateShift: number);
|
|
11
|
-
static decode(tile: Uint8Array, offset: IntWrapper): MortonEncodedStreamMetadata;
|
|
12
|
-
static decodePartial(streamMetadata: StreamMetadata, tile: Uint8Array, offset: IntWrapper): MortonEncodedStreamMetadata;
|
|
13
|
-
numBits(): number;
|
|
14
|
-
coordinateShift(): number;
|
|
15
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { StreamMetadata } from "./streamMetadata";
|
|
2
|
-
import { decodeVarintInt32 } from "../../decoding/integerDecodingUtils";
|
|
3
|
-
export class MortonEncodedStreamMetadata extends StreamMetadata {
|
|
4
|
-
num_bits;
|
|
5
|
-
coordinate_shift;
|
|
6
|
-
constructor(physicalStreamType, logicalStreamType, logicalLevelTechnique1, logicalLevelTechnique2, physicalLevelTechnique, numValues, byteLength, numBits, coordinateShift) {
|
|
7
|
-
super(physicalStreamType, logicalStreamType, logicalLevelTechnique1, logicalLevelTechnique2, physicalLevelTechnique, numValues, byteLength);
|
|
8
|
-
this.num_bits = numBits;
|
|
9
|
-
this.coordinate_shift = coordinateShift;
|
|
10
|
-
}
|
|
11
|
-
static decode(tile, offset) {
|
|
12
|
-
const streamMetadata = StreamMetadata.decode(tile, offset);
|
|
13
|
-
const mortonInfo = decodeVarintInt32(tile, offset, 2);
|
|
14
|
-
return new MortonEncodedStreamMetadata(streamMetadata.physicalStreamType, streamMetadata.logicalStreamType, streamMetadata.logicalLevelTechnique1, streamMetadata.logicalLevelTechnique2, streamMetadata.physicalLevelTechnique, streamMetadata.numValues, streamMetadata.byteLength, mortonInfo[0], mortonInfo[1]);
|
|
15
|
-
}
|
|
16
|
-
static decodePartial(streamMetadata, tile, offset) {
|
|
17
|
-
const mortonInfo = decodeVarintInt32(tile, offset, 2);
|
|
18
|
-
return new MortonEncodedStreamMetadata(streamMetadata.physicalStreamType, streamMetadata.logicalStreamType, streamMetadata.logicalLevelTechnique1, streamMetadata.logicalLevelTechnique2, streamMetadata.physicalLevelTechnique, streamMetadata.numValues, streamMetadata.byteLength, mortonInfo[0], mortonInfo[1]);
|
|
19
|
-
}
|
|
20
|
-
numBits() {
|
|
21
|
-
return this.num_bits;
|
|
22
|
-
}
|
|
23
|
-
coordinateShift() {
|
|
24
|
-
return this.coordinate_shift;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=mortonEncodedStreamMetadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mortonEncodedStreamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/mortonEncodedStreamMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,OAAO,2BAA4B,SAAQ,cAAc;IAC1C,QAAQ,CAAS;IACjB,gBAAgB,CAAS;IAE1C,YACI,kBAAsC,EACtC,iBAAoC,EACpC,sBAA6C,EAC7C,sBAA6C,EAC7C,sBAA8C,EAC9C,SAAiB,EACjB,UAAkB,EAClB,OAAe,EACf,eAAuB;QAEvB,KAAK,CACD,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,UAAU,CACb,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAkB;QACrD,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,2BAA2B,CAClC,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,CAChB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,aAAa,CACvB,cAA8B,EAC9B,IAAgB,EAChB,MAAkB;QAElB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,2BAA2B,CAClC,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,CAChB,CAAC;IACN,CAAC;IAEM,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ","sourcesContent":["import { StreamMetadata } from \"./streamMetadata\";\nimport { type PhysicalStreamType } from \"./physicalStreamType\";\nimport { type LogicalStreamType } from \"./logicalStreamType\";\nimport { type LogicalLevelTechnique } from \"./logicalLevelTechnique\";\nimport { type PhysicalLevelTechnique } from \"./physicalLevelTechnique\";\nimport type IntWrapper from \"../../decoding/intWrapper\";\nimport { decodeVarintInt32 } from \"../../decoding/integerDecodingUtils\";\n\nexport class MortonEncodedStreamMetadata extends StreamMetadata {\n private readonly num_bits: number;\n private readonly coordinate_shift: number;\n\n constructor(\n physicalStreamType: PhysicalStreamType,\n logicalStreamType: LogicalStreamType,\n logicalLevelTechnique1: LogicalLevelTechnique,\n logicalLevelTechnique2: LogicalLevelTechnique,\n physicalLevelTechnique: PhysicalLevelTechnique,\n numValues: number,\n byteLength: number,\n numBits: number,\n coordinateShift: number,\n ) {\n super(\n physicalStreamType,\n logicalStreamType,\n logicalLevelTechnique1,\n logicalLevelTechnique2,\n physicalLevelTechnique,\n numValues,\n byteLength,\n );\n this.num_bits = numBits;\n this.coordinate_shift = coordinateShift;\n }\n\n public static decode(tile: Uint8Array, offset: IntWrapper): MortonEncodedStreamMetadata {\n const streamMetadata = StreamMetadata.decode(tile, offset);\n const mortonInfo = decodeVarintInt32(tile, offset, 2);\n return new MortonEncodedStreamMetadata(\n streamMetadata.physicalStreamType,\n streamMetadata.logicalStreamType,\n streamMetadata.logicalLevelTechnique1,\n streamMetadata.logicalLevelTechnique2,\n streamMetadata.physicalLevelTechnique,\n streamMetadata.numValues,\n streamMetadata.byteLength,\n mortonInfo[0],\n mortonInfo[1],\n );\n }\n\n public static decodePartial(\n streamMetadata: StreamMetadata,\n tile: Uint8Array,\n offset: IntWrapper,\n ): MortonEncodedStreamMetadata {\n const mortonInfo = decodeVarintInt32(tile, offset, 2);\n return new MortonEncodedStreamMetadata(\n streamMetadata.physicalStreamType,\n streamMetadata.logicalStreamType,\n streamMetadata.logicalLevelTechnique1,\n streamMetadata.logicalLevelTechnique2,\n streamMetadata.physicalLevelTechnique,\n streamMetadata.numValues,\n streamMetadata.byteLength,\n mortonInfo[0],\n mortonInfo[1],\n );\n }\n\n public numBits(): number {\n return this.num_bits;\n }\n\n public coordinateShift(): number {\n return this.coordinate_shift;\n }\n}\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { StreamMetadata } from "./streamMetadata";
|
|
2
|
-
import { type PhysicalStreamType } from "./physicalStreamType";
|
|
3
|
-
import { type LogicalStreamType } from "./logicalStreamType";
|
|
4
|
-
import { type LogicalLevelTechnique } from "./logicalLevelTechnique";
|
|
5
|
-
import { type PhysicalLevelTechnique } from "./physicalLevelTechnique";
|
|
6
|
-
import type IntWrapper from "../../decoding/intWrapper";
|
|
7
|
-
export declare class RleEncodedStreamMetadata extends StreamMetadata {
|
|
8
|
-
private readonly _runs;
|
|
9
|
-
private readonly _numRleValues;
|
|
10
|
-
/**
|
|
11
|
-
* @param numValues After LogicalLevelTechnique was applied -> numRuns + numValues
|
|
12
|
-
* @param _runs Length of the runs array
|
|
13
|
-
* @param _numRleValues Used for pre-allocating the arrays on the client for faster decoding
|
|
14
|
-
*/
|
|
15
|
-
constructor(physicalStreamType: PhysicalStreamType, logicalStreamType: LogicalStreamType, logicalLevelTechnique1: LogicalLevelTechnique, logicalLevelTechnique2: LogicalLevelTechnique, physicalLevelTechnique: PhysicalLevelTechnique, numValues: number, byteLength: number, _runs: number, _numRleValues: number);
|
|
16
|
-
static decode(tile: Uint8Array, offset: IntWrapper): RleEncodedStreamMetadata;
|
|
17
|
-
static decodePartial(streamMetadata: StreamMetadata, tile: Uint8Array, offset: IntWrapper): RleEncodedStreamMetadata;
|
|
18
|
-
get runs(): number;
|
|
19
|
-
get numRleValues(): number;
|
|
20
|
-
/**
|
|
21
|
-
* Override to return the decompressed count for RLE streams.
|
|
22
|
-
*/
|
|
23
|
-
getDecompressedCount(): number;
|
|
24
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { StreamMetadata } from "./streamMetadata";
|
|
2
|
-
import { decodeVarintInt32 } from "../../decoding/integerDecodingUtils";
|
|
3
|
-
export class RleEncodedStreamMetadata extends StreamMetadata {
|
|
4
|
-
_runs;
|
|
5
|
-
_numRleValues;
|
|
6
|
-
/**
|
|
7
|
-
* @param numValues After LogicalLevelTechnique was applied -> numRuns + numValues
|
|
8
|
-
* @param _runs Length of the runs array
|
|
9
|
-
* @param _numRleValues Used for pre-allocating the arrays on the client for faster decoding
|
|
10
|
-
*/
|
|
11
|
-
constructor(physicalStreamType, logicalStreamType, logicalLevelTechnique1, logicalLevelTechnique2, physicalLevelTechnique, numValues, byteLength, _runs, _numRleValues) {
|
|
12
|
-
super(physicalStreamType, logicalStreamType, logicalLevelTechnique1, logicalLevelTechnique2, physicalLevelTechnique, numValues, byteLength);
|
|
13
|
-
this._runs = _runs;
|
|
14
|
-
this._numRleValues = _numRleValues;
|
|
15
|
-
}
|
|
16
|
-
static decode(tile, offset) {
|
|
17
|
-
const streamMetadata = StreamMetadata.decode(tile, offset);
|
|
18
|
-
const rleInfo = decodeVarintInt32(tile, offset, 2);
|
|
19
|
-
return new RleEncodedStreamMetadata(streamMetadata.physicalStreamType, streamMetadata.logicalStreamType, streamMetadata.logicalLevelTechnique1, streamMetadata.logicalLevelTechnique2, streamMetadata.physicalLevelTechnique, streamMetadata.numValues, streamMetadata.byteLength, rleInfo[0], rleInfo[1]);
|
|
20
|
-
}
|
|
21
|
-
static decodePartial(streamMetadata, tile, offset) {
|
|
22
|
-
const rleInfo = decodeVarintInt32(tile, offset, 2);
|
|
23
|
-
return new RleEncodedStreamMetadata(streamMetadata.physicalStreamType, streamMetadata.logicalStreamType, streamMetadata.logicalLevelTechnique1, streamMetadata.logicalLevelTechnique2, streamMetadata.physicalLevelTechnique, streamMetadata.numValues, streamMetadata.byteLength, rleInfo[0], rleInfo[1]);
|
|
24
|
-
}
|
|
25
|
-
get runs() {
|
|
26
|
-
return this._runs;
|
|
27
|
-
}
|
|
28
|
-
get numRleValues() {
|
|
29
|
-
return this._numRleValues;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Override to return the decompressed count for RLE streams.
|
|
33
|
-
*/
|
|
34
|
-
getDecompressedCount() {
|
|
35
|
-
return this._numRleValues;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=rleEncodedStreamMetadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rleEncodedStreamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/rleEncodedStreamMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IAcnC;IACA;IAdrB;;;;OAIG;IACH,YACI,kBAAsC,EACtC,iBAAoC,EACpC,sBAA6C,EAC7C,sBAA6C,EAC7C,sBAA8C,EAC9C,SAAiB,EACjB,UAAkB,EACD,KAAa,EACb,aAAqB;QAEtC,KAAK,CACD,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,UAAU,CACb,CAAC;QAXe,UAAK,GAAL,KAAK,CAAQ;QACb,kBAAa,GAAb,aAAa,CAAQ;IAW1C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAE,MAAkB;QAC9C,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,wBAAwB,CAC/B,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,CACb,CAAC;IACN,CAAC;IAED,MAAM,CAAC,aAAa,CAChB,cAA8B,EAC9B,IAAgB,EAChB,MAAkB;QAElB,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,wBAAwB,CAC/B,cAAc,CAAC,kBAAkB,EACjC,cAAc,CAAC,iBAAiB,EAChC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,CACb,CAAC;IACN,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED;;OAEG;IACM,oBAAoB;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;CACJ","sourcesContent":["import { StreamMetadata } from \"./streamMetadata\";\nimport { type PhysicalStreamType } from \"./physicalStreamType\";\nimport { type LogicalStreamType } from \"./logicalStreamType\";\nimport { type LogicalLevelTechnique } from \"./logicalLevelTechnique\";\nimport { type PhysicalLevelTechnique } from \"./physicalLevelTechnique\";\nimport type IntWrapper from \"../../decoding/intWrapper\";\nimport { decodeVarintInt32 } from \"../../decoding/integerDecodingUtils\";\n\nexport class RleEncodedStreamMetadata extends StreamMetadata {\n /**\n * @param numValues After LogicalLevelTechnique was applied -> numRuns + numValues\n * @param _runs Length of the runs array\n * @param _numRleValues Used for pre-allocating the arrays on the client for faster decoding\n */\n constructor(\n physicalStreamType: PhysicalStreamType,\n logicalStreamType: LogicalStreamType,\n logicalLevelTechnique1: LogicalLevelTechnique,\n logicalLevelTechnique2: LogicalLevelTechnique,\n physicalLevelTechnique: PhysicalLevelTechnique,\n numValues: number,\n byteLength: number,\n private readonly _runs: number,\n private readonly _numRleValues: number,\n ) {\n super(\n physicalStreamType,\n logicalStreamType,\n logicalLevelTechnique1,\n logicalLevelTechnique2,\n physicalLevelTechnique,\n numValues,\n byteLength,\n );\n }\n\n static decode(tile: Uint8Array, offset: IntWrapper): RleEncodedStreamMetadata {\n const streamMetadata = StreamMetadata.decode(tile, offset);\n const rleInfo = decodeVarintInt32(tile, offset, 2);\n return new RleEncodedStreamMetadata(\n streamMetadata.physicalStreamType,\n streamMetadata.logicalStreamType,\n streamMetadata.logicalLevelTechnique1,\n streamMetadata.logicalLevelTechnique2,\n streamMetadata.physicalLevelTechnique,\n streamMetadata.numValues,\n streamMetadata.byteLength,\n rleInfo[0],\n rleInfo[1],\n );\n }\n\n static decodePartial(\n streamMetadata: StreamMetadata,\n tile: Uint8Array,\n offset: IntWrapper,\n ): RleEncodedStreamMetadata {\n const rleInfo = decodeVarintInt32(tile, offset, 2);\n return new RleEncodedStreamMetadata(\n streamMetadata.physicalStreamType,\n streamMetadata.logicalStreamType,\n streamMetadata.logicalLevelTechnique1,\n streamMetadata.logicalLevelTechnique2,\n streamMetadata.physicalLevelTechnique,\n streamMetadata.numValues,\n streamMetadata.byteLength,\n rleInfo[0],\n rleInfo[1],\n );\n }\n\n public get runs(): number {\n return this._runs;\n }\n\n get numRleValues(): number {\n return this._numRleValues;\n }\n\n /**\n * Override to return the decompressed count for RLE streams.\n */\n override getDecompressedCount(): number {\n return this._numRleValues;\n }\n}\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { PhysicalStreamType } from "./physicalStreamType";
|
|
2
|
-
import { LogicalStreamType } from "./logicalStreamType";
|
|
3
|
-
import { LogicalLevelTechnique } from "./logicalLevelTechnique";
|
|
4
|
-
import { PhysicalLevelTechnique } from "./physicalLevelTechnique";
|
|
5
|
-
import type IntWrapper from "../../decoding/intWrapper";
|
|
6
|
-
export declare class StreamMetadata {
|
|
7
|
-
private readonly _physicalStreamType;
|
|
8
|
-
private readonly _logicalStreamType;
|
|
9
|
-
private readonly _logicalLevelTechnique1;
|
|
10
|
-
private readonly _logicalLevelTechnique2;
|
|
11
|
-
private readonly _physicalLevelTechnique;
|
|
12
|
-
private readonly _numValues;
|
|
13
|
-
private readonly _byteLength;
|
|
14
|
-
constructor(_physicalStreamType: PhysicalStreamType, _logicalStreamType: LogicalStreamType, _logicalLevelTechnique1: LogicalLevelTechnique, _logicalLevelTechnique2: LogicalLevelTechnique, _physicalLevelTechnique: PhysicalLevelTechnique, _numValues: number, _byteLength: number);
|
|
15
|
-
static decode(tile: Uint8Array, offset: IntWrapper): StreamMetadata;
|
|
16
|
-
get physicalStreamType(): PhysicalStreamType;
|
|
17
|
-
get logicalStreamType(): LogicalStreamType;
|
|
18
|
-
get logicalLevelTechnique1(): LogicalLevelTechnique;
|
|
19
|
-
get logicalLevelTechnique2(): LogicalLevelTechnique;
|
|
20
|
-
get physicalLevelTechnique(): PhysicalLevelTechnique;
|
|
21
|
-
get numValues(): number;
|
|
22
|
-
get byteLength(): number;
|
|
23
|
-
/**
|
|
24
|
-
* Returns the number of decompressed values.
|
|
25
|
-
* For non-RLE streams, this is the same as numValues.
|
|
26
|
-
* For RLE streams, this is overridden to return numRleValues.
|
|
27
|
-
*/
|
|
28
|
-
getDecompressedCount(): number;
|
|
29
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { PhysicalStreamType } from "./physicalStreamType";
|
|
2
|
-
import { LogicalStreamType } from "./logicalStreamType";
|
|
3
|
-
import { LogicalLevelTechnique } from "./logicalLevelTechnique";
|
|
4
|
-
import { PhysicalLevelTechnique } from "./physicalLevelTechnique";
|
|
5
|
-
import { DictionaryType } from "./dictionaryType";
|
|
6
|
-
import { OffsetType } from "./offsetType";
|
|
7
|
-
import { LengthType } from "./lengthType";
|
|
8
|
-
import { decodeVarintInt32 } from "../../decoding/integerDecodingUtils";
|
|
9
|
-
export class StreamMetadata {
|
|
10
|
-
_physicalStreamType;
|
|
11
|
-
_logicalStreamType;
|
|
12
|
-
_logicalLevelTechnique1;
|
|
13
|
-
_logicalLevelTechnique2;
|
|
14
|
-
_physicalLevelTechnique;
|
|
15
|
-
_numValues;
|
|
16
|
-
_byteLength;
|
|
17
|
-
constructor(_physicalStreamType, _logicalStreamType, _logicalLevelTechnique1, _logicalLevelTechnique2, _physicalLevelTechnique, _numValues, _byteLength) {
|
|
18
|
-
this._physicalStreamType = _physicalStreamType;
|
|
19
|
-
this._logicalStreamType = _logicalStreamType;
|
|
20
|
-
this._logicalLevelTechnique1 = _logicalLevelTechnique1;
|
|
21
|
-
this._logicalLevelTechnique2 = _logicalLevelTechnique2;
|
|
22
|
-
this._physicalLevelTechnique = _physicalLevelTechnique;
|
|
23
|
-
this._numValues = _numValues;
|
|
24
|
-
this._byteLength = _byteLength;
|
|
25
|
-
}
|
|
26
|
-
static decode(tile, offset) {
|
|
27
|
-
const stream_type = tile[offset.get()];
|
|
28
|
-
const physicalStreamType = Object.values(PhysicalStreamType)[stream_type >> 4];
|
|
29
|
-
let logicalStreamType = null;
|
|
30
|
-
switch (physicalStreamType) {
|
|
31
|
-
case PhysicalStreamType.DATA:
|
|
32
|
-
logicalStreamType = new LogicalStreamType(Object.values(DictionaryType)[stream_type & 0xf]);
|
|
33
|
-
break;
|
|
34
|
-
case PhysicalStreamType.OFFSET:
|
|
35
|
-
logicalStreamType = new LogicalStreamType(null, Object.values(OffsetType)[stream_type & 0xf]);
|
|
36
|
-
break;
|
|
37
|
-
case PhysicalStreamType.LENGTH:
|
|
38
|
-
logicalStreamType = new LogicalStreamType(null, null, Object.values(LengthType)[stream_type & 0xf]);
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
offset.increment();
|
|
42
|
-
const encodings_header = tile[offset.get()];
|
|
43
|
-
const llt1 = Object.values(LogicalLevelTechnique)[encodings_header >> 5];
|
|
44
|
-
const llt2 = Object.values(LogicalLevelTechnique)[(encodings_header >> 2) & 0x7];
|
|
45
|
-
const plt = Object.values(PhysicalLevelTechnique)[encodings_header & 0x3];
|
|
46
|
-
offset.increment();
|
|
47
|
-
const sizeInfo = decodeVarintInt32(tile, offset, 2);
|
|
48
|
-
const numValues = sizeInfo[0];
|
|
49
|
-
const byteLength = sizeInfo[1];
|
|
50
|
-
return new StreamMetadata(physicalStreamType, logicalStreamType, llt1, llt2, plt, numValues, byteLength);
|
|
51
|
-
}
|
|
52
|
-
get physicalStreamType() {
|
|
53
|
-
return this._physicalStreamType;
|
|
54
|
-
}
|
|
55
|
-
get logicalStreamType() {
|
|
56
|
-
return this._logicalStreamType;
|
|
57
|
-
}
|
|
58
|
-
get logicalLevelTechnique1() {
|
|
59
|
-
return this._logicalLevelTechnique1;
|
|
60
|
-
}
|
|
61
|
-
get logicalLevelTechnique2() {
|
|
62
|
-
return this._logicalLevelTechnique2;
|
|
63
|
-
}
|
|
64
|
-
get physicalLevelTechnique() {
|
|
65
|
-
return this._physicalLevelTechnique;
|
|
66
|
-
}
|
|
67
|
-
get numValues() {
|
|
68
|
-
return this._numValues;
|
|
69
|
-
}
|
|
70
|
-
get byteLength() {
|
|
71
|
-
return this._byteLength;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Returns the number of decompressed values.
|
|
75
|
-
* For non-RLE streams, this is the same as numValues.
|
|
76
|
-
* For RLE streams, this is overridden to return numRleValues.
|
|
77
|
-
*/
|
|
78
|
-
getDecompressedCount() {
|
|
79
|
-
return this._numValues;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=streamMetadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streamMetadata.js","sourceRoot":"","sources":["../../../src/metadata/tile/streamMetadata.ts"],"names":[],"mappings":"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","sourcesContent":["import { PhysicalStreamType } from \"./physicalStreamType\";\nimport { LogicalStreamType } from \"./logicalStreamType\";\nimport { LogicalLevelTechnique } from \"./logicalLevelTechnique\";\nimport { PhysicalLevelTechnique } from \"./physicalLevelTechnique\";\nimport { DictionaryType } from \"./dictionaryType\";\nimport { OffsetType } from \"./offsetType\";\nimport { LengthType } from \"./lengthType\";\nimport type IntWrapper from \"../../decoding/intWrapper\";\nimport { decodeVarintInt32 } from \"../../decoding/integerDecodingUtils\";\n\nexport class StreamMetadata {\n constructor(\n private readonly _physicalStreamType: PhysicalStreamType,\n private readonly _logicalStreamType: LogicalStreamType,\n private readonly _logicalLevelTechnique1: LogicalLevelTechnique,\n private readonly _logicalLevelTechnique2: LogicalLevelTechnique,\n private readonly _physicalLevelTechnique: PhysicalLevelTechnique,\n private readonly _numValues: number,\n private readonly _byteLength: number,\n ) {}\n\n public static decode(tile: Uint8Array, offset: IntWrapper): StreamMetadata {\n const stream_type = tile[offset.get()];\n const physicalStreamType = Object.values(PhysicalStreamType)[stream_type >> 4] as PhysicalStreamType;\n let logicalStreamType: LogicalStreamType | null = null;\n\n switch (physicalStreamType) {\n case PhysicalStreamType.DATA:\n logicalStreamType = new LogicalStreamType(\n Object.values(DictionaryType)[stream_type & 0xf] as DictionaryType,\n );\n break;\n case PhysicalStreamType.OFFSET:\n logicalStreamType = new LogicalStreamType(\n null,\n Object.values(OffsetType)[stream_type & 0xf] as OffsetType,\n );\n break;\n case PhysicalStreamType.LENGTH:\n logicalStreamType = new LogicalStreamType(\n null,\n null,\n Object.values(LengthType)[stream_type & 0xf] as LengthType,\n );\n break;\n }\n offset.increment();\n\n const encodings_header = tile[offset.get()];\n const llt1 = Object.values(LogicalLevelTechnique)[encodings_header >> 5] as LogicalLevelTechnique;\n const llt2 = Object.values(LogicalLevelTechnique)[(encodings_header >> 2) & 0x7] as LogicalLevelTechnique;\n const plt = Object.values(PhysicalLevelTechnique)[encodings_header & 0x3] as PhysicalLevelTechnique;\n offset.increment();\n\n const sizeInfo = decodeVarintInt32(tile, offset, 2);\n const numValues = sizeInfo[0];\n const byteLength = sizeInfo[1];\n\n return new StreamMetadata(physicalStreamType, logicalStreamType, llt1, llt2, plt, numValues, byteLength);\n }\n\n get physicalStreamType(): PhysicalStreamType {\n return this._physicalStreamType;\n }\n\n get logicalStreamType(): LogicalStreamType {\n return this._logicalStreamType;\n }\n\n get logicalLevelTechnique1(): LogicalLevelTechnique {\n return this._logicalLevelTechnique1;\n }\n\n get logicalLevelTechnique2(): LogicalLevelTechnique {\n return this._logicalLevelTechnique2;\n }\n\n get physicalLevelTechnique(): PhysicalLevelTechnique {\n return this._physicalLevelTechnique;\n }\n\n get numValues(): number {\n return this._numValues;\n }\n\n get byteLength(): number {\n return this._byteLength;\n }\n\n /**\n * Returns the number of decompressed values.\n * For non-RLE streams, this is the same as numValues.\n * For RLE streams, this is overridden to return numRleValues.\n */\n getDecompressedCount(): number {\n return this._numValues;\n }\n}\n"]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export default abstract class SpaceFillingCurve {
|
|
2
|
-
protected tileExtent: number;
|
|
3
|
-
protected _numBits: number;
|
|
4
|
-
protected _coordinateShift: number;
|
|
5
|
-
private readonly minBound;
|
|
6
|
-
private readonly maxBound;
|
|
7
|
-
constructor(minVertexValue: number, maxVertexValue: number);
|
|
8
|
-
protected validateCoordinates(vertex: {
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
}): void;
|
|
12
|
-
abstract encode(vertex: {
|
|
13
|
-
x: number;
|
|
14
|
-
y: number;
|
|
15
|
-
}): number;
|
|
16
|
-
abstract decode(mortonCode: number): {
|
|
17
|
-
x: number;
|
|
18
|
-
y: number;
|
|
19
|
-
};
|
|
20
|
-
numBits(): number;
|
|
21
|
-
coordinateShift(): number;
|
|
22
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export default class SpaceFillingCurve {
|
|
2
|
-
tileExtent;
|
|
3
|
-
_numBits;
|
|
4
|
-
_coordinateShift;
|
|
5
|
-
minBound;
|
|
6
|
-
maxBound;
|
|
7
|
-
constructor(minVertexValue, maxVertexValue) {
|
|
8
|
-
// TODO: fix tile buffer problem
|
|
9
|
-
this._coordinateShift = minVertexValue < 0 ? Math.abs(minVertexValue) : 0;
|
|
10
|
-
this.tileExtent = maxVertexValue + this._coordinateShift;
|
|
11
|
-
this._numBits = Math.ceil(Math.log2(this.tileExtent));
|
|
12
|
-
this.minBound = minVertexValue;
|
|
13
|
-
this.maxBound = maxVertexValue;
|
|
14
|
-
}
|
|
15
|
-
validateCoordinates(vertex) {
|
|
16
|
-
// TODO: also check for int overflow as we are limiting the sfc ids to max int size
|
|
17
|
-
if (vertex.x < this.minBound ||
|
|
18
|
-
vertex.y < this.minBound ||
|
|
19
|
-
vertex.x > this.maxBound ||
|
|
20
|
-
vertex.y > this.maxBound) {
|
|
21
|
-
throw new Error("The specified tile buffer size is currently not supported.");
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
numBits() {
|
|
25
|
-
return this._numBits;
|
|
26
|
-
}
|
|
27
|
-
coordinateShift() {
|
|
28
|
-
return this._coordinateShift;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=spaceFillingCurve.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spaceFillingCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/spaceFillingCurve.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAgB,iBAAiB;IACjC,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,gBAAgB,CAAS;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAElC,YAAY,cAAsB,EAAE,cAAsB;QACtD,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;IACnC,CAAC;IAES,mBAAmB,CAAC,MAAgC;QAC1D,mFAAmF;QACnF,IACI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAC1B,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAMD,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ","sourcesContent":["export default abstract class SpaceFillingCurve {\n protected tileExtent: number;\n protected _numBits: number;\n protected _coordinateShift: number;\n private readonly minBound: number;\n private readonly maxBound: number;\n\n constructor(minVertexValue: number, maxVertexValue: number) {\n // TODO: fix tile buffer problem\n this._coordinateShift = minVertexValue < 0 ? Math.abs(minVertexValue) : 0;\n this.tileExtent = maxVertexValue + this._coordinateShift;\n this._numBits = Math.ceil(Math.log2(this.tileExtent));\n this.minBound = minVertexValue;\n this.maxBound = maxVertexValue;\n }\n\n protected validateCoordinates(vertex: { x: number; y: number }): void {\n // TODO: also check for int overflow as we are limiting the sfc ids to max int size\n if (\n vertex.x < this.minBound ||\n vertex.y < this.minBound ||\n vertex.x > this.maxBound ||\n vertex.y > this.maxBound\n ) {\n throw new Error(\"The specified tile buffer size is currently not supported.\");\n }\n }\n\n abstract encode(vertex: { x: number; y: number }): number;\n\n abstract decode(mortonCode: number): { x: number; y: number };\n\n numBits(): number {\n return this._numBits;\n }\n\n coordinateShift(): number {\n return this._coordinateShift;\n }\n}\n"]}
|
|
File without changes
|