@basemaps/cli-raster 8.6.0 → 8.11.0

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.
Files changed (58) hide show
  1. package/build/cogify/__test__/{extract.test.js → topo/extract.test.js} +8 -2
  2. package/build/cogify/__test__/topo/extract.test.js.map +1 -0
  3. package/build/cogify/__test__/topo/slug.test.d.ts +1 -0
  4. package/build/cogify/__test__/topo/slug.test.js +39 -0
  5. package/build/cogify/__test__/topo/slug.test.js.map +1 -0
  6. package/build/cogify/cli/__test__/cli.charts.test.d.ts +1 -0
  7. package/build/cogify/cli/__test__/cli.charts.test.js +131 -0
  8. package/build/cogify/cli/__test__/cli.charts.test.js.map +1 -0
  9. package/build/cogify/cli/__test__/cli.cover.test.js +13 -0
  10. package/build/cogify/cli/__test__/cli.cover.test.js.map +1 -1
  11. package/build/cogify/cli/__test__/cli.topo.test.js +1 -0
  12. package/build/cogify/cli/__test__/cli.topo.test.js.map +1 -1
  13. package/build/cogify/cli/cli.charts.d.ts +33 -0
  14. package/build/cogify/cli/cli.charts.js +345 -0
  15. package/build/cogify/cli/cli.charts.js.map +1 -0
  16. package/build/cogify/cli/cli.cog.js +8 -7
  17. package/build/cogify/cli/cli.cog.js.map +1 -1
  18. package/build/cogify/cli/cli.cover.d.ts +4 -2
  19. package/build/cogify/cli/cli.cover.js +24 -3
  20. package/build/cogify/cli/cli.cover.js.map +1 -1
  21. package/build/cogify/cli/cli.topo.d.ts +8 -3
  22. package/build/cogify/cli/cli.topo.js +25 -18
  23. package/build/cogify/cli/cli.topo.js.map +1 -1
  24. package/build/cogify/cli.d.ts +36 -2
  25. package/build/cogify/cli.js +2 -0
  26. package/build/cogify/cli.js.map +1 -1
  27. package/build/cogify/covering/covering.js +2 -2
  28. package/build/cogify/covering/covering.js.map +1 -1
  29. package/build/cogify/covering/tile.cover.d.ts +6 -1
  30. package/build/cogify/covering/tile.cover.js +24 -8
  31. package/build/cogify/covering/tile.cover.js.map +1 -1
  32. package/build/cogify/gdal/gdal.command.d.ts +8 -2
  33. package/build/cogify/gdal/gdal.command.js +52 -9
  34. package/build/cogify/gdal/gdal.command.js.map +1 -1
  35. package/build/cogify/gdal/gdal.runner.d.ts +1 -1
  36. package/build/cogify/gdal/gdal.runner.js +1 -1
  37. package/build/cogify/gdal/gdal.runner.js.map +1 -1
  38. package/build/cogify/gdal/ogr2ogr.command.d.ts +20 -0
  39. package/build/cogify/gdal/ogr2ogr.command.js +57 -0
  40. package/build/cogify/gdal/ogr2ogr.command.js.map +1 -0
  41. package/build/cogify/stac.d.ts +32 -18
  42. package/build/cogify/stac.js.map +1 -1
  43. package/build/cogify/topo/extract.d.ts +2 -2
  44. package/build/cogify/topo/extract.js +63 -20
  45. package/build/cogify/topo/extract.js.map +1 -1
  46. package/build/cogify/topo/slug.d.ts +6 -4
  47. package/build/cogify/topo/slug.js +43 -8
  48. package/build/cogify/topo/slug.js.map +1 -1
  49. package/build/cogify/topo/stac.creation.d.ts +3 -2
  50. package/build/cogify/topo/stac.creation.js +5 -5
  51. package/build/cogify/topo/stac.creation.js.map +1 -1
  52. package/build/preset.d.ts +67 -6
  53. package/build/preset.js +41 -0
  54. package/build/preset.js.map +1 -1
  55. package/dist/index.cjs +5484 -1897
  56. package/package.json +7 -7
  57. package/build/cogify/__test__/extract.test.js.map +0 -1
  58. /package/build/cogify/__test__/{extract.test.d.ts → topo/extract.test.d.ts} +0 -0
@@ -8,14 +8,17 @@ export interface TopoCreationContext {
8
8
  target: URL;
9
9
  /** Imagery title */
10
10
  title: string;
11
- /** Input topo imagery scale, topo25, topo50, or topo250*/
12
- mapSeries: string;
11
+ /** Input topo imagery scale: topo25, topo50, or topo250*/
12
+ mapSeries: MapSeries;
13
+ /** Input topo imagery format: gridded, or gridless */
14
+ format: Format;
13
15
  /** force output if not in argo */
14
16
  output?: URL;
15
17
  /** Logger to trace creation */
16
18
  logger: LogType;
17
19
  }
18
- export type MapSeriesNames = 'topo50' | 'topo250';
20
+ export type Format = 'gridded' | 'gridless';
21
+ export type MapSeries = 'topo25' | 'topo50' | 'topo250';
19
22
  /**
20
23
  * Parses a source path directory topographic maps tiffs and writes out a directory structure
21
24
  * of StacItem and StacCollection files to the target path.
@@ -30,6 +33,7 @@ export declare const TopoStacCreationCommand: Partial<import("cmd-ts/dist/cjs/ar
30
33
  title: string | undefined;
31
34
  target: URL;
32
35
  mapSeries: string;
36
+ format: string;
33
37
  latestOnly: boolean;
34
38
  output: URL | undefined;
35
39
  paths: URL[];
@@ -40,6 +44,7 @@ export declare const TopoStacCreationCommand: Partial<import("cmd-ts/dist/cjs/ar
40
44
  title: string | undefined;
41
45
  target: URL;
42
46
  mapSeries: string;
47
+ format: string;
43
48
  latestOnly: boolean;
44
49
  output: URL | undefined;
45
50
  paths: URL[];
@@ -3,13 +3,16 @@ import { Bounds } from '@basemaps/geo';
3
3
  import { fsa } from '@basemaps/shared';
4
4
  import { getLogger, isArgo, logArguments, Url, UrlFolder } from '@basemaps/shared';
5
5
  import { CliInfo } from '@basemaps/shared/build/cli/info.js';
6
- import { boolean, command, flag, option, optional, restPositionals, string } from 'cmd-ts';
6
+ import { boolean, command, flag, oneOf, option, optional, restPositionals, string } from 'cmd-ts';
7
7
  import pLimit from 'p-limit';
8
8
  import { brokenTiffs, extractLatestTiffItemsByMapCode, extractTiffItemsByEpsg } from '../topo/extract.js';
9
9
  import { mapEpsgToSlug } from '../topo/slug.js';
10
10
  import { createStacCollection, createStacItems, writeStacFiles } from '../topo/stac.creation.js';
11
11
  const Q = pLimit(10);
12
+ const Format = ['gridded', 'gridless'];
13
+ const MapSeries = ['topo25', 'topo50', 'topo250'];
12
14
  const MapSeriesTitle = {
15
+ topo25: 'Raster Topographic Maps 25k',
13
16
  topo50: 'Raster Topographic Maps 50k',
14
17
  topo250: 'Raster Topographic Maps 250k',
15
18
  };
@@ -31,7 +34,7 @@ export const TopoStacCreationCommand = command({
31
34
  title: option({
32
35
  type: optional(string),
33
36
  long: 'title',
34
- description: 'Imported imagery title, default is created from map series',
37
+ description: 'Imported imagery title. By default, the title is derived from the map series name',
35
38
  }),
36
39
  target: option({
37
40
  type: UrlFolder,
@@ -39,9 +42,14 @@ export const TopoStacCreationCommand = command({
39
42
  description: 'Target location for the output files',
40
43
  }),
41
44
  mapSeries: option({
42
- type: string,
45
+ type: oneOf(MapSeries),
43
46
  long: 'map-series',
44
- description: 'Map series name, topo50, or topo250',
47
+ description: `Map series scale. Either ${MapSeries.join(', ')}`,
48
+ }),
49
+ format: option({
50
+ type: oneOf(Format),
51
+ long: 'format',
52
+ description: `Map sheet format. Either ${Format.join(', ')}`,
45
53
  }),
46
54
  latestOnly: flag({
47
55
  type: boolean,
@@ -64,16 +72,16 @@ export const TopoStacCreationCommand = command({
64
72
  const logger = getLogger(this, args, 'cli-raster');
65
73
  const startTime = performance.now();
66
74
  logger.info('TopoCogify:Start');
67
- const title = args.title ?? MapSeriesTitle[args.mapSeries];
68
- if (title == null) {
69
- throw new Error('--title must be defined if map series is not one of :' + Object.keys(MapSeriesTitle).join(', '));
70
- }
75
+ const mapSeries = args.mapSeries;
76
+ const format = args.format;
77
+ const title = args.title ?? MapSeriesTitle[mapSeries];
71
78
  const ctx = {
72
79
  latestOnly: args.latestOnly,
73
80
  paths: args.paths,
74
81
  target: args.target,
75
82
  title,
76
- mapSeries: args.mapSeries,
83
+ mapSeries,
84
+ format,
77
85
  output: args.output,
78
86
  logger,
79
87
  };
@@ -121,26 +129,25 @@ async function loadTiffsToCreateStacs(ctx) {
121
129
  throw new Error('No TIFF files found in locations : ' + source.map((m) => m.href).join(', '));
122
130
  logger.info({ count: tiffs.length, hrefs: source.map((m) => m.href) }, 'LoadTiffs:End');
123
131
  logger.info('ExtractTiffs:Start');
124
- const allTiffItems = extractTiffItemsByEpsg(tiffs, logger);
132
+ const allTiffItems = await extractTiffItemsByEpsg(tiffs, logger);
125
133
  logger.info({ foundEpsgs: [...allTiffItems.keys()] }, 'ExtractTiffs:End');
126
134
  const epsgDirectoryPaths = [];
127
135
  const stacItemPaths = [];
128
136
  // create and write stac items and collections
129
- const scale = ctx.mapSeries;
137
+ const mapSeries = ctx.mapSeries;
130
138
  // TODO: resolution is defined from the GSD over the map scale,
131
139
  // and can be extracted in the future if we want to process higher resolution maps
132
- const resolution = 'gridless_600dpi';
140
+ const resolution = `${ctx.format}_600dpi`;
133
141
  for (const [epsg, tiffItems] of allTiffItems.entries()) {
134
142
  logger?.info({ epsg }, 'CreateStacFiles:Start');
135
143
  // identify latest tiff items
136
144
  const latestTiffItems = extractLatestTiffItemsByMapCode(tiffItems);
137
145
  // create stac items
138
- const stacItems = createStacItems(scale, resolution, tiffItems, latestTiffItems, logger);
146
+ const stacItems = createStacItems(mapSeries, resolution, tiffItems, latestTiffItems, logger);
139
147
  // convert epsg to slug
140
- const epsgSlug = mapEpsgToSlug(epsg.code);
141
- if (epsgSlug == null)
148
+ const linzSlug = mapEpsgToSlug(mapSeries, epsg);
149
+ if (linzSlug == null)
142
150
  throw new Error(`Failed to map epsg code '${epsg.code}' to a slug`);
143
- const linzSlug = `${scale}-${epsgSlug}`;
144
151
  // extract bounds
145
152
  const allBounds = tiffItems.map((item) => item.bounds);
146
153
  const latestBounds = Array.from(latestTiffItems.values()).map((item) => item.bounds);
@@ -151,13 +158,13 @@ async function loadTiffsToCreateStacs(ctx) {
151
158
  logger?.info({ epsg }, 'CreateStacFiles:End');
152
159
  // Write all stac items and collections
153
160
  if (!ctx.latestOnly) {
154
- const allTargetURL = new URL(`${scale}/${resolution}/${epsg.code}/`, target);
161
+ const allTargetURL = new URL(`${mapSeries}/${resolution}/${epsg.code}/`, target);
155
162
  logger?.info({ epsg, target: allTargetURL.href }, 'WriteStacFiles:Start');
156
163
  const allPaths = await writeStacFiles(allTargetURL, stacItems.all, collection, logger);
157
164
  stacItemPaths.push(...allPaths.items);
158
165
  }
159
166
  // Write latest stac items and collections
160
- const latestTargetURL = new URL(`${scale}_latest/${resolution}/${epsg.code}/`, target);
167
+ const latestTargetURL = new URL(`${mapSeries}_latest/${resolution}/${epsg.code}/`, target);
161
168
  epsgDirectoryPaths.push({ epsg: epsg.code.toString(), url: latestTargetURL });
162
169
  logger?.info({ epsg, target: latestTargetURL.href }, 'WriteStacFiles:Start');
163
170
  const latestPaths = await writeStacFiles(latestTargetURL, stacItems.latest, latestCollection, logger);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.topo.js","sourceRoot":"","sources":["../../../src/cogify/cli/cli.topo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.topo.js","sourceRoot":"","sources":["../../../src/cogify/cli/cli.topo.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ export declare const CogifyCli: Partial<import("cmd-ts/dist/cjs/argparser.js").R
6
6
  cutline: URL | undefined;
7
7
  cutlineBlend: number;
8
8
  paths: URL[];
9
- preset: string;
9
+ preset: "lzw" | "webp" | "webp_80" | "lerc_1mm" | "lerc_10mm" | "zstd_17";
10
+ presetBand: string | undefined;
10
11
  tileMatrix: string;
11
12
  baseZoomOffset: number | undefined;
12
13
  requireStacCollection: boolean;
@@ -39,12 +40,25 @@ export declare const CogifyCli: Partial<import("cmd-ts/dist/cjs/argparser.js").R
39
40
  title: string | undefined;
40
41
  target: URL;
41
42
  mapSeries: string;
43
+ format: string;
42
44
  latestOnly: boolean;
43
45
  output: URL | undefined;
44
46
  paths: URL[];
45
47
  verbose: boolean;
46
48
  extraVerbose: boolean;
47
49
  };
50
+ } | {
51
+ command: "charts";
52
+ args: {
53
+ source: URL | undefined;
54
+ target: URL;
55
+ cutline: URL;
56
+ backup: URL;
57
+ bufferPixels: number;
58
+ paths: URL[];
59
+ verbose: boolean;
60
+ extraVerbose: boolean;
61
+ };
48
62
  }>>;
49
63
  } & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
50
64
  command: "cover";
@@ -53,7 +67,8 @@ export declare const CogifyCli: Partial<import("cmd-ts/dist/cjs/argparser.js").R
53
67
  cutline: URL | undefined;
54
68
  cutlineBlend: number;
55
69
  paths: URL[];
56
- preset: string;
70
+ preset: "lzw" | "webp" | "webp_80" | "lerc_1mm" | "lerc_10mm" | "zstd_17";
71
+ presetBand: string | undefined;
57
72
  tileMatrix: string;
58
73
  baseZoomOffset: number | undefined;
59
74
  requireStacCollection: boolean;
@@ -86,12 +101,25 @@ export declare const CogifyCli: Partial<import("cmd-ts/dist/cjs/argparser.js").R
86
101
  title: string | undefined;
87
102
  target: URL;
88
103
  mapSeries: string;
104
+ format: string;
89
105
  latestOnly: boolean;
90
106
  output: URL | undefined;
91
107
  paths: URL[];
92
108
  verbose: boolean;
93
109
  extraVerbose: boolean;
94
110
  };
111
+ } | {
112
+ command: "charts";
113
+ args: {
114
+ source: URL | undefined;
115
+ target: URL;
116
+ cutline: URL;
117
+ backup: URL;
118
+ bufferPixels: number;
119
+ paths: URL[];
120
+ verbose: boolean;
121
+ extraVerbose: boolean;
122
+ };
95
123
  }, {
96
124
  command: "cover";
97
125
  value: Promise<void>;
@@ -104,6 +132,9 @@ export declare const CogifyCli: Partial<import("cmd-ts/dist/cjs/argparser.js").R
104
132
  } | {
105
133
  command: "topo";
106
134
  value: Promise<void>;
135
+ } | {
136
+ command: "charts";
137
+ value: Promise<void>;
107
138
  }> & {
108
139
  run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
109
140
  command: "cover";
@@ -117,5 +148,8 @@ export declare const CogifyCli: Partial<import("cmd-ts/dist/cjs/argparser.js").R
117
148
  } | {
118
149
  command: "topo";
119
150
  value: Promise<void>;
151
+ } | {
152
+ command: "charts";
153
+ value: Promise<void>;
120
154
  }>>;
121
155
  };
@@ -1,4 +1,5 @@
1
1
  import { subcommands } from 'cmd-ts';
2
+ import { ChartsCreationCommand } from './cli/cli.charts.js';
2
3
  import { BasemapsCogifyCreateCommand } from './cli/cli.cog.js';
3
4
  import { BasemapsCogifyCoverCommand } from './cli/cli.cover.js';
4
5
  import { TopoStacCreationCommand } from './cli/cli.topo.js';
@@ -10,6 +11,7 @@ export const CogifyCli = subcommands({
10
11
  create: BasemapsCogifyCreateCommand,
11
12
  validate: BasemapsCogifyValidateCommand,
12
13
  topo: TopoStacCreationCommand,
14
+ charts: ChartsCreationCommand,
13
15
  },
14
16
  });
15
17
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cogify/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;IACnC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE;QACJ,KAAK,EAAE,0BAA0B;QACjC,MAAM,EAAE,2BAA2B;QACnC,QAAQ,EAAE,6BAA6B;QACvC,IAAI,EAAE,uBAAuB;KAC9B;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cogify/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;IACnC,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE;QACJ,KAAK,EAAE,0BAA0B;QACjC,MAAM,EAAE,2BAA2B;QACnC,QAAQ,EAAE,6BAA6B;QACvC,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,qBAAqB;KAC9B;CACF,CAAC,CAAC"}
@@ -100,8 +100,8 @@ export function createCovering(ctx) {
100
100
  // Is this tile a different zoom level to our target
101
101
  const zDiff = tile.z - ctx.targetZoom;
102
102
  // Count the number of pixels in the output tiff that would be used
103
- const tileScale = tileSource.width / ctx.tileMatrix.tileSize;
104
- const pixelCount = (tileArea * areaPercent) / tileScale;
103
+ const tileScaleX = tileSource.width / ctx.tileMatrix.tileWidth;
104
+ const pixelCount = (tileArea * areaPercent) / tileScaleX;
105
105
  if (areaPercent < minCoveragePercent && zDiff < maxZoomDifference) {
106
106
  // Not enough coverage was found with this tile, use a more zoomed in tile and try again
107
107
  addChildren(tile, todo);
@@ -1 +1 @@
1
- {"version":3,"file":"covering.js","sourceRoot":"","sources":["../../../src/cogify/covering/covering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"covering.js","sourceRoot":"","sources":["../../../src/cogify/covering/covering.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { ConfigImageryTiff } from '@basemaps/config-loader';
3
3
  import { TileMatrixSet } from '@basemaps/geo';
4
4
  import { LogType } from '@basemaps/shared';
5
5
  import { Metrics } from '@linzjs/metrics';
6
+ import { GdalBandPreset, PresetName } from '../../preset.js';
6
7
  import { CogifyStacCollection, CogifyStacItem } from '../stac.js';
7
8
  import { CutlineOptimizer } from './cutline.js';
8
9
  export interface TileCoverContext {
@@ -19,7 +20,9 @@ export interface TileCoverContext {
19
20
  /** Optional logger to trace covering creation */
20
21
  logger?: LogType;
21
22
  /** GDAL configuration preset */
22
- preset: string;
23
+ preset: PresetName;
24
+ /** GDAL Band configuration preset */
25
+ presetBands?: GdalBandPreset[];
23
26
  /** Optional color with which to replace all transparent COG pixels */
24
27
  background?: Rgba;
25
28
  /**
@@ -35,4 +38,6 @@ export interface TileCoverResult {
35
38
  /** GeoJSON features of all the source imagery */
36
39
  source: GeoJSON.FeatureCollection;
37
40
  }
41
+ export declare const TargetZoomOffsetDefault = 7;
42
+ export declare const TargetZoomOffset: Partial<Record<PresetName, number>>;
38
43
  export declare function createTileCover(ctx: TileCoverContext): Promise<TileCoverResult>;
@@ -1,7 +1,7 @@
1
- import { Bounds, Projection, ProjectionLoader, TileId } from '@basemaps/geo';
1
+ import { Bounds, EpsgCode, Projection, ProjectionLoader, TileId } from '@basemaps/geo';
2
2
  import { fsa, urlToString } from '@basemaps/shared';
3
3
  import { CliDate, CliInfo } from '@basemaps/shared/build/cli/info.js';
4
- import { intersection, toFeatureCollection, union } from '@linzjs/geojson';
4
+ import { intersection, multiPolygonToWgs84, toFeatureCollection, union } from '@linzjs/geojson';
5
5
  import { Presets } from '../../preset.js';
6
6
  import { createFileStats } from '../stac.js';
7
7
  import { createCovering } from './covering.js';
@@ -31,16 +31,25 @@ function getTargetBaseZoom(tileMatrix, resolution, targetZoomOffset) {
31
31
  return Projection.getTiffResZoom(tileMatrix, resolution);
32
32
  return Projection.getTiffResZoom(tileMatrix, resolution) + targetZoomOffset;
33
33
  }
34
+ // The base zoom is 256x256 pixels at its resolution, we are trying to find a image that is <32k pixels wide/high
35
+ // zooming out 7 levels converts a 256x256 image into 32k x 32k image
36
+ // 256 * 2 ** 7 = 32,768 - 256x256 tile
37
+ // 512 * 2 ** 6 = 32,768 - 512x512 tile
38
+ // This math only works for highly compressed RGB imagery, for multispectrial imagery small tiles need to be made
39
+ export const TargetZoomOffsetDefault = 7;
40
+ // ZSTD files are generally larger than webp or LERC
41
+ export const TargetZoomOffset = {
42
+ zstd_17: 6,
43
+ lzw: 6,
44
+ };
34
45
  export async function createTileCover(ctx) {
35
46
  // Ensure we have the projection loaded for the source imagery
36
47
  await ProjectionLoader.load(ctx.imagery.projection);
48
+ await ProjectionLoader.load(EpsgCode.Wgs84);
37
49
  // Find the zoom level that is at least as good as the source imagery
38
50
  const targetBaseZoom = getTargetBaseZoom(ctx.tileMatrix, ctx.imagery.gsd, ctx.targetZoomOffset);
39
- // The base zoom is 256x256 pixels at its resolution, we are trying to find a image that is <32k pixels wide/high
40
- // zooming out 7 levels converts a 256x256 image into 32k x 32k image
41
- // 256 * 2 ** 7 = 32,768 - 256x256 tile
42
- // 512 * 2 ** 6 = 32,768 - 512x512 tile
43
- const optimalCoveringZoom = Math.max(1, targetBaseZoom - 7); // z12 from z19
51
+ const targetZoomOffset = TargetZoomOffset[ctx.preset] ?? 7;
52
+ const optimalCoveringZoom = Math.max(1, targetBaseZoom - targetZoomOffset); // z12 from z19
44
53
  ctx.logger?.debug({ targetBaseZoom, cogOverZoom: optimalCoveringZoom }, 'Imagery:ZoomLevel');
45
54
  const sourceBounds = projectPolygon(polygonFromBounds(ctx.imagery.files), ctx.imagery.projection, ctx.tileMatrix.projection.code);
46
55
  ctx.logger?.debug('Cutline:Apply');
@@ -76,7 +85,12 @@ export async function createTileCover(ctx) {
76
85
  const bounds = ctx.tileMatrix.tileToSourceBounds(tile);
77
86
  // Scale the tile bounds slightly to ensure we get all relevant imagery
78
87
  const scaledBounds = bounds.scaleFromCenter(1.05);
79
- const tileBounds = Projection.get(ctx.tileMatrix).projectMultipolygon([scaledBounds.toPolygon()], Projection.get(ctx.imagery.projection));
88
+ const projection = Projection.get(ctx.tileMatrix);
89
+ // Ensure the bounds are slipped as multipolygons when crossing the antimeridian
90
+ const wsg84Bounds = multiPolygonToWgs84([scaledBounds.toPolygon()], projection.toWgs84, true);
91
+ // Covert the wsg84 bounds back to the source projection
92
+ const tileBounds = Projection.get(EpsgCode.Wgs84).projectMultipolygon(wsg84Bounds, Projection.get(ctx.imagery.projection));
93
+ // Find all the source imagery that intersects this tile
80
94
  const source = imageryBounds.filter((f) => intersection(tileBounds, f.polygon).length > 0);
81
95
  const feature = Projection.get(ctx.tileMatrix).boundsToGeoJsonFeature(bounds);
82
96
  const tileId = TileId.fromTile(tile);
@@ -101,9 +115,11 @@ export async function createTileCover(ctx) {
101
115
  'linz_basemaps:options': {
102
116
  preset: ctx.preset,
103
117
  ...Presets[ctx.preset].options,
118
+ presetBands: ctx.presetBands,
104
119
  tile,
105
120
  tileMatrix: ctx.tileMatrix.identifier,
106
121
  sourceEpsg: ctx.imagery.projection,
122
+ sourceBands: ctx.imagery.bands,
107
123
  zoomLevel: targetBaseZoom,
108
124
  },
109
125
  'linz_basemaps:generated': {
@@ -1 +1 @@
1
- {"version":3,"file":"tile.cover.js","sourceRoot":"","sources":["../../../src/cogify/covering/tile.cover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tile.cover.js","sourceRoot":"","sources":["../../../src/cogify/covering/tile.cover.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,GAAG,EAAW,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAgB,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAI9G,OAAO,EAA8B,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAA6E,eAAe,EAAE,MAAM,YAAY,CAAC;AACxH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAsC/C,SAAS,WAAW,CAAC,GAAqB;IACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzE,IAAI,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,gCAAgC;IAChC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,iBAAiB,CAAC,UAAyB,EAAE,UAAkB,EAAE,gBAAyB;IACjG,IAAI,gBAAgB,IAAI,IAAI;QAAE,OAAO,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvF,OAAO,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,gBAAgB,CAAC;AAC9E,CAAC;AAED,iHAAiH;AACjH,qEAAqE;AACrE,uCAAuC;AACvC,uCAAuC;AACvC,iHAAiH;AACjH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,oDAAoD;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAwC;IACnE,OAAO,EAAE,CAAC;IACV,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAqB;IACzD,8DAA8D;IAC9D,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,qEAAqE;IACrE,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAEhG,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,eAAe;IAC3F,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAE7F,MAAM,YAAY,GAAG,cAAc,CACjC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EACpC,GAAG,CAAC,OAAO,CAAC,UAAU,EACtB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAC/B,CAAC;IACF,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACnC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAElC,0CAA0C;IAC1C,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAE1E,oCAAoC;IACpC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,CAAC;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAChG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAEpG,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC/C,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACvC,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEvD,uEAAuE;QACvE,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElD,gFAAgF;QAChF,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9F,wDAAwD;QACxD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,mBAAmB,CACnE,WAAW,EACX,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CACvB,CAAC;QAElB,wDAAwD;QACxD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE3F,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,IAAI,GAAmB;YAC3B,EAAE,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,MAAM,EAAE;YACzB,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,GAAG,CAAC,EAAE;YAClB,YAAY,EAAE,OAAO;YACrB,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,OAAO,CAAC,QAA0B;YAC5C,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC;YACrE,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,KAAK,MAAM,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE;gBACzC,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,YAAY,EAAE;gBAChD,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,QAAQ,EAAE;aAC7C;YACD,UAAU,EAAE;gBACV,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;gBACzC,cAAc,EAAE,QAAQ,CAAC,KAAK,IAAI,SAAS;gBAC3C,YAAY,EAAE,QAAQ,CAAC,GAAG,IAAI,SAAS;gBACvC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI;gBAC3C,uBAAuB,EAAE;oBACvB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO;oBAC9B,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,IAAI;oBACJ,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU;oBACrC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;oBAClC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;oBAC9B,SAAS,EAAE,cAAc;iBAC1B;gBACD,yBAAyB,EAAE;oBACzB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,wCAAwC;QACxC,IAAI,GAAG,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAEzF,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,OAAO,GAAqB;gBAChC,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI;gBAC7C,GAAG,EAAE,sBAAsB;gBAC3B,IAAI,EAAE,kCAAkC;gBACxC,6BAA6B,EAAE,GAAG,CAAC,MAAM;gBACzC,4BAA4B,EAAE,GAAG,CAAC,KAAK;aACxC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,8CAA8C;QAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,OAAO,GAAsB;gBACjC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,GAAG,EAAE,uBAAuB;gBAC5B,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;aACzB,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAErC,MAAM,UAAU,GAAyB;QACvC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,OAAO;QACrB,eAAe,EAAE,EAAE;QACnB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,WAAW;QACvD,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;QACxB,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,IAAI,qBAAqB;QACzE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS;QAC5C,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;YACxG,qFAAqF;YACrF,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE;SAC9F;QACD,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC;YAC3D,IAAI,IAAI,IAAI,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC7E,CAAC,CAAC;KACH,CAAC;IAEF,+BAA+B;IAC/B,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC/F,+CAA+C;IAC/C,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YACpB,GAAG,EAAE,iCAAiC;YACtC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,kBAAkB;YACxB,GAAG,eAAe,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,2DAA2D;AAC3D,SAAS,iBAAiB,CAAC,MAAqB,EAAE,QAAgB,CAAC,GAAG,IAAI;IACxE,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,uBAAuB;IACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,CAAe,EAAE,gBAA0B,EAAE,gBAA0B;IAC7F,IAAI,gBAAgB,KAAK,gBAAgB;QAAE,OAAO,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,UAAU,CAAiB,CAAC;AACvE,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { Rgba } from '@basemaps/config';
2
- import { EpsgCode } from '@basemaps/geo';
2
+ import { EpsgCode, TileMatrixSet } from '@basemaps/geo';
3
3
  import { CogifyCreationOptions } from '../stac.js';
4
4
  import { GdalCommand } from './gdal.runner.js';
5
- export declare function gdalBuildVrt(targetVrt: URL, source: URL[], addalpha?: boolean): GdalCommand;
5
+ export declare function gdalBuildVrt(targetVrt: URL, source: URL[], addalpha: boolean): GdalCommand;
6
6
  export declare function gdalBuildVrtWarp(targetVrt: URL, sourceVrt: URL, sourceProjection: EpsgCode, cutline: {
7
7
  url: URL | null;
8
8
  blend: number;
@@ -25,3 +25,9 @@ export declare function gdalCreate(targetTiff: URL, color: Rgba, opt: CogifyCrea
25
25
  * This is specific configuration to LINZ's topo50 and 250 mapsheets
26
26
  */
27
27
  export declare function gdalBuildTopoRasterCommands(targetTiff: URL, sourceVrt: URL, opt: CogifyCreationOptions, width: number, height: number): GdalCommand;
28
+ /**
29
+ * Standardized gdalwarp command for charts mapsheets
30
+ *
31
+ * Reproject the charts tif with the cutline applied.
32
+ */
33
+ export declare function gdalBuildChartsCommand(target: URL, source: URL, cutline: URL, tileMatrix: TileMatrixSet): GdalCommand;
@@ -9,7 +9,8 @@ const isPowerOfTwo = (x) => (x & (x - 1)) === 0;
9
9
  * of empty space is rendered at the edge of every mapsheet.
10
10
  *
11
11
  */
12
- const DefaultTrimPixelRight = 1.7; // 1.7 pixels to trim from the right side of the topo raster imagery
12
+ const PixelTrimTop = 1;
13
+ const PixelTrimRight = 4;
13
14
  export function gdalBuildVrt(targetVrt, source, addalpha) {
14
15
  if (source.length === 0)
15
16
  throw new Error('No source files given for :' + targetVrt.href);
@@ -32,8 +33,6 @@ export function gdalBuildVrtWarp(targetVrt, sourceVrt, sourceProjection, cutline
32
33
  command: 'gdalwarp',
33
34
  args: [
34
35
  ['-of', 'vrt'], // Output as a VRT
35
- // ['-co', 'compress=lzw'],
36
- // ['-co', 'bigtiff=yes'],
37
36
  '-multi', // Mutithread IO
38
37
  ['-wo', 'NUM_THREADS=ALL_CPUS'], // Multithread the warp
39
38
  ['-s_srs', Epsg.get(sourceProjection).toEpsgString()], // Source EPSG
@@ -49,6 +48,24 @@ export function gdalBuildVrtWarp(targetVrt, sourceVrt, sourceProjection, cutline
49
48
  .map(String),
50
49
  };
51
50
  }
51
+ function getCompressionArgs(cfg) {
52
+ if (cfg.compression === 'lerc') {
53
+ return [
54
+ ['-co', `MAX_Z_ERROR=${cfg.maxZError}`],
55
+ ['-co', `MAX_Z_ERROR_OVERVIEW=${cfg.maxZErrorOverview}`],
56
+ ];
57
+ }
58
+ if (cfg.compression === 'zstd') {
59
+ return [cfg.predictor ? ['-co', `PREDICTOR=${cfg.predictor}`] : [], ['-co', `LEVEL=${cfg.level}`]];
60
+ }
61
+ if (cfg.compression === 'webp' || cfg.compression === 'jpeg') {
62
+ return [['-co', `QUALITY=${cfg.quality}`]];
63
+ }
64
+ if (cfg.compression === 'lzw') {
65
+ return [cfg.predictor ? ['-co', `PREDICTOR=${cfg.predictor}`] : []];
66
+ }
67
+ throw new Error('Unknown compression preset:' + String(cfg['compression']));
68
+ }
52
69
  export function gdalBuildCog(targetTiff, sourceVrt, opt) {
53
70
  const cfg = { ...Presets[opt.preset], ...opt };
54
71
  const tileMatrix = TileMatrixSets.find(cfg.tileMatrix);
@@ -68,7 +85,6 @@ export function gdalBuildCog(targetTiff, sourceVrt, opt) {
68
85
  args: [
69
86
  ['-of', 'COG'],
70
87
  ['-co', 'NUM_THREADS=ALL_CPUS'], // Use all CPUS
71
- ['--config', 'GDAL_NUM_THREADS', 'all_cpus'], // Also required to NUM_THREADS till gdal 3.7.x
72
88
  ['-co', 'BIGTIFF=IF_NEEDED'], // BigTiff is somewhat slower and most (All?) of the COGS should be well below 4GB
73
89
  ['-co', 'ADD_ALPHA=YES'],
74
90
  /**
@@ -77,16 +93,15 @@ export function gdalBuildCog(targetTiff, sourceVrt, opt) {
77
93
  */
78
94
  ['-co', 'OVERVIEWS=IGNORE_EXISTING'],
79
95
  ['-co', `BLOCKSIZE=${cfg.blockSize}`],
80
- // ['-co', 'RESAMPLING=cubic'],
81
96
  ['-co', `WARP_RESAMPLING=${cfg.warpResampling}`],
82
97
  ['-co', `OVERVIEW_RESAMPLING=${cfg.overviewResampling}`],
83
98
  ['-co', `COMPRESS=${cfg.compression}`],
84
- cfg.quality ? ['-co', `QUALITY=${cfg.quality}`] : undefined,
85
- cfg.maxZError ? ['-co', `MAX_Z_ERROR=${cfg.maxZError}`] : undefined,
86
- cfg.maxZErrorOverview ? ['-co', `MAX_Z_ERROR_OVERVIEW=${cfg.maxZErrorOverview}`] : undefined,
99
+ ...getCompressionArgs(cfg),
100
+ cfg.presetBands ? ['-colorinterp', cfg.presetBands.join(',')] : undefined,
87
101
  ['-co', 'SPARSE_OK=YES'],
88
102
  ['-co', `TARGET_SRS=${tileMatrix.projection.toEpsgString()}`],
89
103
  ['-co', `EXTENT=${tileExtent.join(',')},`],
104
+ ['-stats'],
90
105
  ['-tr', targetResolution, targetResolution],
91
106
  urlToString(sourceVrt),
92
107
  urlToString(targetTiff),
@@ -148,7 +163,7 @@ export function gdalBuildTopoRasterCommands(targetTiff, sourceVrt, opt, width, h
148
163
  ['-q'], // Supress non-error output
149
164
  ['-stats'], // Force stats (re)computation
150
165
  ['-of', 'COG'], // Output format
151
- ['-srcwin', '0', '0', `${width - DefaultTrimPixelRight}`, `${height}`],
166
+ ['-srcwin', 0, PixelTrimTop, width - PixelTrimRight, height - PixelTrimTop],
152
167
  ['-a_srs', `EPSG:${opt.sourceEpsg}`],
153
168
  // https://gdal.org/en/latest/drivers/raster/cog.html#creation-options
154
169
  ['-co', 'BIGTIFF=NO'],
@@ -172,4 +187,32 @@ export function gdalBuildTopoRasterCommands(targetTiff, sourceVrt, opt, width, h
172
187
  };
173
188
  return command;
174
189
  }
190
+ /**
191
+ * Standardized gdalwarp command for charts mapsheets
192
+ *
193
+ * Reproject the charts tif with the cutline applied.
194
+ */
195
+ export function gdalBuildChartsCommand(target, source, cutline, tileMatrix) {
196
+ return {
197
+ output: target,
198
+ command: 'gdalwarp',
199
+ args: [
200
+ ['-of', 'COG'],
201
+ '-multi',
202
+ ['-wo', 'NUM_THREADS=ALL_CPUS'],
203
+ ['-t_srs', tileMatrix.projection.toEpsgString()],
204
+ ['-b', '1', '-b', '2', '-b', '3'], // Drop dummy band 4 if it exists
205
+ ['-dstalpha'],
206
+ ['-cutline', urlToString(cutline)],
207
+ ['-crop_to_cutline'],
208
+ ['-co', 'BIGTIFF=NO'],
209
+ ['-r', 'bilinear'],
210
+ urlToString(source),
211
+ urlToString(target),
212
+ ]
213
+ .filter((f) => f != null)
214
+ .flat()
215
+ .map(String),
216
+ };
217
+ }
175
218
  //# sourceMappingURL=gdal.command.js.map