UNPKG

s2maps-gpu

Version:

S2 Maps GPU - An open source, high-performance, and GPU-accelerated map engine for rendering large-scale, interactive maps.

36 lines (35 loc) 1.47 kB
import { bytesToHeader, getUint64 } from './pmtiles.js'; 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), }; }