From 313ce5b0378bdfcc033b4b02ca639c1e6b164f23 Mon Sep 17 00:00:00 2001 From: Brandon Liu Date: Thu, 17 Feb 2022 17:38:34 +0800 Subject: [PATCH] warn if missing spec v2 metadata properties [#27] --- js/pmtiles.ts | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/js/pmtiles.ts b/js/pmtiles.ts index 35868c9..098e93c 100644 --- a/js/pmtiles.ts +++ b/js/pmtiles.ts @@ -263,7 +263,7 @@ export class PMTiles { 17 * header.root_entries ); if (header.version === 1) { - console.log("Sorting pmtiles v1 directory"); + console.warn("Sorting pmtiles v1 directory"); root_dir = new DataView(sortDir(root_dir)); } @@ -287,10 +287,25 @@ export class PMTiles { dec.decode(new DataView(root.buffer, 10, root.header.json_size)) ); if (result.compression) { - console.error( + console.warn( `Archive has compression type: ${result.compression} and may not be readable directly by browsers.` ); } + if (!result.bounds) { + console.warn( + `Archive is missing 'bounds' in metadata, required in v2 and above.` + ); + } + if (!result.minzoom) { + console.warn( + `Archive is missing 'minzoom' in metadata, required in v2 and above.` + ); + } + if (!result.maxzoom) { + console.warn( + `Archive is missing 'maxzoom' in metadata, required in v2 and above.` + ); + } return result; } @@ -304,7 +319,7 @@ export class PMTiles { var buf = await resp.arrayBuffer(); if (version === 1) { - console.log("Sorting pmtiles v1 directory"); + console.warn("Sorting pmtiles v1 directory."); buf = sortDir(new DataView(buf)); }