@xyo-network/quadkey 2.38.8 → 2.38.10

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.
@@ -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
- equals(obj: Quadkey): boolean;
15
- static root: Quadkey;
16
- static type: string;
17
- static fromBase4String(value?: string): Quadkey | undefined;
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
- isInBoundingBox(boundingBox: MercatorBoundingBox): boolean;
26
- static fromBoundingBox(boundingBox: MercatorBoundingBox, zoom: number): Quadkey[];
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
- setKey(zoom: number, id: Buffer): this;
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
- valid(): boolean;
54
- get id(): Buffer;
55
- toBuffer(): Buffer;
56
- toBigNumber(): BigNumber;
57
- toString(): string;
58
- toJSON(): string;
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
- toBase4HashLabel(): string;
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
- compareTo(quadkey: Quadkey): 0 | 1 | -1;
66
- static Zero: Quadkey;
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;IACX,IAAI,SAAe;IAE1B,OAAO,CAAC,GAAG,CAAmB;gBAElB,GAAG,SAAmB;IAK3B,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAIpC,MAAM,CAAC,IAAI,UAAgB;IAE3B,MAAM,CAAC,IAAI,SAAY;IAEvB,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM;IAUrC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAIrC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAKrC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM;IAI/B,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,SAAK;WAWvC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;WAI7B,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM;WAM1C,QAAQ,CAAC,IAAI,EAAE,YAAY;IAIlC,eAAe,CAAC,WAAW,EAAE,mBAAmB;WAUzC,eAAe,CAAC,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM;IAUrE,kBAAkB,CAAC,IAAI,EAAE,MAAM;;;;;;IAiC/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAM/B,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,MAAM;IAMN,QAAQ,CAAC,SAAS,EAAE,MAAM;IAyB1B,cAAc,CAAC,IAAI,EAAE,MAAM;IAc3B,QAAQ;IAYR,QAAQ;IAOR,KAAK;IAIZ,IAAW,IAAI,WAEd;IAED,OAAO,CAAC,QAAQ,CAAC,CAAS;IAEnB,OAAO;IAKP,KAAK,CAAC,EAAE,EAAE,MAAM;IAKhB,MAAM,IAAI,YAAY;IAItB,aAAa,IAAI,mBAAmB;IAIpC,QAAQ;IAKR,eAAe;;;;;IAUf,KAAK;IAcZ,IAAW,EAAE,WAEZ;IAEM,QAAQ;IAIR,WAAW;IAIX,QAAQ;IAIR,MAAM,IAAI,MAAM;IAIhB,cAAc;IAId,gBAAgB;IAKvB,SAAS,CAAC,SAAS;IAMZ,WAAW;IAaX,KAAK;IAIL,aAAa;IAOb,SAAS,CAAC,OAAO,EAAE,OAAO;IAIjC,OAAc,IAAI,UAAuC;CAC1D"}
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"}
@@ -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
- equals(obj) {
24
- return obj.toBase4HashLabel() == this.toBase4HashLabel();
27
+ get base10String() {
28
+ return this.bigNumber.toString(10);
25
29
  }
26
- static root = new Quadkey();
27
- static type = 'Quadkey';
28
- static fromBase4String(value) {
29
- if (value === 'fhr' || value === '') {
30
- return Quadkey.root;
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
- if (value && value.length && value.length > 0) {
33
- const quadkey = new Quadkey(Buffer.from(padHex(new BigNumber(value, 4).toString(16)), 'hex')).setZoom(value.length);
34
- return quadkey.valid() ? quadkey : undefined;
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
- isInBoundingBox(boundingBox) {
69
- const tileBoundingBox = tileToBoundingBox(this.toTile());
70
- return (boundingBox.contains(tileBoundingBox.getNorthEast()) ||
71
- boundingBox.contains(tileBoundingBox.getNorthWest()) ||
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
- return result;
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.toBase4Hash();
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
- setKey(zoom, id) {
116
- id.copy(this.key, this.key.length - id.length);
117
- this.key.writeUInt8(zoom, 0);
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
- parent() {
126
- if (this.zoom > 0) {
127
- return new Quadkey().setId(bitShiftRight(bitShiftRight(this.id))).setZoom(this.zoom - 1);
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.toBase4Hash();
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
- toTile() {
201
- return tileFromQuadkey(this.toBase4Hash());
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
- toBoundingBox() {
204
- return tileToBoundingBox(this.toTile());
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
- toCenter() {
207
- const result = boundingBoxToCenter(this.toBoundingBox());
208
- return new LngLat(result[0], result[1]);
270
+ /** @deprecated use .base10String*/
271
+ toBase10String() {
272
+ return this.base10String;
209
273
  }
210
- getGridLocation() {
211
- const tileData = tileFromQuadkey(this.toBase4Hash());
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
- valid() {
219
- const zoom = this.zoom;
220
- const shift = (MAX_ZOOM - zoom) * 2;
221
- const id = this.id;
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
- get id() {
232
- return this.toBuffer().slice(1);
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.key;
293
+ return this.buffer;
236
294
  }
237
- toBigNumber() {
238
- return new BigNumber(`${this.key.toString('hex')}`, 'hex');
295
+ /** @deprecated use .center */
296
+ toCenter() {
297
+ return this.center;
239
298
  }
240
- toString() {
241
- return `0x${padHex(this.toBigNumber().toString(16))}`;
299
+ /** @deprecated use .hex instead */
300
+ toHex() {
301
+ return this.hex;
242
302
  }
243
303
  toJSON() {
244
- return this.toBase4HashLabel();
304
+ return this.base4HashLabel;
245
305
  }
246
- toBase10String() {
247
- return this.toBigNumber().toString(10);
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
- toBase4HashLabel() {
250
- const hash = this.toBase4Hash();
251
- return hash.length === 0 ? 'fhr' : hash;
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
@@ -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
@@ -53,5 +53,5 @@
53
53
  },
54
54
  "sideEffects": false,
55
55
  "types": "dist/esm/index.d.ts",
56
- "version": "2.38.8"
56
+ "version": "2.38.10"
57
57
  }
@@ -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?.toCenter()
6
+ const center = qk?.center
7
7
  expect(center?.lat).toBe(48.378236)
8
8
  expect(center?.lng).toBe(-146.25)
9
9
  })