@basemaps/cli 6.46.0 → 7.0.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.
- package/CHANGELOG.md +23 -0
- package/README.md +10 -108
- package/build/cli/config/action.bundle.d.ts.map +1 -1
- package/build/cli/config/action.bundle.js +2 -4
- package/build/cli/config/action.bundle.js.map +1 -1
- package/build/cli/config/action.import.d.ts +3 -3
- package/build/cli/config/action.import.d.ts.map +1 -1
- package/build/cli/config/action.import.js.map +1 -1
- package/build/cli/index.d.ts.map +1 -1
- package/build/cli/index.js +4 -13
- package/build/cli/index.js.map +1 -1
- package/build/cli/overview/action.create.overview.d.ts +2 -0
- package/build/cli/overview/action.create.overview.d.ts.map +1 -1
- package/build/cli/overview/action.create.overview.js +5 -1
- package/build/cli/overview/action.create.overview.js.map +1 -1
- package/build/cli/util.d.ts +1 -6
- package/build/cli/util.d.ts.map +1 -1
- package/build/cli/util.js +19 -27
- package/build/cli/util.js.map +1 -1
- package/build/cog/builder.d.ts +1 -1
- package/build/cog/builder.d.ts.map +1 -1
- package/build/cog/builder.js +1 -1
- package/build/cog/builder.js.map +1 -1
- package/build/cog/cutline.d.ts +1 -1
- package/build/cog/cutline.d.ts.map +1 -1
- package/build/cog/cutline.js +1 -1
- package/build/cog/cutline.js.map +1 -1
- package/package.json +10 -15
- package/build/cli/base.cli.d.ts +0 -1
- package/build/cli/base.cli.d.ts.map +0 -1
- package/build/cli/base.cli.js +0 -2
- package/build/cli/base.cli.js.map +0 -1
- package/build/cli/cogify/__tests__/batch.job.test.d.ts +0 -2
- package/build/cli/cogify/__tests__/batch.job.test.d.ts.map +0 -1
- package/build/cli/cogify/__tests__/batch.job.test.js +0 -92
- package/build/cli/cogify/__tests__/batch.job.test.js.map +0 -1
- package/build/cli/cogify/__tests__/semver.test.d.ts +0 -2
- package/build/cli/cogify/__tests__/semver.test.d.ts.map +0 -1
- package/build/cli/cogify/__tests__/semver.test.js +0 -62
- package/build/cli/cogify/__tests__/semver.test.js.map +0 -1
- package/build/cli/cogify/action.cog.d.ts +0 -20
- package/build/cli/cogify/action.cog.d.ts.map +0 -1
- package/build/cli/cogify/action.cog.js +0 -198
- package/build/cli/cogify/action.cog.js.map +0 -1
- package/build/cli/cogify/action.job.d.ts +0 -28
- package/build/cli/cogify/action.job.d.ts.map +0 -1
- package/build/cli/cogify/action.job.js +0 -176
- package/build/cli/cogify/action.job.js.map +0 -1
- package/build/cli/cogify/action.make.cog.d.ts +0 -23
- package/build/cli/cogify/action.make.cog.d.ts.map +0 -1
- package/build/cli/cogify/action.make.cog.js +0 -218
- package/build/cli/cogify/action.make.cog.js.map +0 -1
- package/build/cli/cogify/action.make.cog.pr.d.ts +0 -25
- package/build/cli/cogify/action.make.cog.pr.d.ts.map +0 -1
- package/build/cli/cogify/action.make.cog.pr.js +0 -96
- package/build/cli/cogify/action.make.cog.pr.js.map +0 -1
- package/build/cli/cogify/batch.job.d.ts +0 -40
- package/build/cli/cogify/batch.job.d.ts.map +0 -1
- package/build/cli/cogify/batch.job.js +0 -205
- package/build/cli/cogify/batch.job.js.map +0 -1
- package/build/cli/cogify/cutline.d.ts +0 -5
- package/build/cli/cogify/cutline.d.ts.map +0 -1
- package/build/cli/cogify/cutline.js +0 -33
- package/build/cli/cogify/cutline.js.map +0 -1
- package/build/cli/cogify/semver.util.d.ts +0 -24
- package/build/cli/cogify/semver.util.d.ts.map +0 -1
- package/build/cli/cogify/semver.util.js +0 -56
- package/build/cli/cogify/semver.util.js.map +0 -1
- package/build/cli/config/action.cog.mapsheet.d.ts +0 -12
- package/build/cli/config/action.cog.mapsheet.d.ts.map +0 -1
- package/build/cli/config/action.cog.mapsheet.js +0 -107
- package/build/cli/config/action.cog.mapsheet.js.map +0 -1
- package/build/cli/github/github.d.ts +0 -49
- package/build/cli/github/github.d.ts.map +0 -1
- package/build/cli/github/github.js +0 -107
- package/build/cli/github/github.js.map +0 -1
- package/build/cli/github/make.cog.pr.d.ts +0 -42
- package/build/cli/github/make.cog.pr.d.ts.map +0 -1
- package/build/cli/github/make.cog.pr.js +0 -173
- package/build/cli/github/make.cog.pr.js.map +0 -1
- package/build/cli/sprites/action.sprites.d.ts +0 -11
- package/build/cli/sprites/action.sprites.d.ts.map +0 -1
- package/build/cli/sprites/action.sprites.js +0 -42
- package/build/cli/sprites/action.sprites.js.map +0 -1
- package/build/cog/__tests__/builder.test.d.ts +0 -2
- package/build/cog/__tests__/builder.test.d.ts.map +0 -1
- package/build/cog/__tests__/builder.test.js +0 -81
- package/build/cog/__tests__/builder.test.js.map +0 -1
- package/build/cog/__tests__/cog.stac.job.test.d.ts +0 -2
- package/build/cog/__tests__/cog.stac.job.test.d.ts.map +0 -1
- package/build/cog/__tests__/cog.stac.job.test.js +0 -319
- package/build/cog/__tests__/cog.stac.job.test.js.map +0 -1
- package/build/cog/__tests__/cog.test.d.ts +0 -2
- package/build/cog/__tests__/cog.test.d.ts.map +0 -1
- package/build/cog/__tests__/cog.test.js +0 -91
- package/build/cog/__tests__/cog.test.js.map +0 -1
- package/build/cog/__tests__/cog.vrt.test.d.ts +0 -2
- package/build/cog/__tests__/cog.vrt.test.d.ts.map +0 -1
- package/build/cog/__tests__/cog.vrt.test.js +0 -229
- package/build/cog/__tests__/cog.vrt.test.js.map +0 -1
- package/build/cog/__tests__/cutline.test.d.ts +0 -2
- package/build/cog/__tests__/cutline.test.d.ts.map +0 -1
- package/build/cog/__tests__/cutline.test.js +0 -300
- package/build/cog/__tests__/cutline.test.js.map +0 -1
- package/build/cog/__tests__/projection.loader.test.d.ts +0 -2
- package/build/cog/__tests__/projection.loader.test.d.ts.map +0 -1
- package/build/cog/__tests__/projection.loader.test.js +0 -27
- package/build/cog/__tests__/projection.loader.test.js.map +0 -1
- package/build/cog/__tests__/source.tiff.testhelper.d.ts +0 -8
- package/build/cog/__tests__/source.tiff.testhelper.d.ts.map +0 -1
- package/build/cog/__tests__/source.tiff.testhelper.js +0 -41
- package/build/cog/__tests__/source.tiff.testhelper.js.map +0 -1
- package/build/cog/cog.d.ts +0 -22
- package/build/cog/cog.d.ts.map +0 -1
- package/build/cog/cog.js +0 -72
- package/build/cog/cog.js.map +0 -1
- package/build/cog/cog.stac.job.d.ts +0 -106
- package/build/cog/cog.stac.job.d.ts.map +0 -1
- package/build/cog/cog.stac.job.js +0 -257
- package/build/cog/cog.stac.job.js.map +0 -1
- package/build/cog/cog.vrt.d.ts +0 -18
- package/build/cog/cog.vrt.d.ts.map +0 -1
- package/build/cog/cog.vrt.js +0 -102
- package/build/cog/cog.vrt.js.map +0 -1
- package/build/cog/constants.d.ts +0 -5
- package/build/cog/constants.d.ts.map +0 -1
- package/build/cog/constants.js +0 -5
- package/build/cog/constants.js.map +0 -1
- package/build/cog/job.factory.d.ts +0 -10
- package/build/cog/job.factory.d.ts.map +0 -1
- package/build/cog/job.factory.js +0 -92
- package/build/cog/job.factory.js.map +0 -1
- package/build/cog/projection.loader.d.ts +0 -13
- package/build/cog/projection.loader.d.ts.map +0 -1
- package/build/cog/projection.loader.js +0 -27
- package/build/cog/projection.loader.js.map +0 -1
- package/build/cog/stac.d.ts +0 -32
- package/build/cog/stac.d.ts.map +0 -1
- package/build/cog/stac.js +0 -3
- package/build/cog/stac.js.map +0 -1
- package/build/cog/types.d.ts +0 -83
- package/build/cog/types.d.ts.map +0 -1
- package/build/cog/types.js +0 -2
- package/build/cog/types.js.map +0 -1
- package/build/gdal/__tests__/gdal.progress.test.d.ts +0 -2
- package/build/gdal/__tests__/gdal.progress.test.d.ts.map +0 -1
- package/build/gdal/__tests__/gdal.progress.test.js +0 -22
- package/build/gdal/__tests__/gdal.progress.test.js.map +0 -1
- package/build/gdal/__tests__/gdal.test.d.ts +0 -2
- package/build/gdal/__tests__/gdal.test.d.ts.map +0 -1
- package/build/gdal/__tests__/gdal.test.js +0 -52
- package/build/gdal/__tests__/gdal.test.js.map +0 -1
- package/build/gdal/gdal.cog.d.ts +0 -42
- package/build/gdal/gdal.cog.d.ts.map +0 -1
- package/build/gdal/gdal.cog.js +0 -108
- package/build/gdal/gdal.cog.js.map +0 -1
- package/build/gdal/gdal.command.d.ts +0 -44
- package/build/gdal/gdal.command.d.ts.map +0 -1
- package/build/gdal/gdal.command.js +0 -87
- package/build/gdal/gdal.command.js.map +0 -1
- package/build/gdal/gdal.config.d.ts +0 -51
- package/build/gdal/gdal.config.d.ts.map +0 -1
- package/build/gdal/gdal.config.js +0 -23
- package/build/gdal/gdal.config.js.map +0 -1
- package/build/gdal/gdal.d.ts +0 -19
- package/build/gdal/gdal.d.ts.map +0 -1
- package/build/gdal/gdal.docker.d.ts +0 -18
- package/build/gdal/gdal.docker.d.ts.map +0 -1
- package/build/gdal/gdal.docker.js +0 -82
- package/build/gdal/gdal.docker.js.map +0 -1
- package/build/gdal/gdal.js +0 -28
- package/build/gdal/gdal.js.map +0 -1
- package/build/gdal/gdal.local.d.ts +0 -10
- package/build/gdal/gdal.local.d.ts.map +0 -1
- package/build/gdal/gdal.local.js +0 -22
- package/build/gdal/gdal.local.js.map +0 -1
- package/build/gdal/gdal.progress.d.ts +0 -16
- package/build/gdal/gdal.progress.d.ts.map +0 -1
- package/build/gdal/gdal.progress.js +0 -50
- package/build/gdal/gdal.progress.js.map +0 -1
- package/build/index.d.ts +0 -6
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -6
- package/build/index.js.map +0 -1
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { LogType } from '@basemaps/shared';
|
|
2
|
-
import Batch from 'aws-sdk/clients/batch.js';
|
|
3
|
-
import { CogJob } from '../../cog/types.js';
|
|
4
|
-
/**
|
|
5
|
-
* Attempt to parse a resolution from a imagery name
|
|
6
|
-
* @example `wellington_urban_2017_0.10m` -> 100
|
|
7
|
-
* @param name Imagery name to parse
|
|
8
|
-
* @returns resolution (millimeters), -1 for failure to parse
|
|
9
|
-
*/
|
|
10
|
-
export declare function extractResolutionFromName(name: string): number;
|
|
11
|
-
export declare class BatchJob {
|
|
12
|
-
static _batch: Batch;
|
|
13
|
-
static get batch(): Batch;
|
|
14
|
-
/**
|
|
15
|
-
* Create a id for a job
|
|
16
|
-
*
|
|
17
|
-
* This needs to be within `[a-Z_-]` upto 128 characters log
|
|
18
|
-
* @param job job to process
|
|
19
|
-
* @param fileNames output filename
|
|
20
|
-
* @returns job id
|
|
21
|
-
*/
|
|
22
|
-
static id(job: CogJob, fileNames?: string[]): string;
|
|
23
|
-
static batchOne(jobPath: string, job: CogJob, names: string[], isCommit: boolean): Promise<{
|
|
24
|
-
jobName: string;
|
|
25
|
-
jobId: string;
|
|
26
|
-
memory: number;
|
|
27
|
-
}>;
|
|
28
|
-
/**
|
|
29
|
-
* List all the current jobs in batch and their statuses
|
|
30
|
-
* @returns a map of JobName to if their status is "ok" (not failed)
|
|
31
|
-
*/
|
|
32
|
-
static getCurrentJobList(job: CogJob, logger: LogType): Promise<Set<string>>;
|
|
33
|
-
static batchJob(job: CogJob, commit: boolean | undefined, logger: LogType): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Prepare the jobs from job files, and chunk the small images into single
|
|
36
|
-
* @returns List of jobs including single job and chunk jobs.
|
|
37
|
-
*/
|
|
38
|
-
static getJobs(job: CogJob, existing: Set<string>, log: LogType, maxChunkUnit?: number): string[][];
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=batch.job.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batch.job.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/batch.job.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,MAAM,0BAA0B,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAa5C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,qBAAa,QAAQ;IACnB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACrB,MAAM,KAAK,KAAK,IAAI,KAAK,CAKxB;IACD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;WAQvC,QAAQ,CACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAmC9D;;;OAGG;WACU,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;WA0CrE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,qBAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA+ClF;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,SAAc,GAAG,MAAM,EAAE,EAAE;CAmCzG"}
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { Projection, TileMatrixSet } from '@basemaps/geo';
|
|
2
|
-
import { Env, fsa, LogConfig } from '@basemaps/shared';
|
|
3
|
-
import Batch from 'aws-sdk/clients/batch.js';
|
|
4
|
-
import { createHash } from 'crypto';
|
|
5
|
-
import { basename } from 'path';
|
|
6
|
-
const JobQueue = 'CogBatchJobQueue';
|
|
7
|
-
const JobDefinition = 'CogBatchJob';
|
|
8
|
-
const ChunkJobMax = 2000;
|
|
9
|
-
const ChunkLargeUnit = 200; // Up to 10 large files in one job
|
|
10
|
-
const ChunkMiddleUnit = 50; // Up to 40 middle files in one job
|
|
11
|
-
const ChunkSmallUnit = 20; // Up to 100 small files in one job
|
|
12
|
-
/** The base alignment level used by GDAL, Tiffs that are bigger or smaller than this should scale the compute resources */
|
|
13
|
-
const MagicAlignmentLevel = 7;
|
|
14
|
-
const ResolutionRegex = /((?:\d[\.\-])?\d+)m/;
|
|
15
|
-
/**
|
|
16
|
-
* Attempt to parse a resolution from a imagery name
|
|
17
|
-
* @example `wellington_urban_2017_0.10m` -> 100
|
|
18
|
-
* @param name Imagery name to parse
|
|
19
|
-
* @returns resolution (millimeters), -1 for failure to parse
|
|
20
|
-
*/
|
|
21
|
-
export function extractResolutionFromName(name) {
|
|
22
|
-
const matches = name.match(ResolutionRegex);
|
|
23
|
-
if (matches == null)
|
|
24
|
-
return -1;
|
|
25
|
-
return parseFloat(matches[1].replace('-', '.')) * 1000;
|
|
26
|
-
}
|
|
27
|
-
export class BatchJob {
|
|
28
|
-
static get batch() {
|
|
29
|
-
var _a, _b;
|
|
30
|
-
if (this._batch)
|
|
31
|
-
return this._batch;
|
|
32
|
-
const region = (_b = (_a = Env.get('AWS_REGION')) !== null && _a !== void 0 ? _a : Env.get('AWS_DEFAULT_REGION')) !== null && _b !== void 0 ? _b : 'ap-southeast-2';
|
|
33
|
-
this._batch = new Batch({ region });
|
|
34
|
-
return this._batch;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Create a id for a job
|
|
38
|
-
*
|
|
39
|
-
* This needs to be within `[a-Z_-]` upto 128 characters log
|
|
40
|
-
* @param job job to process
|
|
41
|
-
* @param fileNames output filename
|
|
42
|
-
* @returns job id
|
|
43
|
-
*/
|
|
44
|
-
static id(job, fileNames) {
|
|
45
|
-
// Job names are uncontrolled so hash the name and grab a small slice to use as a identifier
|
|
46
|
-
const jobName = createHash('sha256').update(job.name).digest('hex').slice(0, 16);
|
|
47
|
-
if (fileNames == null)
|
|
48
|
-
return `${job.id}-${jobName}-`;
|
|
49
|
-
fileNames.sort((a, b) => a.localeCompare(b));
|
|
50
|
-
return `${job.id}-${jobName}-${fileNames.length}x-${fileNames.join('_')}`.slice(0, 128);
|
|
51
|
-
}
|
|
52
|
-
static async batchOne(jobPath, job, names, isCommit) {
|
|
53
|
-
const jobName = BatchJob.id(job, names);
|
|
54
|
-
let memory = 3900;
|
|
55
|
-
if (names.length === 1) {
|
|
56
|
-
// Calculate the larger file to provision memory if there is only one imagery in job.
|
|
57
|
-
const tile = TileMatrixSet.nameToTile(names[0]);
|
|
58
|
-
const alignmentLevels = Projection.findAlignmentLevels(job.tileMatrix, tile, job.source.gsd);
|
|
59
|
-
// Give 25% more memory to larger jobs
|
|
60
|
-
const resDiff = 1 + Math.max(alignmentLevels - MagicAlignmentLevel, 0) * 0.25;
|
|
61
|
-
memory *= resDiff;
|
|
62
|
-
}
|
|
63
|
-
if (!isCommit) {
|
|
64
|
-
return { jobName, jobId: '', memory };
|
|
65
|
-
}
|
|
66
|
-
let commandStr = ['-V', 'cog', '--job', jobPath, '--commit'];
|
|
67
|
-
for (const name of names)
|
|
68
|
-
commandStr = commandStr.concat(['--name', name]);
|
|
69
|
-
const batchJob = await this.batch
|
|
70
|
-
.submitJob({
|
|
71
|
-
jobName,
|
|
72
|
-
jobQueue: JobQueue,
|
|
73
|
-
jobDefinition: JobDefinition,
|
|
74
|
-
containerOverrides: {
|
|
75
|
-
memory,
|
|
76
|
-
command: commandStr,
|
|
77
|
-
},
|
|
78
|
-
retryStrategy: { attempts: 3 },
|
|
79
|
-
})
|
|
80
|
-
.promise();
|
|
81
|
-
return { jobName, jobId: batchJob.jobId, memory };
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* List all the current jobs in batch and their statuses
|
|
85
|
-
* @returns a map of JobName to if their status is "ok" (not failed)
|
|
86
|
-
*/
|
|
87
|
-
static async getCurrentJobList(job, logger) {
|
|
88
|
-
var _a;
|
|
89
|
-
const jobPrefix = BatchJob.id(job);
|
|
90
|
-
// For some reason AWS only lets us query one status at a time.
|
|
91
|
-
const allStatuses = ['SUBMITTED', 'PENDING', 'RUNNABLE', 'STARTING', 'RUNNING' /* 'SUCCEEDED' */];
|
|
92
|
-
// Succeeded is not needed as we check to see if the output file exists, if it succeeds and the output file doesn't exist then something has gone wrong
|
|
93
|
-
const allJobs = await Promise.all(allStatuses.map((jobStatus) => this.batch.listJobs({ jobQueue: JobQueue, jobStatus }).promise()));
|
|
94
|
-
const jobIds = new Set();
|
|
95
|
-
// Find all the relevant jobs that start with our job prefix
|
|
96
|
-
for (const status of allJobs) {
|
|
97
|
-
for (const job of status.jobSummaryList) {
|
|
98
|
-
if (!job.jobName.startsWith(jobPrefix))
|
|
99
|
-
continue;
|
|
100
|
-
jobIds.add(job.jobId);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
// Inspect all the jobs for what files are being "processed"
|
|
104
|
-
const tiffs = new Set();
|
|
105
|
-
let allJobIds = [...jobIds];
|
|
106
|
-
while (allJobIds.length > 0) {
|
|
107
|
-
logger.info({ jobCount: allJobIds.length }, 'JobFetch');
|
|
108
|
-
const jobList = allJobIds.slice(0, 100);
|
|
109
|
-
allJobIds = allJobIds.slice(100);
|
|
110
|
-
const describedJobs = await this.batch.describeJobs({ jobs: jobList }).promise();
|
|
111
|
-
if (describedJobs.jobs == null)
|
|
112
|
-
continue;
|
|
113
|
-
for (const job of describedJobs.jobs) {
|
|
114
|
-
const jobCommand = (_a = job.container) === null || _a === void 0 ? void 0 : _a.command;
|
|
115
|
-
if (jobCommand == null)
|
|
116
|
-
continue;
|
|
117
|
-
// Extract the tiff names from the job command
|
|
118
|
-
for (let i = 0; i < jobCommand.length; i++) {
|
|
119
|
-
if (jobCommand[i] === '--name')
|
|
120
|
-
tiffs.add(jobCommand[i + 1]);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return tiffs;
|
|
125
|
-
}
|
|
126
|
-
static async batchJob(job, commit = false, logger) {
|
|
127
|
-
const jobPath = job.getJobPath('job.json');
|
|
128
|
-
if (!jobPath.startsWith('s3://')) {
|
|
129
|
-
throw new Error(`AWS Batch collection.json have to be in S3, jobPath:${jobPath}`);
|
|
130
|
-
}
|
|
131
|
-
LogConfig.set(logger.child({ correlationId: job.id, imageryName: job.name }));
|
|
132
|
-
fsa.configure(job.output.location);
|
|
133
|
-
// Get all the existing output tiffs
|
|
134
|
-
const existTiffs = new Set();
|
|
135
|
-
for await (const fileName of fsa.list(job.getJobPath())) {
|
|
136
|
-
if (fileName.endsWith('.tiff'))
|
|
137
|
-
existTiffs.add(basename(fileName));
|
|
138
|
-
}
|
|
139
|
-
const runningJobs = await this.getCurrentJobList(job, logger);
|
|
140
|
-
for (const tiffName of runningJobs)
|
|
141
|
-
existTiffs.add(`${tiffName}.tiff`);
|
|
142
|
-
// Prepare chunk job and individual jobs based on imagery size.
|
|
143
|
-
const jobs = await this.getJobs(job, existTiffs, logger);
|
|
144
|
-
if (jobs.length === 0) {
|
|
145
|
-
logger.info('NoJobs');
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
logger.info({
|
|
149
|
-
jobTotal: job.output.files.length,
|
|
150
|
-
jobLeft: jobs.length,
|
|
151
|
-
jobQueue: JobQueue,
|
|
152
|
-
jobDefinition: JobDefinition,
|
|
153
|
-
}, 'JobSubmit');
|
|
154
|
-
for (const names of jobs) {
|
|
155
|
-
const jobStatus = await BatchJob.batchOne(jobPath, job, names, commit);
|
|
156
|
-
logger.info(jobStatus, 'JobSubmitted');
|
|
157
|
-
}
|
|
158
|
-
if (!commit) {
|
|
159
|
-
logger.warn('DryRun:Done');
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Prepare the jobs from job files, and chunk the small images into single
|
|
165
|
-
* @returns List of jobs including single job and chunk jobs.
|
|
166
|
-
*/
|
|
167
|
-
static getJobs(job, existing, log, maxChunkUnit = ChunkJobMax) {
|
|
168
|
-
const jobs = [];
|
|
169
|
-
let chunkJob = [];
|
|
170
|
-
let chunkUnit = 0; // Calculate the chunkUnit based on the size
|
|
171
|
-
for (const file of job.output.files) {
|
|
172
|
-
const outputFile = `${file.name}.tiff`;
|
|
173
|
-
if (existing.has(outputFile)) {
|
|
174
|
-
log.debug({ fileName: outputFile }, 'Skip:Exists');
|
|
175
|
-
continue;
|
|
176
|
-
}
|
|
177
|
-
const imageSize = file.width / job.output.gsd;
|
|
178
|
-
if (imageSize > 16385) {
|
|
179
|
-
chunkJob.push(file.name);
|
|
180
|
-
chunkUnit += ChunkJobMax;
|
|
181
|
-
}
|
|
182
|
-
else if (imageSize > 8193) {
|
|
183
|
-
chunkJob.push(file.name);
|
|
184
|
-
chunkUnit += ChunkLargeUnit;
|
|
185
|
-
}
|
|
186
|
-
else if (imageSize > 4097) {
|
|
187
|
-
chunkJob.push(file.name);
|
|
188
|
-
chunkUnit += ChunkMiddleUnit;
|
|
189
|
-
}
|
|
190
|
-
else {
|
|
191
|
-
chunkJob.push(file.name);
|
|
192
|
-
chunkUnit += ChunkSmallUnit;
|
|
193
|
-
}
|
|
194
|
-
if (chunkUnit >= maxChunkUnit) {
|
|
195
|
-
jobs.push(chunkJob);
|
|
196
|
-
chunkJob = [];
|
|
197
|
-
chunkUnit = 0;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
if (chunkJob.length > 0)
|
|
201
|
-
jobs.push(chunkJob);
|
|
202
|
-
return jobs;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
//# sourceMappingURL=batch.job.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batch.job.js","sourceRoot":"","sources":["../../../src/cli/cogify/batch.job.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cutline.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/cutline.ts"],"names":[],"mappings":"AA+BA,wBAAgB,UAAU,CAAC,WAAW,SAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAExF"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
const UrbanRuralCutLine = {
|
|
2
|
-
href: 's3://linz-basemaps-source/cutline/2020-05-07-cutline-nz-coasts-rural-and-urban.geojson',
|
|
3
|
-
blend: 20,
|
|
4
|
-
};
|
|
5
|
-
const DefaultCutlines = [
|
|
6
|
-
{
|
|
7
|
-
filter: 'sentinel',
|
|
8
|
-
cutline: { href: 's3://linz-basemaps-source/cutline/2020-05-12-cutline-nz-ci.geojson.gz', blend: 5 },
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
filter: 'chatham',
|
|
12
|
-
cutline: { href: 's3://linz-basemaps-source/cutline/2020-05-12-cutline-nz-ci.geojson.gz', blend: 5 },
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
filter: 'geographx',
|
|
16
|
-
cutline: {
|
|
17
|
-
href: 's3://linz-basemaps-source/cutline/2021-11-10-cutline-51153-nz-coastlines-and-islands-polygons-topo-150k.geojson.gz',
|
|
18
|
-
blend: 0,
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
filter: 'topo50',
|
|
23
|
-
cutline: { href: 's3://linz-basemaps-source/cutline/2020-08-10-cutline-topo50.geojson.gz', blend: 0 },
|
|
24
|
-
},
|
|
25
|
-
{ filter: 'satellite', cutline: UrbanRuralCutLine },
|
|
26
|
-
{ filter: 'urban', cutline: UrbanRuralCutLine },
|
|
27
|
-
{ filter: 'rural', cutline: UrbanRuralCutLine },
|
|
28
|
-
];
|
|
29
|
-
export function getCutline(imageryName = '') {
|
|
30
|
-
var _a;
|
|
31
|
-
return (_a = DefaultCutlines.find((f) => imageryName.toLowerCase().includes(f.filter))) === null || _a === void 0 ? void 0 : _a.cutline;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=cutline.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cutline.js","sourceRoot":"","sources":["../../../src/cli/cogify/cutline.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,wFAAwF;IAC9F,KAAK,EAAE,EAAE;CACV,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB;QACE,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,EAAE,IAAI,EAAE,uEAAuE,EAAE,KAAK,EAAE,CAAC,EAAE;KACrG;IACD;QACE,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,EAAE,IAAI,EAAE,uEAAuE,EAAE,KAAK,EAAE,CAAC,EAAE;KACrG;IACD;QACE,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,oHAAoH;YAC1H,KAAK,EAAE,CAAC;SACT;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,EAAE,IAAI,EAAE,wEAAwE,EAAE,KAAK,EAAE,CAAC,EAAE;KACtG;IAED,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE;IACnD,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;IAC/C,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE;CAChD,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,WAAW,GAAG,EAAE;;IACzC,OAAO,MAAA,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,0CAAE,OAAO,CAAC;AAC5F,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export declare const SemVer: {
|
|
2
|
-
/**
|
|
3
|
-
* Encode a semver string into a number
|
|
4
|
-
* @example
|
|
5
|
-
* '0.0.1' => 1
|
|
6
|
-
* 'v0.1.0' => 1024
|
|
7
|
-
* @param v version to encode
|
|
8
|
-
*/
|
|
9
|
-
toNumber(v: string): number;
|
|
10
|
-
/**
|
|
11
|
-
* Decoded a number encoded semver
|
|
12
|
-
* @example 1 => '0.0.1'
|
|
13
|
-
* @param v version to decode
|
|
14
|
-
*/
|
|
15
|
-
fromNumber(v: number): string;
|
|
16
|
-
/**
|
|
17
|
-
* Compare two semver's
|
|
18
|
-
* @param vA version A
|
|
19
|
-
* @param vB version B
|
|
20
|
-
* @returns 0 if equal, >0 if vA > vB, <0 otherwise
|
|
21
|
-
*/
|
|
22
|
-
compare(vA: string, vB: string): number;
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=semver.util.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"semver.util.d.ts","sourceRoot":"","sources":["../../../src/cli/cogify/semver.util.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM;IACjB;;;;;;OAMG;gBACS,MAAM,GAAG,MAAM;IAmB3B;;;;OAIG;kBACW,MAAM,GAAG,MAAM;IAO7B;;;;;OAKG;gBACS,MAAM,MAAM,MAAM,GAAG,MAAM;CAGxC,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/** major.minor.patch */
|
|
2
|
-
const MaxLength = 3;
|
|
3
|
-
/** fits into a int32 with out forcing a uint conversion */
|
|
4
|
-
const EncodeBits = 10;
|
|
5
|
-
/** Max size for a single semver number (1024) */
|
|
6
|
-
const MaxEncode = 2 ** EncodeBits - 1;
|
|
7
|
-
export const SemVer = {
|
|
8
|
-
/**
|
|
9
|
-
* Encode a semver string into a number
|
|
10
|
-
* @example
|
|
11
|
-
* '0.0.1' => 1
|
|
12
|
-
* 'v0.1.0' => 1024
|
|
13
|
-
* @param v version to encode
|
|
14
|
-
*/
|
|
15
|
-
toNumber(v) {
|
|
16
|
-
if (v.startsWith('v'))
|
|
17
|
-
v = v.slice(1);
|
|
18
|
-
const chunks = v.split('.');
|
|
19
|
-
if (chunks.length > MaxLength)
|
|
20
|
-
throw new Error(`Failed to parse semver "${v}" too long`);
|
|
21
|
-
let output = 0;
|
|
22
|
-
for (let i = 0; i < chunks.length; i++) {
|
|
23
|
-
const chunk = chunks[i];
|
|
24
|
-
if (chunk === '')
|
|
25
|
-
break;
|
|
26
|
-
const num = parseInt(chunk);
|
|
27
|
-
if (isNaN(num))
|
|
28
|
-
throw new Error(`Failed to parse semver "${v}"`);
|
|
29
|
-
if (num > MaxEncode)
|
|
30
|
-
throw new Error(`Failed to parse semver "${v}" ${chunk} is too large`);
|
|
31
|
-
output |= num << ((MaxLength - i - 1) * EncodeBits);
|
|
32
|
-
}
|
|
33
|
-
return output;
|
|
34
|
-
},
|
|
35
|
-
/**
|
|
36
|
-
* Decoded a number encoded semver
|
|
37
|
-
* @example 1 => '0.0.1'
|
|
38
|
-
* @param v version to decode
|
|
39
|
-
*/
|
|
40
|
-
fromNumber(v) {
|
|
41
|
-
const major = (v >> 20) & MaxEncode;
|
|
42
|
-
const minor = (v >> 10) & MaxEncode;
|
|
43
|
-
const patch = v & MaxEncode;
|
|
44
|
-
return `${major}.${minor}.${patch}`;
|
|
45
|
-
},
|
|
46
|
-
/**
|
|
47
|
-
* Compare two semver's
|
|
48
|
-
* @param vA version A
|
|
49
|
-
* @param vB version B
|
|
50
|
-
* @returns 0 if equal, >0 if vA > vB, <0 otherwise
|
|
51
|
-
*/
|
|
52
|
-
compare(vA, vB) {
|
|
53
|
-
return SemVer.toNumber(vA) - SemVer.toNumber(vB);
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=semver.util.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"semver.util.js","sourceRoot":"","sources":["../../../src/cli/cogify/semver.util.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,2DAA2D;AAC3D,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,iDAAiD;AACjD,MAAM,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,CAAS;QAChB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;QAEzF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,EAAE;gBAAE,MAAM;YAExB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,GAAG,GAAG,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC;YAE5F,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;SACrD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,CAAS;QAClB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;QACpC,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC;QAC5B,OAAO,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,EAAU,EAAE,EAAU;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;CACF,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
2
|
-
export declare class CommandCogMapSheet extends CommandLineAction {
|
|
3
|
-
private path;
|
|
4
|
-
private config;
|
|
5
|
-
private output;
|
|
6
|
-
private include;
|
|
7
|
-
private exclude;
|
|
8
|
-
constructor();
|
|
9
|
-
protected onDefineParameters(): void;
|
|
10
|
-
onExecute(): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=action.cog.mapsheet.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.cog.mapsheet.d.ts","sourceRoot":"","sources":["../../../src/cli/config/action.cog.mapsheet.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,4BAA4B,CAAC;AAS3F,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA6B;;IAU5C,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAiC9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CA2DjC"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { ConfigProviderMemory } from '@basemaps/config';
|
|
2
|
-
import { Bounds } from '@basemaps/geo';
|
|
3
|
-
import { fsa, LogConfig } from '@basemaps/shared';
|
|
4
|
-
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
5
|
-
import * as fgb from 'flatgeobuf/lib/mjs/geojson.js';
|
|
6
|
-
export class CommandCogMapSheet extends CommandLineAction {
|
|
7
|
-
constructor() {
|
|
8
|
-
super({
|
|
9
|
-
actionName: 'create-mapsheet',
|
|
10
|
-
summary: 'Create a cog mapsheet from provided flatgeobuf',
|
|
11
|
-
documentation: 'Given a valid path of raw imagery and create a config bundle file',
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
onDefineParameters() {
|
|
15
|
-
this.path = this.defineStringParameter({
|
|
16
|
-
argumentName: 'PATH',
|
|
17
|
-
parameterLongName: '--path',
|
|
18
|
-
description: 'Path of flatgeobuf, this can be both a local path or s3 location',
|
|
19
|
-
required: true,
|
|
20
|
-
});
|
|
21
|
-
this.config = this.defineStringParameter({
|
|
22
|
-
argumentName: 'CONFIG',
|
|
23
|
-
parameterLongName: '--config',
|
|
24
|
-
description: 'Path of basemaps config json, this can be both a local path or s3 location',
|
|
25
|
-
required: true,
|
|
26
|
-
});
|
|
27
|
-
this.output = this.defineStringParameter({
|
|
28
|
-
argumentName: 'OUTPUT',
|
|
29
|
-
parameterLongName: '--output',
|
|
30
|
-
description: 'Output of the mapsheet file',
|
|
31
|
-
required: true,
|
|
32
|
-
});
|
|
33
|
-
this.include = this.defineStringParameter({
|
|
34
|
-
argumentName: 'INCLUDE',
|
|
35
|
-
parameterLongName: '--include',
|
|
36
|
-
description: 'Include the layers with the pattern in the layer name.',
|
|
37
|
-
required: false,
|
|
38
|
-
});
|
|
39
|
-
this.exclude = this.defineStringParameter({
|
|
40
|
-
argumentName: 'EXCLUDE',
|
|
41
|
-
parameterLongName: '--exclude',
|
|
42
|
-
description: 'Exclude the layers with the pattern in the layer name.',
|
|
43
|
-
required: false,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
async onExecute() {
|
|
47
|
-
const logger = LogConfig.get();
|
|
48
|
-
const path = this.path.value;
|
|
49
|
-
if (path == null)
|
|
50
|
-
throw new Error('Please provide valid a fgb path.');
|
|
51
|
-
const config = this.config.value;
|
|
52
|
-
if (config == null)
|
|
53
|
-
throw new Error('Please provide valid a config path.');
|
|
54
|
-
const include = this.include.value ? new RegExp(this.include.value.toLowerCase(), 'i') : undefined;
|
|
55
|
-
const exclude = this.exclude.value ? new RegExp(this.exclude.value.toLowerCase(), 'i') : undefined;
|
|
56
|
-
const outputPath = this.output.value;
|
|
57
|
-
if (outputPath == null)
|
|
58
|
-
throw new Error('Please provide valid a output path.');
|
|
59
|
-
logger.info({ path }, 'MapSheet:LoadFgb');
|
|
60
|
-
const buf = await fsa.read(path);
|
|
61
|
-
logger.info({ config }, 'MapSheet:LoadConfig');
|
|
62
|
-
const configJson = await fsa.readJson(config);
|
|
63
|
-
const men = ConfigProviderMemory.fromJson(configJson);
|
|
64
|
-
const rest = fgb.deserialize(buf);
|
|
65
|
-
const aerial = await men.TileSet.get('ts_aerial');
|
|
66
|
-
if (aerial == null)
|
|
67
|
-
throw new Error('Invalid config file.');
|
|
68
|
-
const layers = aerial.layers.filter((c) => c[2193] != null && (c.maxZoom == null || c.maxZoom > 19) && (c.minZoom == null || c.minZoom < 32));
|
|
69
|
-
const imageryIds = new Set();
|
|
70
|
-
for (const layer of layers) {
|
|
71
|
-
if (exclude && exclude.test(layer.name))
|
|
72
|
-
continue;
|
|
73
|
-
if (include && !include.test(layer.name))
|
|
74
|
-
continue;
|
|
75
|
-
if (layer[2193] != null)
|
|
76
|
-
imageryIds.add(layer[2193]);
|
|
77
|
-
}
|
|
78
|
-
const imagery = await men.Imagery.getAll(imageryIds);
|
|
79
|
-
const output = [];
|
|
80
|
-
logger.info({ path, config }, 'MapSheet:CreateMapSheet');
|
|
81
|
-
for (const feature of rest.features) {
|
|
82
|
-
if (feature.properties == null)
|
|
83
|
-
continue;
|
|
84
|
-
const sheetCode = feature.properties.sheet_code_id;
|
|
85
|
-
const current = { sheetCode, files: [] };
|
|
86
|
-
output.push(current);
|
|
87
|
-
const bounds = Bounds.fromMultiPolygon(feature.geometry.coordinates);
|
|
88
|
-
for (const layer of layers) {
|
|
89
|
-
if (layer[2193] == null)
|
|
90
|
-
continue;
|
|
91
|
-
const img = imagery.get(layer[2193]);
|
|
92
|
-
if (img == null)
|
|
93
|
-
continue;
|
|
94
|
-
if (img.bounds == null || Bounds.fromJson(img.bounds).intersects(bounds)) {
|
|
95
|
-
for (const file of img.files) {
|
|
96
|
-
if (bounds.intersects(Bounds.fromJson(file))) {
|
|
97
|
-
current.files.push(`${img.uri}/${file.name}.tiff`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
logger.info({ outputPath }, 'MapSheet:WriteOutput');
|
|
104
|
-
fsa.write(outputPath, JSON.stringify(output, null, 2));
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=action.cog.mapsheet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action.cog.mapsheet.js","sourceRoot":"","sources":["../../../src/cli/config/action.cog.mapsheet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { LogType } from '@basemaps/shared';
|
|
2
|
-
import { Api } from '@octokit/plugin-rest-endpoint-methods/dist-types/types.js';
|
|
3
|
-
export declare class Github {
|
|
4
|
-
repo: string;
|
|
5
|
-
org: string;
|
|
6
|
-
logger: LogType;
|
|
7
|
-
repoName: string;
|
|
8
|
-
octokit: Api;
|
|
9
|
-
constructor(repo: string, logger: LogType);
|
|
10
|
-
isOk: (s: number) => boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Clone the repository
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
clone(): void;
|
|
16
|
-
/**
|
|
17
|
-
* Get branch by name if exists, or create a new branch by name.
|
|
18
|
-
*
|
|
19
|
-
* @returns {branch} github references or the new created branch
|
|
20
|
-
*/
|
|
21
|
-
getBranch(branch: string): string;
|
|
22
|
-
/**
|
|
23
|
-
* Config github user email and user name
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
configUser(): void;
|
|
27
|
-
/**
|
|
28
|
-
* Commit the changes to current branch
|
|
29
|
-
*
|
|
30
|
-
*/
|
|
31
|
-
add(paths: string[]): void;
|
|
32
|
-
/**
|
|
33
|
-
* Commit the changes to current branch
|
|
34
|
-
*
|
|
35
|
-
*/
|
|
36
|
-
commit(message: string): void;
|
|
37
|
-
/**
|
|
38
|
-
* Push the local brach
|
|
39
|
-
*
|
|
40
|
-
*/
|
|
41
|
-
push(): void;
|
|
42
|
-
/**
|
|
43
|
-
* Create pull request
|
|
44
|
-
* This needs to use github API to create Pull request by access token.
|
|
45
|
-
*
|
|
46
|
-
*/
|
|
47
|
-
createPullRequests(branch: string, title: string, draft: boolean): Promise<number>;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=github.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/cli/github/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,2DAA2D,CAAC;AAGhF,qBAAa,MAAM;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAazC,IAAI,MAAO,MAAM,KAAG,OAAO,CAAyB;IAEpD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAajC;;;OAGG;IACH,UAAU,IAAI,IAAI;IASlB;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAO1B;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK7B;;;OAGG;IACH,IAAI,IAAI,IAAI;IAKZ;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAczF"}
|