s2-tools
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
36 lines • 1.5 kB
JavaScript
import { bytesToHeader, getUint64 } from './pmtiles';
export const S2_HEADER_SIZE_BYTES = 262;
export const S2_ROOT_SIZE = 98_304;
/**
* Parse raw header bytes into a Header object.
* @param bytes - the raw header bytes
* @returns the parsed header
*/
export function s2BytesToHeader(bytes) {
const baseHeader = bytesToHeader(bytes);
const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
return {
...baseHeader,
rootDirectoryOffset1: getUint64(dv, 102),
rootDirectoryLength1: getUint64(dv, 110),
rootDirectoryOffset2: getUint64(dv, 118),
rootDirectoryLength2: getUint64(dv, 126),
rootDirectoryOffset3: getUint64(dv, 134),
rootDirectoryLength3: getUint64(dv, 142),
rootDirectoryOffset4: getUint64(dv, 150),
rootDirectoryLength4: getUint64(dv, 158),
rootDirectoryOffset5: getUint64(dv, 166),
rootDirectoryLength5: getUint64(dv, 174),
leafDirectoryOffset1: getUint64(dv, 182),
leafDirectoryLength1: getUint64(dv, 190),
leafDirectoryOffset2: getUint64(dv, 198),
leafDirectoryLength2: getUint64(dv, 206),
leafDirectoryOffset3: getUint64(dv, 214),
leafDirectoryLength3: getUint64(dv, 222),
leafDirectoryOffset4: getUint64(dv, 230),
leafDirectoryLength4: getUint64(dv, 238),
leafDirectoryOffset5: getUint64(dv, 246),
leafDirectoryLength5: getUint64(dv, 254),
};
}
//# sourceMappingURL=s2pmtiles.js.map