@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"}
@@ -25,17 +25,96 @@ class Quadkey {
25
25
  key.copy(this.key, this.key.length - key.length);
26
26
  this.guessZoom();
27
27
  }
28
- equals(obj) {
29
- return obj.toBase4HashLabel() == this.toBase4HashLabel();
28
+ get base10String() {
29
+ return this.bigNumber.toString(10);
30
30
  }
31
- static fromBase4String(value) {
32
- if (value === 'fhr' || value === '') {
33
- return Quadkey.root;
31
+ get base4Hash() {
32
+ const bn = new bignumber_1.BigNumber(this.id.toString('hex'), 16);
33
+ const zoom = this.zoom;
34
+ if (zoom === 0) {
35
+ return '';
34
36
  }
35
- if (value && value.length && value.length > 0) {
36
- const quadkey = new Quadkey(buffer_1.Buffer.from((0, utils_1.padHex)(new bignumber_1.BigNumber(value, 4).toString(16)), 'hex')).setZoom(value.length);
37
- return quadkey.valid() ? quadkey : undefined;
37
+ let quadkeySimple = bn.toString(4);
38
+ while (quadkeySimple.length < zoom) {
39
+ quadkeySimple = `0${quadkeySimple}`;
38
40
  }
41
+ return quadkeySimple;
42
+ }
43
+ get base4HashLabel() {
44
+ const hash = this.base4Hash;
45
+ return hash.length === 0 ? 'fhr' : hash;
46
+ }
47
+ get bigNumber() {
48
+ return new bignumber_1.BigNumber(`${this.key.toString('hex')}`, 'hex');
49
+ }
50
+ get boundingBox() {
51
+ return (0, sdk_geo_1.tileToBoundingBox)(this.tile);
52
+ }
53
+ get buffer() {
54
+ return this.key;
55
+ }
56
+ get center() {
57
+ const result = (0, sdk_geo_1.boundingBoxToCenter)(this.boundingBox);
58
+ return new mapbox_gl_1.LngLat(result[0], result[1]);
59
+ }
60
+ get children() {
61
+ (0, sdk_js_1.assertEx)(this.zoom < MAX_ZOOM - 1, 'Can not get children of bottom tiles');
62
+ const result = [];
63
+ const shiftedId = (0, utils_1.bitShiftLeft)((0, utils_1.bitShiftLeft)(this.id));
64
+ for (let i = 0; i < 4; i++) {
65
+ const currentLastByte = shiftedId.readUInt8(shiftedId.length - 1);
66
+ shiftedId.writeUInt8((currentLastByte & 0xfc) | i, shiftedId.length - 1);
67
+ result.push(new Quadkey().setId(shiftedId).setZoom(this.zoom + 1));
68
+ }
69
+ return result;
70
+ }
71
+ get gridLocation() {
72
+ const tileData = (0, sdk_geo_1.tileFromQuadkey)(this.base4Hash);
73
+ return {
74
+ col: Math.pow(2, tileData[2]) - tileData[1] - 1,
75
+ row: tileData[0],
76
+ zoom: tileData[2],
77
+ };
78
+ }
79
+ get hex() {
80
+ return `0x${this.key.toString('hex')}`;
81
+ }
82
+ get id() {
83
+ return this.buffer.slice(1);
84
+ }
85
+ get parent() {
86
+ if (this.zoom > 0) {
87
+ return new Quadkey().setId((0, utils_1.bitShiftRight)((0, utils_1.bitShiftRight)(this.id))).setZoom(this.zoom - 1);
88
+ }
89
+ }
90
+ get siblings() {
91
+ var _a;
92
+ const siblings = (0, sdk_js_1.assertEx)((_a = this.parent) === null || _a === void 0 ? void 0 : _a.children, `siblings: parentChildren ${this.base4Hash}`);
93
+ const filteredSiblings = siblings.filter((quadkey) => this.compareTo(quadkey) !== 0);
94
+ (0, sdk_js_1.assertEx)(filteredSiblings.length === 3, `siblings: expected 3 [${filteredSiblings.length}]`);
95
+ return filteredSiblings;
96
+ }
97
+ get tile() {
98
+ return (0, sdk_geo_1.tileFromQuadkey)(this.base4Hash);
99
+ }
100
+ get valid() {
101
+ const zoom = this.zoom;
102
+ const shift = (MAX_ZOOM - zoom) * 2;
103
+ const id = this.id;
104
+ let testId = id;
105
+ for (let i = 0; i < shift; i++) {
106
+ testId = (0, utils_1.bitShiftLeft)(testId);
107
+ }
108
+ for (let i = 0; i < shift; i++) {
109
+ testId = (0, utils_1.bitShiftRight)(testId);
110
+ }
111
+ return testId.compare(id) === 0;
112
+ }
113
+ get zoom() {
114
+ return this.buffer.readUInt8(0);
115
+ }
116
+ static from(zoom, id) {
117
+ return new Quadkey().setId(id).setZoom(zoom);
39
118
  }
40
119
  static fromBase10String(value) {
41
120
  return new Quadkey(buffer_1.Buffer.from((0, utils_1.padHex)(new bignumber_1.BigNumber(value, 10).toString(16)), 'hex'));
@@ -44,9 +123,31 @@ class Quadkey {
44
123
  const valueToUse = value.startsWith('0x') ? value.slice(2) : value;
45
124
  return new Quadkey(buffer_1.Buffer.from((0, utils_1.padHex)(valueToUse), 'hex'));
46
125
  }
126
+ static fromBase4String(value) {
127
+ if (value === 'fhr' || value === '') {
128
+ return Quadkey.root;
129
+ }
130
+ if (value && value.length && value.length > 0) {
131
+ const quadkey = new Quadkey(buffer_1.Buffer.from((0, utils_1.padHex)(new bignumber_1.BigNumber(value, 4).toString(16)), 'hex')).setZoom(value.length);
132
+ return quadkey.valid ? quadkey : undefined;
133
+ }
134
+ }
135
+ static fromBoundingBox(boundingBox, zoom) {
136
+ const tiles = (0, sdk_geo_1.tilesFromBoundingBox)(boundingBox, Math.floor(zoom));
137
+ const result = [];
138
+ for (const tile of tiles) {
139
+ result.push((0, sdk_js_1.assertEx)(Quadkey.fromTile(tile), 'Bad Quadkey'));
140
+ }
141
+ return result;
142
+ }
47
143
  static fromBuffer(value) {
48
144
  return Quadkey.fromBase16String(value.toString('hex'));
49
145
  }
146
+ static fromLngLat(point, zoom) {
147
+ const tile = (0, sdk_geo_1.tileFromPoint)(mapbox_gl_1.LngLat.convert(point), zoom);
148
+ const quadkeyString = (0, sdk_geo_1.tileToQuadkey)(tile);
149
+ return Quadkey.fromBase4String(quadkeyString);
150
+ }
50
151
  static fromString(zoom, id, base = 10) {
51
152
  var _a;
52
153
  switch (base) {
@@ -58,34 +159,37 @@ class Quadkey {
58
159
  throw Error(`Invalid base [${base}]`);
59
160
  }
60
161
  }
61
- static from(zoom, id) {
62
- return new Quadkey().setId(id).setZoom(zoom);
63
- }
64
- static fromLngLat(point, zoom) {
65
- const tile = (0, sdk_geo_1.tileFromPoint)(mapbox_gl_1.LngLat.convert(point), zoom);
66
- const quadkeyString = (0, sdk_geo_1.tileToQuadkey)(tile);
67
- return Quadkey.fromBase4String(quadkeyString);
68
- }
69
162
  static fromTile(tile) {
70
163
  return Quadkey.fromBase4String((0, sdk_geo_1.tileToQuadkey)(tile));
71
164
  }
72
- isInBoundingBox(boundingBox) {
73
- const tileBoundingBox = (0, sdk_geo_1.tileToBoundingBox)(this.toTile());
74
- return (boundingBox.contains(tileBoundingBox.getNorthEast()) ||
75
- boundingBox.contains(tileBoundingBox.getNorthWest()) ||
76
- boundingBox.contains(tileBoundingBox.getSouthEast()) ||
77
- boundingBox.contains(tileBoundingBox.getSouthWest()));
78
- }
79
- static fromBoundingBox(boundingBox, zoom) {
80
- const tiles = (0, sdk_geo_1.tilesFromBoundingBox)(boundingBox, Math.floor(zoom));
81
- const result = [];
82
- for (const tile of tiles) {
83
- result.push((0, sdk_js_1.assertEx)(Quadkey.fromTile(tile), 'Bad Quadkey'));
165
+ childrenByZoom(zoom) {
166
+ // if we are limiting by zoom, and we are already at that limit, just return this quadkey
167
+ if (zoom && zoom === this.zoom) {
168
+ return [this];
84
169
  }
85
- return result;
170
+ // recursively get children
171
+ let deepResult = [];
172
+ for (const quadkey of this.children) {
173
+ deepResult = deepResult.concat(quadkey.childrenByZoom(zoom));
174
+ }
175
+ return deepResult;
176
+ }
177
+ clone() {
178
+ return Quadkey.fromBase10String(this.base10String);
179
+ }
180
+ compareTo(quadkey) {
181
+ return this.bigNumber.cmp(quadkey.bigNumber);
182
+ }
183
+ equals(obj) {
184
+ return obj.base4HashLabel == this.base4HashLabel;
185
+ }
186
+ geoJson() {
187
+ var _a;
188
+ this._geoJson = (_a = this._geoJson) !== null && _a !== void 0 ? _a : new sdk_geo_1.GeoJson(this.base4Hash);
189
+ return this._geoJson;
86
190
  }
87
191
  getGridBoundingBox(size) {
88
- const hash = this.toBase4Hash();
192
+ const hash = this.base4Hash;
89
193
  let index = 0;
90
194
  let left = 0;
91
195
  let top = 0;
@@ -116,24 +220,20 @@ class Quadkey {
116
220
  width: blockSize,
117
221
  };
118
222
  }
119
- setKey(zoom, id) {
120
- id.copy(this.key, this.key.length - id.length);
121
- this.key.writeUInt8(zoom, 0);
122
- return this;
123
- }
124
- setZoom(zoom) {
125
- (0, sdk_js_1.assertEx)(zoom < MAX_ZOOM, `Invalid zoom [${zoom}] max=${MAX_ZOOM}`);
126
- this.setKey(zoom, this.id);
127
- return this;
223
+ /** @deprecated use .gridLocation instead */
224
+ getGridLocation() {
225
+ return this.gridLocation;
128
226
  }
129
- parent() {
130
- if (this.zoom > 0) {
131
- return new Quadkey().setId((0, utils_1.bitShiftRight)((0, utils_1.bitShiftRight)(this.id))).setZoom(this.zoom - 1);
132
- }
227
+ isInBoundingBox(boundingBox) {
228
+ const tileBoundingBox = (0, sdk_geo_1.tileToBoundingBox)(this.tile);
229
+ return (boundingBox.contains(tileBoundingBox.getNorthEast()) ||
230
+ boundingBox.contains(tileBoundingBox.getNorthWest()) ||
231
+ boundingBox.contains(tileBoundingBox.getSouthEast()) ||
232
+ boundingBox.contains(tileBoundingBox.getSouthWest()));
133
233
  }
134
234
  relative(direction) {
135
235
  const directionConstant = (0, sdk_js_1.assertEx)(RelativeDirectionConstantLookup[direction], 'Invalid direction');
136
- let quadkey = this.toBase4Hash();
236
+ let quadkey = this.base4Hash;
137
237
  if (quadkey.length === 0) {
138
238
  return this;
139
239
  }
@@ -157,136 +257,77 @@ class Quadkey {
157
257
  }
158
258
  return Quadkey.fromBase4String(quadkey);
159
259
  }
160
- childrenByZoom(zoom) {
161
- // if we are limiting by zoom, and we are already at that limit, just return this quadkey
162
- if (zoom && zoom === this.zoom) {
163
- return [this];
164
- }
165
- // recursively get children
166
- let deepResult = [];
167
- for (const quadkey of this.children()) {
168
- deepResult = deepResult.concat(quadkey.childrenByZoom(zoom));
169
- }
170
- return deepResult;
171
- }
172
- children() {
173
- (0, sdk_js_1.assertEx)(this.zoom < MAX_ZOOM - 1, 'Can not get children of bottom tiles');
174
- const result = [];
175
- const shiftedId = (0, utils_1.bitShiftLeft)((0, utils_1.bitShiftLeft)(this.id));
176
- for (let i = 0; i < 4; i++) {
177
- const currentLastByte = shiftedId.readUInt8(shiftedId.length - 1);
178
- shiftedId.writeUInt8((currentLastByte & 0xfc) | i, shiftedId.length - 1);
179
- result.push(new Quadkey().setId(shiftedId).setZoom(this.zoom + 1));
180
- }
181
- return result;
182
- }
183
- siblings() {
184
- var _a;
185
- const siblings = (0, sdk_js_1.assertEx)((_a = this.parent()) === null || _a === void 0 ? void 0 : _a.children(), `siblings: parentChildren ${this.toBase4Hash()}`);
186
- const filteredSiblings = siblings.filter((quadkey) => this.compareTo(quadkey) !== 0);
187
- (0, sdk_js_1.assertEx)(filteredSiblings.length === 3, `siblings: expected 3 [${filteredSiblings.length}]`);
188
- return filteredSiblings;
189
- }
190
- clone() {
191
- return Quadkey.fromBase10String(this.toBase10String());
192
- }
193
- get zoom() {
194
- return this.toBuffer().readUInt8(0);
195
- }
196
- geoJson() {
197
- var _a;
198
- this._geoJson = (_a = this._geoJson) !== null && _a !== void 0 ? _a : new sdk_geo_1.GeoJson(this.toBase4Hash());
199
- return this._geoJson;
200
- }
201
260
  setId(id) {
202
261
  this.setKey(this.zoom, id);
203
262
  return this;
204
263
  }
205
- toTile() {
206
- return (0, sdk_geo_1.tileFromQuadkey)(this.toBase4Hash());
264
+ setKey(zoom, id) {
265
+ id.copy(this.key, this.key.length - id.length);
266
+ this.key.writeUInt8(zoom, 0);
267
+ return this;
207
268
  }
208
- toBoundingBox() {
209
- return (0, sdk_geo_1.tileToBoundingBox)(this.toTile());
269
+ setZoom(zoom) {
270
+ (0, sdk_js_1.assertEx)(zoom < MAX_ZOOM, `Invalid zoom [${zoom}] max=${MAX_ZOOM}`);
271
+ this.setKey(zoom, this.id);
272
+ return this;
210
273
  }
211
- toCenter() {
212
- const result = (0, sdk_geo_1.boundingBoxToCenter)(this.toBoundingBox());
213
- return new mapbox_gl_1.LngLat(result[0], result[1]);
274
+ /** @deprecated use .base10String*/
275
+ toBase10String() {
276
+ return this.base10String;
214
277
  }
215
- getGridLocation() {
216
- const tileData = (0, sdk_geo_1.tileFromQuadkey)(this.toBase4Hash());
217
- return {
218
- col: Math.pow(2, tileData[2]) - tileData[1] - 1,
219
- row: tileData[0],
220
- zoom: tileData[2],
221
- };
278
+ /** @deprecated use .base4Hash */
279
+ toBase4Hash() {
280
+ return this.base4Hash;
222
281
  }
223
- valid() {
224
- const zoom = this.zoom;
225
- const shift = (MAX_ZOOM - zoom) * 2;
226
- const id = this.id;
227
- let testId = id;
228
- for (let i = 0; i < shift; i++) {
229
- testId = (0, utils_1.bitShiftLeft)(testId);
230
- }
231
- for (let i = 0; i < shift; i++) {
232
- testId = (0, utils_1.bitShiftRight)(testId);
233
- }
234
- return testId.compare(id) === 0;
282
+ /** @deprecated use .base4HashLabel */
283
+ toBase4HashLabel() {
284
+ const hash = this.base4HashLabel;
285
+ return hash.length === 0 ? 'fhr' : hash;
235
286
  }
236
- get id() {
237
- return this.toBuffer().slice(1);
287
+ /** @deprecated use .bigNumber */
288
+ toBigNumber() {
289
+ return this.bigNumber;
290
+ }
291
+ /** @deprecated use .boundingBox */
292
+ toBoundingBox() {
293
+ return this.boundingBox;
238
294
  }
295
+ /** @deprecated use .buffer */
239
296
  toBuffer() {
240
- return this.key;
297
+ return this.buffer;
241
298
  }
242
- toBigNumber() {
243
- return new bignumber_1.BigNumber(`${this.key.toString('hex')}`, 'hex');
299
+ /** @deprecated use .center */
300
+ toCenter() {
301
+ return this.center;
244
302
  }
245
- toString() {
246
- return `0x${(0, utils_1.padHex)(this.toBigNumber().toString(16))}`;
303
+ /** @deprecated use .hex instead */
304
+ toHex() {
305
+ return this.hex;
247
306
  }
248
307
  toJSON() {
249
- return this.toBase4HashLabel();
308
+ return this.base4HashLabel;
250
309
  }
251
- toBase10String() {
252
- return this.toBigNumber().toString(10);
310
+ toShortString() {
311
+ const buffer = this.buffer;
312
+ const part1 = buffer.slice(0, 2);
313
+ const part2 = buffer.slice(buffer.length - 2, buffer.length);
314
+ return `${part1.toString('hex')}...${part2.toString('hex')}`;
253
315
  }
254
- toBase4HashLabel() {
255
- const hash = this.toBase4Hash();
256
- return hash.length === 0 ? 'fhr' : hash;
316
+ toString() {
317
+ return `0x${(0, utils_1.padHex)(this.bigNumber.toString(16))}`;
318
+ }
319
+ /** @deprecated use .tile instead */
320
+ toTile() {
321
+ return this.tile;
257
322
  }
258
323
  guessZoom() {
259
324
  const bn = new bignumber_1.BigNumber(this.id.toString('hex'), 16);
260
325
  const quadkeySimple = bn.toString(4);
261
326
  this.setZoom(quadkeySimple.length);
262
327
  }
263
- toBase4Hash() {
264
- const bn = new bignumber_1.BigNumber(this.id.toString('hex'), 16);
265
- const zoom = this.zoom;
266
- if (zoom === 0) {
267
- return '';
268
- }
269
- let quadkeySimple = bn.toString(4);
270
- while (quadkeySimple.length < zoom) {
271
- quadkeySimple = `0${quadkeySimple}`;
272
- }
273
- return quadkeySimple;
274
- }
275
- toHex() {
276
- return `0x${this.key.toString('hex')}`;
277
- }
278
- toShortString() {
279
- const buffer = this.toBuffer();
280
- const part1 = buffer.slice(0, 2);
281
- const part2 = buffer.slice(buffer.length - 2, buffer.length);
282
- return `${part1.toString('hex')}...${part2.toString('hex')}`;
283
- }
284
- compareTo(quadkey) {
285
- return this.toBigNumber().cmp(quadkey.toBigNumber());
286
- }
287
328
  }
288
329
  exports.Quadkey = Quadkey;
330
+ Quadkey.Zero = Quadkey.from(0, buffer_1.Buffer.alloc(31, 0));
289
331
  Quadkey.root = new Quadkey();
290
332
  Quadkey.type = 'Quadkey';
291
- Quadkey.Zero = Quadkey.from(0, buffer_1.Buffer.alloc(31, 0));
292
333
  //# 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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"}