@xyo-network/quadkey 2.38.8 → 2.38.9
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/cjs/Quadkey.d.ts +57 -33
- package/dist/cjs/Quadkey.d.ts.map +1 -1
- package/dist/cjs/Quadkey.js +190 -149
- package/dist/cjs/Quadkey.js.map +1 -1
- package/dist/docs.json +949 -514
- package/dist/esm/Quadkey.d.ts +57 -33
- package/dist/esm/Quadkey.d.ts.map +1 -1
- package/dist/esm/Quadkey.js +191 -150
- package/dist/esm/Quadkey.js.map +1 -1
- package/package.json +1 -1
- package/src/Quadkey.spec.ts +1 -1
- package/src/Quadkey.ts +217 -169
package/dist/esm/Quadkey.d.ts
CHANGED
|
@@ -8,61 +8,85 @@ export declare const isQuadkey: (obj: {
|
|
|
8
8
|
type: string;
|
|
9
9
|
}) => boolean;
|
|
10
10
|
export declare class Quadkey {
|
|
11
|
+
static Zero: Quadkey;
|
|
12
|
+
static root: Quadkey;
|
|
13
|
+
static type: string;
|
|
11
14
|
type: string;
|
|
15
|
+
private _geoJson?;
|
|
12
16
|
private key;
|
|
13
17
|
constructor(key?: Buffer);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
get base10String(): string;
|
|
19
|
+
get base4Hash(): string;
|
|
20
|
+
get base4HashLabel(): string;
|
|
21
|
+
get bigNumber(): BigNumber;
|
|
22
|
+
get boundingBox(): MercatorBoundingBox;
|
|
23
|
+
get buffer(): Buffer;
|
|
24
|
+
get center(): LngLat;
|
|
25
|
+
get children(): Quadkey[];
|
|
26
|
+
get gridLocation(): {
|
|
27
|
+
col: number;
|
|
28
|
+
row: number;
|
|
29
|
+
zoom: number;
|
|
30
|
+
};
|
|
31
|
+
get hex(): string;
|
|
32
|
+
get id(): Buffer;
|
|
33
|
+
get parent(): Quadkey | undefined;
|
|
34
|
+
get siblings(): Quadkey[];
|
|
35
|
+
get tile(): MercatorTile;
|
|
36
|
+
get valid(): boolean;
|
|
37
|
+
get zoom(): number;
|
|
38
|
+
static from(zoom: number, id: Buffer): Quadkey;
|
|
18
39
|
static fromBase10String(value: string): Quadkey;
|
|
19
40
|
static fromBase16String(value: string): Quadkey;
|
|
41
|
+
static fromBase4String(value?: string): Quadkey | undefined;
|
|
42
|
+
static fromBoundingBox(boundingBox: MercatorBoundingBox, zoom: number): Quadkey[];
|
|
20
43
|
static fromBuffer(value: Buffer): Quadkey;
|
|
21
|
-
static fromString(zoom: number, id: string, base?: number): Quadkey;
|
|
22
|
-
static from(zoom: number, id: Buffer): Quadkey;
|
|
23
44
|
static fromLngLat(point: LngLatLike, zoom: number): Quadkey | undefined;
|
|
45
|
+
static fromString(zoom: number, id: string, base?: number): Quadkey;
|
|
24
46
|
static fromTile(tile: MercatorTile): Quadkey | undefined;
|
|
25
|
-
|
|
26
|
-
|
|
47
|
+
childrenByZoom(zoom: number): Quadkey[];
|
|
48
|
+
clone(): Quadkey;
|
|
49
|
+
compareTo(quadkey: Quadkey): 0 | 1 | -1;
|
|
50
|
+
equals(obj: Quadkey): boolean;
|
|
51
|
+
geoJson(): GeoJson;
|
|
27
52
|
getGridBoundingBox(size: number): {
|
|
28
53
|
height: number;
|
|
29
54
|
left: number;
|
|
30
55
|
top: number;
|
|
31
56
|
width: number;
|
|
32
57
|
};
|
|
33
|
-
|
|
34
|
-
setZoom(zoom: number): this;
|
|
35
|
-
parent(): Quadkey | undefined;
|
|
36
|
-
relative(direction: string): Quadkey | undefined;
|
|
37
|
-
childrenByZoom(zoom: number): Quadkey[];
|
|
38
|
-
children(): Quadkey[];
|
|
39
|
-
siblings(): Quadkey[];
|
|
40
|
-
clone(): Quadkey;
|
|
41
|
-
get zoom(): number;
|
|
42
|
-
private _geoJson?;
|
|
43
|
-
geoJson(): GeoJson;
|
|
44
|
-
setId(id: Buffer): this;
|
|
45
|
-
toTile(): MercatorTile;
|
|
46
|
-
toBoundingBox(): MercatorBoundingBox;
|
|
47
|
-
toCenter(): LngLat;
|
|
58
|
+
/** @deprecated use .gridLocation instead */
|
|
48
59
|
getGridLocation(): {
|
|
49
60
|
col: number;
|
|
50
61
|
row: number;
|
|
51
62
|
zoom: number;
|
|
52
63
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
64
|
+
isInBoundingBox(boundingBox: MercatorBoundingBox): boolean;
|
|
65
|
+
relative(direction: string): Quadkey | undefined;
|
|
66
|
+
setId(id: Buffer): this;
|
|
67
|
+
setKey(zoom: number, id: Buffer): this;
|
|
68
|
+
setZoom(zoom: number): this;
|
|
69
|
+
/** @deprecated use .base10String*/
|
|
59
70
|
toBase10String(): string;
|
|
60
|
-
|
|
61
|
-
protected guessZoom(): void;
|
|
71
|
+
/** @deprecated use .base4Hash */
|
|
62
72
|
toBase4Hash(): string;
|
|
73
|
+
/** @deprecated use .base4HashLabel */
|
|
74
|
+
toBase4HashLabel(): string;
|
|
75
|
+
/** @deprecated use .bigNumber */
|
|
76
|
+
toBigNumber(): BigNumber;
|
|
77
|
+
/** @deprecated use .boundingBox */
|
|
78
|
+
toBoundingBox(): MercatorBoundingBox;
|
|
79
|
+
/** @deprecated use .buffer */
|
|
80
|
+
toBuffer(): Buffer;
|
|
81
|
+
/** @deprecated use .center */
|
|
82
|
+
toCenter(): LngLat;
|
|
83
|
+
/** @deprecated use .hex instead */
|
|
63
84
|
toHex(): string;
|
|
85
|
+
toJSON(): string;
|
|
64
86
|
toShortString(): string;
|
|
65
|
-
|
|
66
|
-
|
|
87
|
+
toString(): string;
|
|
88
|
+
/** @deprecated use .tile instead */
|
|
89
|
+
toTile(): MercatorTile;
|
|
90
|
+
protected guessZoom(): void;
|
|
67
91
|
}
|
|
68
92
|
//# sourceMappingURL=Quadkey.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Quadkey.d.ts","sourceRoot":"","sources":["../../src/Quadkey.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAEL,OAAO,EACP,mBAAmB,EACnB,YAAY,EAMb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAI9C,cAAc,SAAS,CAAA;AAIvB,eAAO,MAAM,SAAS,QAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,YAA+B,CAAA;AAS9E,qBAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"Quadkey.d.ts","sourceRoot":"","sources":["../../src/Quadkey.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAEL,OAAO,EACP,mBAAmB,EACnB,YAAY,EAMb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAI9C,cAAc,SAAS,CAAA;AAIvB,eAAO,MAAM,SAAS,QAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,YAA+B,CAAA;AAS9E,qBAAa,OAAO;IAClB,MAAM,CAAC,IAAI,UAAuC;IAClD,MAAM,CAAC,IAAI,UAAgB;IAC3B,MAAM,CAAC,IAAI,SAAY;IAEhB,IAAI,SAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,GAAG,CAAmB;gBAElB,GAAG,SAAmB;IAKlC,IAAI,YAAY,WAEf;IAED,IAAI,SAAS,WAWZ;IAED,IAAI,cAAc,WAGjB;IAED,IAAI,SAAS,cAEZ;IAED,IAAI,WAAW,IAAI,mBAAmB,CAErC;IAED,IAAI,MAAM,WAET;IAED,IAAI,MAAM,WAGT;IAED,IAAI,QAAQ,cAUX;IAED,IAAI,YAAY;;;;MAQf;IAED,IAAI,GAAG,WAEN;IAED,IAAI,EAAE,WAEL;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,SAAS,CAIhC;IAED,IAAI,QAAQ,cAKX;IAED,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,IAAI,KAAK,YAYR;IAED,IAAI,IAAI,WAEP;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAIpC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAIrC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAKrC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM;IAUrC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM;IAUrE,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;IAI/B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;IAMjD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,SAAK;IAWrD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY;IAIlC,cAAc,CAAC,IAAI,EAAE,MAAM;IAc3B,KAAK;IAIL,SAAS,CAAC,OAAO,EAAE,OAAO;IAI1B,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI7B,OAAO;IAKP,kBAAkB,CAAC,IAAI,EAAE,MAAM;;;;;;IAiC/B,4CAA4C;IAC5C,eAAe;;;;;IAIf,eAAe,CAAC,WAAW,EAAE,mBAAmB;IAUhD,QAAQ,CAAC,SAAS,EAAE,MAAM;IAyB1B,KAAK,CAAC,EAAE,EAAE,MAAM;IAKhB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAM/B,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,mCAAmC;IACnC,cAAc;IAId,iCAAiC;IACjC,WAAW;IAIX,sCAAsC;IACtC,gBAAgB;IAKhB,iCAAiC;IACjC,WAAW;IAIX,mCAAmC;IACnC,aAAa,IAAI,mBAAmB;IAIpC,8BAA8B;IAC9B,QAAQ;IAIR,8BAA8B;IAC9B,QAAQ;IAIR,mCAAmC;IACnC,KAAK;IAIL,MAAM,IAAI,MAAM;IAIhB,aAAa;IAOb,QAAQ;IAIR,oCAAoC;IAC7B,MAAM,IAAI,YAAY;IAI7B,SAAS,CAAC,SAAS;CAKpB"}
|
package/dist/esm/Quadkey.js
CHANGED
|
@@ -14,25 +14,105 @@ const RelativeDirectionConstantLookup = {
|
|
|
14
14
|
w: -1,
|
|
15
15
|
};
|
|
16
16
|
export class Quadkey {
|
|
17
|
+
static Zero = Quadkey.from(0, Buffer.alloc(31, 0));
|
|
18
|
+
static root = new Quadkey();
|
|
19
|
+
static type = 'Quadkey';
|
|
17
20
|
type = Quadkey.type;
|
|
21
|
+
_geoJson;
|
|
18
22
|
key = Buffer.alloc(32);
|
|
19
23
|
constructor(key = Buffer.alloc(32)) {
|
|
20
24
|
key.copy(this.key, this.key.length - key.length);
|
|
21
25
|
this.guessZoom();
|
|
22
26
|
}
|
|
23
|
-
|
|
24
|
-
return
|
|
27
|
+
get base10String() {
|
|
28
|
+
return this.bigNumber.toString(10);
|
|
25
29
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (
|
|
30
|
-
return
|
|
30
|
+
get base4Hash() {
|
|
31
|
+
const bn = new BigNumber(this.id.toString('hex'), 16);
|
|
32
|
+
const zoom = this.zoom;
|
|
33
|
+
if (zoom === 0) {
|
|
34
|
+
return '';
|
|
31
35
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
let quadkeySimple = bn.toString(4);
|
|
37
|
+
while (quadkeySimple.length < zoom) {
|
|
38
|
+
quadkeySimple = `0${quadkeySimple}`;
|
|
39
|
+
}
|
|
40
|
+
return quadkeySimple;
|
|
41
|
+
}
|
|
42
|
+
get base4HashLabel() {
|
|
43
|
+
const hash = this.base4Hash;
|
|
44
|
+
return hash.length === 0 ? 'fhr' : hash;
|
|
45
|
+
}
|
|
46
|
+
get bigNumber() {
|
|
47
|
+
return new BigNumber(`${this.key.toString('hex')}`, 'hex');
|
|
48
|
+
}
|
|
49
|
+
get boundingBox() {
|
|
50
|
+
return tileToBoundingBox(this.tile);
|
|
51
|
+
}
|
|
52
|
+
get buffer() {
|
|
53
|
+
return this.key;
|
|
54
|
+
}
|
|
55
|
+
get center() {
|
|
56
|
+
const result = boundingBoxToCenter(this.boundingBox);
|
|
57
|
+
return new LngLat(result[0], result[1]);
|
|
58
|
+
}
|
|
59
|
+
get children() {
|
|
60
|
+
assertEx(this.zoom < MAX_ZOOM - 1, 'Can not get children of bottom tiles');
|
|
61
|
+
const result = [];
|
|
62
|
+
const shiftedId = bitShiftLeft(bitShiftLeft(this.id));
|
|
63
|
+
for (let i = 0; i < 4; i++) {
|
|
64
|
+
const currentLastByte = shiftedId.readUInt8(shiftedId.length - 1);
|
|
65
|
+
shiftedId.writeUInt8((currentLastByte & 0xfc) | i, shiftedId.length - 1);
|
|
66
|
+
result.push(new Quadkey().setId(shiftedId).setZoom(this.zoom + 1));
|
|
35
67
|
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
get gridLocation() {
|
|
71
|
+
const tileData = tileFromQuadkey(this.base4Hash);
|
|
72
|
+
return {
|
|
73
|
+
col: 2 ** tileData[2] - tileData[1] - 1,
|
|
74
|
+
row: tileData[0],
|
|
75
|
+
zoom: tileData[2],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
get hex() {
|
|
79
|
+
return `0x${this.key.toString('hex')}`;
|
|
80
|
+
}
|
|
81
|
+
get id() {
|
|
82
|
+
return this.buffer.slice(1);
|
|
83
|
+
}
|
|
84
|
+
get parent() {
|
|
85
|
+
if (this.zoom > 0) {
|
|
86
|
+
return new Quadkey().setId(bitShiftRight(bitShiftRight(this.id))).setZoom(this.zoom - 1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
get siblings() {
|
|
90
|
+
const siblings = assertEx(this.parent?.children, `siblings: parentChildren ${this.base4Hash}`);
|
|
91
|
+
const filteredSiblings = siblings.filter((quadkey) => this.compareTo(quadkey) !== 0);
|
|
92
|
+
assertEx(filteredSiblings.length === 3, `siblings: expected 3 [${filteredSiblings.length}]`);
|
|
93
|
+
return filteredSiblings;
|
|
94
|
+
}
|
|
95
|
+
get tile() {
|
|
96
|
+
return tileFromQuadkey(this.base4Hash);
|
|
97
|
+
}
|
|
98
|
+
get valid() {
|
|
99
|
+
const zoom = this.zoom;
|
|
100
|
+
const shift = (MAX_ZOOM - zoom) * 2;
|
|
101
|
+
const id = this.id;
|
|
102
|
+
let testId = id;
|
|
103
|
+
for (let i = 0; i < shift; i++) {
|
|
104
|
+
testId = bitShiftLeft(testId);
|
|
105
|
+
}
|
|
106
|
+
for (let i = 0; i < shift; i++) {
|
|
107
|
+
testId = bitShiftRight(testId);
|
|
108
|
+
}
|
|
109
|
+
return testId.compare(id) === 0;
|
|
110
|
+
}
|
|
111
|
+
get zoom() {
|
|
112
|
+
return this.buffer.readUInt8(0);
|
|
113
|
+
}
|
|
114
|
+
static from(zoom, id) {
|
|
115
|
+
return new Quadkey().setId(id).setZoom(zoom);
|
|
36
116
|
}
|
|
37
117
|
static fromBase10String(value) {
|
|
38
118
|
return new Quadkey(Buffer.from(padHex(new BigNumber(value, 10).toString(16)), 'hex'));
|
|
@@ -41,9 +121,31 @@ export class Quadkey {
|
|
|
41
121
|
const valueToUse = value.startsWith('0x') ? value.slice(2) : value;
|
|
42
122
|
return new Quadkey(Buffer.from(padHex(valueToUse), 'hex'));
|
|
43
123
|
}
|
|
124
|
+
static fromBase4String(value) {
|
|
125
|
+
if (value === 'fhr' || value === '') {
|
|
126
|
+
return Quadkey.root;
|
|
127
|
+
}
|
|
128
|
+
if (value && value.length && value.length > 0) {
|
|
129
|
+
const quadkey = new Quadkey(Buffer.from(padHex(new BigNumber(value, 4).toString(16)), 'hex')).setZoom(value.length);
|
|
130
|
+
return quadkey.valid ? quadkey : undefined;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
static fromBoundingBox(boundingBox, zoom) {
|
|
134
|
+
const tiles = tilesFromBoundingBox(boundingBox, Math.floor(zoom));
|
|
135
|
+
const result = [];
|
|
136
|
+
for (const tile of tiles) {
|
|
137
|
+
result.push(assertEx(Quadkey.fromTile(tile), 'Bad Quadkey'));
|
|
138
|
+
}
|
|
139
|
+
return result;
|
|
140
|
+
}
|
|
44
141
|
static fromBuffer(value) {
|
|
45
142
|
return Quadkey.fromBase16String(value.toString('hex'));
|
|
46
143
|
}
|
|
144
|
+
static fromLngLat(point, zoom) {
|
|
145
|
+
const tile = tileFromPoint(LngLat.convert(point), zoom);
|
|
146
|
+
const quadkeyString = tileToQuadkey(tile);
|
|
147
|
+
return Quadkey.fromBase4String(quadkeyString);
|
|
148
|
+
}
|
|
47
149
|
static fromString(zoom, id, base = 10) {
|
|
48
150
|
switch (base) {
|
|
49
151
|
case 10:
|
|
@@ -54,34 +156,36 @@ export class Quadkey {
|
|
|
54
156
|
throw Error(`Invalid base [${base}]`);
|
|
55
157
|
}
|
|
56
158
|
}
|
|
57
|
-
static from(zoom, id) {
|
|
58
|
-
return new Quadkey().setId(id).setZoom(zoom);
|
|
59
|
-
}
|
|
60
|
-
static fromLngLat(point, zoom) {
|
|
61
|
-
const tile = tileFromPoint(LngLat.convert(point), zoom);
|
|
62
|
-
const quadkeyString = tileToQuadkey(tile);
|
|
63
|
-
return Quadkey.fromBase4String(quadkeyString);
|
|
64
|
-
}
|
|
65
159
|
static fromTile(tile) {
|
|
66
160
|
return Quadkey.fromBase4String(tileToQuadkey(tile));
|
|
67
161
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
boundingBox.contains(tileBoundingBox.getSouthEast()) ||
|
|
73
|
-
boundingBox.contains(tileBoundingBox.getSouthWest()));
|
|
74
|
-
}
|
|
75
|
-
static fromBoundingBox(boundingBox, zoom) {
|
|
76
|
-
const tiles = tilesFromBoundingBox(boundingBox, Math.floor(zoom));
|
|
77
|
-
const result = [];
|
|
78
|
-
for (const tile of tiles) {
|
|
79
|
-
result.push(assertEx(Quadkey.fromTile(tile), 'Bad Quadkey'));
|
|
162
|
+
childrenByZoom(zoom) {
|
|
163
|
+
// if we are limiting by zoom, and we are already at that limit, just return this quadkey
|
|
164
|
+
if (zoom && zoom === this.zoom) {
|
|
165
|
+
return [this];
|
|
80
166
|
}
|
|
81
|
-
|
|
167
|
+
// recursively get children
|
|
168
|
+
let deepResult = [];
|
|
169
|
+
for (const quadkey of this.children) {
|
|
170
|
+
deepResult = deepResult.concat(quadkey.childrenByZoom(zoom));
|
|
171
|
+
}
|
|
172
|
+
return deepResult;
|
|
173
|
+
}
|
|
174
|
+
clone() {
|
|
175
|
+
return Quadkey.fromBase10String(this.base10String);
|
|
176
|
+
}
|
|
177
|
+
compareTo(quadkey) {
|
|
178
|
+
return this.bigNumber.cmp(quadkey.bigNumber);
|
|
179
|
+
}
|
|
180
|
+
equals(obj) {
|
|
181
|
+
return obj.base4HashLabel == this.base4HashLabel;
|
|
182
|
+
}
|
|
183
|
+
geoJson() {
|
|
184
|
+
this._geoJson = this._geoJson ?? new GeoJson(this.base4Hash);
|
|
185
|
+
return this._geoJson;
|
|
82
186
|
}
|
|
83
187
|
getGridBoundingBox(size) {
|
|
84
|
-
const hash = this.
|
|
188
|
+
const hash = this.base4Hash;
|
|
85
189
|
let index = 0;
|
|
86
190
|
let left = 0;
|
|
87
191
|
let top = 0;
|
|
@@ -112,24 +216,20 @@ export class Quadkey {
|
|
|
112
216
|
width: blockSize,
|
|
113
217
|
};
|
|
114
218
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
this.
|
|
118
|
-
return this;
|
|
119
|
-
}
|
|
120
|
-
setZoom(zoom) {
|
|
121
|
-
assertEx(zoom < MAX_ZOOM, `Invalid zoom [${zoom}] max=${MAX_ZOOM}`);
|
|
122
|
-
this.setKey(zoom, this.id);
|
|
123
|
-
return this;
|
|
219
|
+
/** @deprecated use .gridLocation instead */
|
|
220
|
+
getGridLocation() {
|
|
221
|
+
return this.gridLocation;
|
|
124
222
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
223
|
+
isInBoundingBox(boundingBox) {
|
|
224
|
+
const tileBoundingBox = tileToBoundingBox(this.tile);
|
|
225
|
+
return (boundingBox.contains(tileBoundingBox.getNorthEast()) ||
|
|
226
|
+
boundingBox.contains(tileBoundingBox.getNorthWest()) ||
|
|
227
|
+
boundingBox.contains(tileBoundingBox.getSouthEast()) ||
|
|
228
|
+
boundingBox.contains(tileBoundingBox.getSouthWest()));
|
|
129
229
|
}
|
|
130
230
|
relative(direction) {
|
|
131
231
|
const directionConstant = assertEx(RelativeDirectionConstantLookup[direction], 'Invalid direction');
|
|
132
|
-
let quadkey = this.
|
|
232
|
+
let quadkey = this.base4Hash;
|
|
133
233
|
if (quadkey.length === 0) {
|
|
134
234
|
return this;
|
|
135
235
|
}
|
|
@@ -153,132 +253,73 @@ export class Quadkey {
|
|
|
153
253
|
}
|
|
154
254
|
return Quadkey.fromBase4String(quadkey);
|
|
155
255
|
}
|
|
156
|
-
childrenByZoom(zoom) {
|
|
157
|
-
// if we are limiting by zoom, and we are already at that limit, just return this quadkey
|
|
158
|
-
if (zoom && zoom === this.zoom) {
|
|
159
|
-
return [this];
|
|
160
|
-
}
|
|
161
|
-
// recursively get children
|
|
162
|
-
let deepResult = [];
|
|
163
|
-
for (const quadkey of this.children()) {
|
|
164
|
-
deepResult = deepResult.concat(quadkey.childrenByZoom(zoom));
|
|
165
|
-
}
|
|
166
|
-
return deepResult;
|
|
167
|
-
}
|
|
168
|
-
children() {
|
|
169
|
-
assertEx(this.zoom < MAX_ZOOM - 1, 'Can not get children of bottom tiles');
|
|
170
|
-
const result = [];
|
|
171
|
-
const shiftedId = bitShiftLeft(bitShiftLeft(this.id));
|
|
172
|
-
for (let i = 0; i < 4; i++) {
|
|
173
|
-
const currentLastByte = shiftedId.readUInt8(shiftedId.length - 1);
|
|
174
|
-
shiftedId.writeUInt8((currentLastByte & 0xfc) | i, shiftedId.length - 1);
|
|
175
|
-
result.push(new Quadkey().setId(shiftedId).setZoom(this.zoom + 1));
|
|
176
|
-
}
|
|
177
|
-
return result;
|
|
178
|
-
}
|
|
179
|
-
siblings() {
|
|
180
|
-
const siblings = assertEx(this.parent()?.children(), `siblings: parentChildren ${this.toBase4Hash()}`);
|
|
181
|
-
const filteredSiblings = siblings.filter((quadkey) => this.compareTo(quadkey) !== 0);
|
|
182
|
-
assertEx(filteredSiblings.length === 3, `siblings: expected 3 [${filteredSiblings.length}]`);
|
|
183
|
-
return filteredSiblings;
|
|
184
|
-
}
|
|
185
|
-
clone() {
|
|
186
|
-
return Quadkey.fromBase10String(this.toBase10String());
|
|
187
|
-
}
|
|
188
|
-
get zoom() {
|
|
189
|
-
return this.toBuffer().readUInt8(0);
|
|
190
|
-
}
|
|
191
|
-
_geoJson;
|
|
192
|
-
geoJson() {
|
|
193
|
-
this._geoJson = this._geoJson ?? new GeoJson(this.toBase4Hash());
|
|
194
|
-
return this._geoJson;
|
|
195
|
-
}
|
|
196
256
|
setId(id) {
|
|
197
257
|
this.setKey(this.zoom, id);
|
|
198
258
|
return this;
|
|
199
259
|
}
|
|
200
|
-
|
|
201
|
-
|
|
260
|
+
setKey(zoom, id) {
|
|
261
|
+
id.copy(this.key, this.key.length - id.length);
|
|
262
|
+
this.key.writeUInt8(zoom, 0);
|
|
263
|
+
return this;
|
|
202
264
|
}
|
|
203
|
-
|
|
204
|
-
|
|
265
|
+
setZoom(zoom) {
|
|
266
|
+
assertEx(zoom < MAX_ZOOM, `Invalid zoom [${zoom}] max=${MAX_ZOOM}`);
|
|
267
|
+
this.setKey(zoom, this.id);
|
|
268
|
+
return this;
|
|
205
269
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
return
|
|
270
|
+
/** @deprecated use .base10String*/
|
|
271
|
+
toBase10String() {
|
|
272
|
+
return this.base10String;
|
|
209
273
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
return
|
|
213
|
-
col: 2 ** tileData[2] - tileData[1] - 1,
|
|
214
|
-
row: tileData[0],
|
|
215
|
-
zoom: tileData[2],
|
|
216
|
-
};
|
|
274
|
+
/** @deprecated use .base4Hash */
|
|
275
|
+
toBase4Hash() {
|
|
276
|
+
return this.base4Hash;
|
|
217
277
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
const
|
|
221
|
-
|
|
222
|
-
let testId = id;
|
|
223
|
-
for (let i = 0; i < shift; i++) {
|
|
224
|
-
testId = bitShiftLeft(testId);
|
|
225
|
-
}
|
|
226
|
-
for (let i = 0; i < shift; i++) {
|
|
227
|
-
testId = bitShiftRight(testId);
|
|
228
|
-
}
|
|
229
|
-
return testId.compare(id) === 0;
|
|
278
|
+
/** @deprecated use .base4HashLabel */
|
|
279
|
+
toBase4HashLabel() {
|
|
280
|
+
const hash = this.base4HashLabel;
|
|
281
|
+
return hash.length === 0 ? 'fhr' : hash;
|
|
230
282
|
}
|
|
231
|
-
|
|
232
|
-
|
|
283
|
+
/** @deprecated use .bigNumber */
|
|
284
|
+
toBigNumber() {
|
|
285
|
+
return this.bigNumber;
|
|
286
|
+
}
|
|
287
|
+
/** @deprecated use .boundingBox */
|
|
288
|
+
toBoundingBox() {
|
|
289
|
+
return this.boundingBox;
|
|
233
290
|
}
|
|
291
|
+
/** @deprecated use .buffer */
|
|
234
292
|
toBuffer() {
|
|
235
|
-
return this.
|
|
293
|
+
return this.buffer;
|
|
236
294
|
}
|
|
237
|
-
|
|
238
|
-
|
|
295
|
+
/** @deprecated use .center */
|
|
296
|
+
toCenter() {
|
|
297
|
+
return this.center;
|
|
239
298
|
}
|
|
240
|
-
|
|
241
|
-
|
|
299
|
+
/** @deprecated use .hex instead */
|
|
300
|
+
toHex() {
|
|
301
|
+
return this.hex;
|
|
242
302
|
}
|
|
243
303
|
toJSON() {
|
|
244
|
-
return this.
|
|
304
|
+
return this.base4HashLabel;
|
|
245
305
|
}
|
|
246
|
-
|
|
247
|
-
|
|
306
|
+
toShortString() {
|
|
307
|
+
const buffer = this.buffer;
|
|
308
|
+
const part1 = buffer.slice(0, 2);
|
|
309
|
+
const part2 = buffer.slice(buffer.length - 2, buffer.length);
|
|
310
|
+
return `${part1.toString('hex')}...${part2.toString('hex')}`;
|
|
248
311
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
312
|
+
toString() {
|
|
313
|
+
return `0x${padHex(this.bigNumber.toString(16))}`;
|
|
314
|
+
}
|
|
315
|
+
/** @deprecated use .tile instead */
|
|
316
|
+
toTile() {
|
|
317
|
+
return this.tile;
|
|
252
318
|
}
|
|
253
319
|
guessZoom() {
|
|
254
320
|
const bn = new BigNumber(this.id.toString('hex'), 16);
|
|
255
321
|
const quadkeySimple = bn.toString(4);
|
|
256
322
|
this.setZoom(quadkeySimple.length);
|
|
257
323
|
}
|
|
258
|
-
toBase4Hash() {
|
|
259
|
-
const bn = new BigNumber(this.id.toString('hex'), 16);
|
|
260
|
-
const zoom = this.zoom;
|
|
261
|
-
if (zoom === 0) {
|
|
262
|
-
return '';
|
|
263
|
-
}
|
|
264
|
-
let quadkeySimple = bn.toString(4);
|
|
265
|
-
while (quadkeySimple.length < zoom) {
|
|
266
|
-
quadkeySimple = `0${quadkeySimple}`;
|
|
267
|
-
}
|
|
268
|
-
return quadkeySimple;
|
|
269
|
-
}
|
|
270
|
-
toHex() {
|
|
271
|
-
return `0x${this.key.toString('hex')}`;
|
|
272
|
-
}
|
|
273
|
-
toShortString() {
|
|
274
|
-
const buffer = this.toBuffer();
|
|
275
|
-
const part1 = buffer.slice(0, 2);
|
|
276
|
-
const part2 = buffer.slice(buffer.length - 2, buffer.length);
|
|
277
|
-
return `${part1.toString('hex')}...${part2.toString('hex')}`;
|
|
278
|
-
}
|
|
279
|
-
compareTo(quadkey) {
|
|
280
|
-
return this.toBigNumber().cmp(quadkey.toBigNumber());
|
|
281
|
-
}
|
|
282
|
-
static Zero = Quadkey.from(0, Buffer.alloc(31, 0));
|
|
283
324
|
}
|
|
284
325
|
//# sourceMappingURL=Quadkey.js.map
|
package/dist/esm/Quadkey.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Quadkey.js","sourceRoot":"","sources":["../../src/Quadkey.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Quadkey.js","sourceRoot":"","sources":["../../src/Quadkey.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Quadkey.spec.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { Quadkey } from './Quadkey'
|
|
|
3
3
|
describe('Quadkey', () => {
|
|
4
4
|
test('Valid Items', () => {
|
|
5
5
|
const qk = Quadkey.fromBase4String('0203')
|
|
6
|
-
const center = qk?.
|
|
6
|
+
const center = qk?.center
|
|
7
7
|
expect(center?.lat).toBe(48.378236)
|
|
8
8
|
expect(center?.lng).toBe(-146.25)
|
|
9
9
|
})
|