@basemaps/cli 6.46.0 → 7.1.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 (233) hide show
  1. package/README.md +10 -108
  2. package/build/cli/__tests__/util.test.d.ts +0 -1
  3. package/build/cli/__tests__/util.test.js +11 -10
  4. package/build/cli/__tests__/util.test.js.map +1 -1
  5. package/build/cli/bin.d.ts +0 -1
  6. package/build/cli/config/action.bundle.assets.d.ts +5 -7
  7. package/build/cli/config/action.bundle.assets.js +34 -21
  8. package/build/cli/config/action.bundle.assets.js.map +1 -1
  9. package/build/cli/config/action.bundle.d.ts +1 -1
  10. package/build/cli/config/action.bundle.js +40 -12
  11. package/build/cli/config/action.bundle.js.map +1 -1
  12. package/build/cli/config/action.import.d.ts +4 -9
  13. package/build/cli/config/action.import.js +131 -110
  14. package/build/cli/config/action.import.js.map +1 -1
  15. package/build/cli/config/config.diff.d.ts +2 -2
  16. package/build/cli/config/config.diff.js +6 -4
  17. package/build/cli/config/config.diff.js.map +1 -1
  18. package/build/cli/config/config.update.d.ts +3 -5
  19. package/build/cli/config/config.update.js +42 -7
  20. package/build/cli/config/config.update.js.map +1 -1
  21. package/build/cli/folder.d.ts +0 -1
  22. package/build/cli/folder.js +1 -2
  23. package/build/cli/folder.js.map +1 -1
  24. package/build/cli/index.d.ts +0 -2
  25. package/build/cli/index.js +2 -17
  26. package/build/cli/index.js.map +1 -1
  27. package/build/cli/server/action.serve.d.ts +0 -1
  28. package/build/cli/server/action.serve.js +27 -4
  29. package/build/cli/server/action.serve.js.map +1 -1
  30. package/build/cli/util.d.ts +3 -8
  31. package/build/cli/util.js +48 -55
  32. package/build/cli/util.js.map +1 -1
  33. package/package.json +20 -24
  34. package/CHANGELOG.md +0 -1589
  35. package/build/cli/__tests__/util.test.d.ts.map +0 -1
  36. package/build/cli/base.cli.d.ts +0 -1
  37. package/build/cli/base.cli.d.ts.map +0 -1
  38. package/build/cli/base.cli.js +0 -2
  39. package/build/cli/base.cli.js.map +0 -1
  40. package/build/cli/bin.d.ts.map +0 -1
  41. package/build/cli/cogify/__tests__/batch.job.test.d.ts +0 -2
  42. package/build/cli/cogify/__tests__/batch.job.test.d.ts.map +0 -1
  43. package/build/cli/cogify/__tests__/batch.job.test.js +0 -92
  44. package/build/cli/cogify/__tests__/batch.job.test.js.map +0 -1
  45. package/build/cli/cogify/__tests__/semver.test.d.ts +0 -2
  46. package/build/cli/cogify/__tests__/semver.test.d.ts.map +0 -1
  47. package/build/cli/cogify/__tests__/semver.test.js +0 -62
  48. package/build/cli/cogify/__tests__/semver.test.js.map +0 -1
  49. package/build/cli/cogify/action.cog.d.ts +0 -20
  50. package/build/cli/cogify/action.cog.d.ts.map +0 -1
  51. package/build/cli/cogify/action.cog.js +0 -198
  52. package/build/cli/cogify/action.cog.js.map +0 -1
  53. package/build/cli/cogify/action.job.d.ts +0 -28
  54. package/build/cli/cogify/action.job.d.ts.map +0 -1
  55. package/build/cli/cogify/action.job.js +0 -176
  56. package/build/cli/cogify/action.job.js.map +0 -1
  57. package/build/cli/cogify/action.make.cog.d.ts +0 -23
  58. package/build/cli/cogify/action.make.cog.d.ts.map +0 -1
  59. package/build/cli/cogify/action.make.cog.js +0 -218
  60. package/build/cli/cogify/action.make.cog.js.map +0 -1
  61. package/build/cli/cogify/action.make.cog.pr.d.ts +0 -25
  62. package/build/cli/cogify/action.make.cog.pr.d.ts.map +0 -1
  63. package/build/cli/cogify/action.make.cog.pr.js +0 -96
  64. package/build/cli/cogify/action.make.cog.pr.js.map +0 -1
  65. package/build/cli/cogify/batch.job.d.ts +0 -40
  66. package/build/cli/cogify/batch.job.d.ts.map +0 -1
  67. package/build/cli/cogify/batch.job.js +0 -205
  68. package/build/cli/cogify/batch.job.js.map +0 -1
  69. package/build/cli/cogify/cutline.d.ts +0 -5
  70. package/build/cli/cogify/cutline.d.ts.map +0 -1
  71. package/build/cli/cogify/cutline.js +0 -33
  72. package/build/cli/cogify/cutline.js.map +0 -1
  73. package/build/cli/cogify/semver.util.d.ts +0 -24
  74. package/build/cli/cogify/semver.util.d.ts.map +0 -1
  75. package/build/cli/cogify/semver.util.js +0 -56
  76. package/build/cli/cogify/semver.util.js.map +0 -1
  77. package/build/cli/config/action.bundle.assets.d.ts.map +0 -1
  78. package/build/cli/config/action.bundle.d.ts.map +0 -1
  79. package/build/cli/config/action.cog.mapsheet.d.ts +0 -12
  80. package/build/cli/config/action.cog.mapsheet.d.ts.map +0 -1
  81. package/build/cli/config/action.cog.mapsheet.js +0 -107
  82. package/build/cli/config/action.cog.mapsheet.js.map +0 -1
  83. package/build/cli/config/action.imagery.config.d.ts +0 -11
  84. package/build/cli/config/action.imagery.config.d.ts.map +0 -1
  85. package/build/cli/config/action.imagery.config.js +0 -142
  86. package/build/cli/config/action.imagery.config.js.map +0 -1
  87. package/build/cli/config/action.import.d.ts.map +0 -1
  88. package/build/cli/config/config.diff.d.ts.map +0 -1
  89. package/build/cli/config/config.update.d.ts.map +0 -1
  90. package/build/cli/folder.d.ts.map +0 -1
  91. package/build/cli/github/github.d.ts +0 -49
  92. package/build/cli/github/github.d.ts.map +0 -1
  93. package/build/cli/github/github.js +0 -107
  94. package/build/cli/github/github.js.map +0 -1
  95. package/build/cli/github/make.cog.pr.d.ts +0 -42
  96. package/build/cli/github/make.cog.pr.d.ts.map +0 -1
  97. package/build/cli/github/make.cog.pr.js +0 -173
  98. package/build/cli/github/make.cog.pr.js.map +0 -1
  99. package/build/cli/index.d.ts.map +0 -1
  100. package/build/cli/overview/__test__/wmts.overview.test.d.ts +0 -2
  101. package/build/cli/overview/__test__/wmts.overview.test.d.ts.map +0 -1
  102. package/build/cli/overview/__test__/wmts.overview.test.js +0 -24
  103. package/build/cli/overview/__test__/wmts.overview.test.js.map +0 -1
  104. package/build/cli/overview/action.create.overview.d.ts +0 -17
  105. package/build/cli/overview/action.create.overview.d.ts.map +0 -1
  106. package/build/cli/overview/action.create.overview.js +0 -174
  107. package/build/cli/overview/action.create.overview.js.map +0 -1
  108. package/build/cli/overview/overview.wmts.d.ts +0 -3
  109. package/build/cli/overview/overview.wmts.d.ts.map +0 -1
  110. package/build/cli/overview/overview.wmts.js +0 -29
  111. package/build/cli/overview/overview.wmts.js.map +0 -1
  112. package/build/cli/overview/tile.generator.d.ts +0 -13
  113. package/build/cli/overview/tile.generator.d.ts.map +0 -1
  114. package/build/cli/overview/tile.generator.js +0 -86
  115. package/build/cli/overview/tile.generator.js.map +0 -1
  116. package/build/cli/overview/timer.d.ts +0 -14
  117. package/build/cli/overview/timer.d.ts.map +0 -1
  118. package/build/cli/overview/timer.js +0 -21
  119. package/build/cli/overview/timer.js.map +0 -1
  120. package/build/cli/server/action.serve.d.ts.map +0 -1
  121. package/build/cli/sprites/action.sprites.d.ts +0 -11
  122. package/build/cli/sprites/action.sprites.d.ts.map +0 -1
  123. package/build/cli/sprites/action.sprites.js +0 -42
  124. package/build/cli/sprites/action.sprites.js.map +0 -1
  125. package/build/cli/util.d.ts.map +0 -1
  126. package/build/cog/__tests__/builder.test.d.ts +0 -2
  127. package/build/cog/__tests__/builder.test.d.ts.map +0 -1
  128. package/build/cog/__tests__/builder.test.js +0 -81
  129. package/build/cog/__tests__/builder.test.js.map +0 -1
  130. package/build/cog/__tests__/cog.stac.job.test.d.ts +0 -2
  131. package/build/cog/__tests__/cog.stac.job.test.d.ts.map +0 -1
  132. package/build/cog/__tests__/cog.stac.job.test.js +0 -319
  133. package/build/cog/__tests__/cog.stac.job.test.js.map +0 -1
  134. package/build/cog/__tests__/cog.test.d.ts +0 -2
  135. package/build/cog/__tests__/cog.test.d.ts.map +0 -1
  136. package/build/cog/__tests__/cog.test.js +0 -91
  137. package/build/cog/__tests__/cog.test.js.map +0 -1
  138. package/build/cog/__tests__/cog.vrt.test.d.ts +0 -2
  139. package/build/cog/__tests__/cog.vrt.test.d.ts.map +0 -1
  140. package/build/cog/__tests__/cog.vrt.test.js +0 -229
  141. package/build/cog/__tests__/cog.vrt.test.js.map +0 -1
  142. package/build/cog/__tests__/cutline.test.d.ts +0 -2
  143. package/build/cog/__tests__/cutline.test.d.ts.map +0 -1
  144. package/build/cog/__tests__/cutline.test.js +0 -300
  145. package/build/cog/__tests__/cutline.test.js.map +0 -1
  146. package/build/cog/__tests__/projection.loader.test.d.ts +0 -2
  147. package/build/cog/__tests__/projection.loader.test.d.ts.map +0 -1
  148. package/build/cog/__tests__/projection.loader.test.js +0 -27
  149. package/build/cog/__tests__/projection.loader.test.js.map +0 -1
  150. package/build/cog/__tests__/source.tiff.testhelper.d.ts +0 -8
  151. package/build/cog/__tests__/source.tiff.testhelper.d.ts.map +0 -1
  152. package/build/cog/__tests__/source.tiff.testhelper.js +0 -41
  153. package/build/cog/__tests__/source.tiff.testhelper.js.map +0 -1
  154. package/build/cog/builder.d.ts +0 -49
  155. package/build/cog/builder.d.ts.map +0 -1
  156. package/build/cog/builder.js +0 -177
  157. package/build/cog/builder.js.map +0 -1
  158. package/build/cog/cog.d.ts +0 -22
  159. package/build/cog/cog.d.ts.map +0 -1
  160. package/build/cog/cog.js +0 -72
  161. package/build/cog/cog.js.map +0 -1
  162. package/build/cog/cog.stac.job.d.ts +0 -106
  163. package/build/cog/cog.stac.job.d.ts.map +0 -1
  164. package/build/cog/cog.stac.job.js +0 -257
  165. package/build/cog/cog.stac.job.js.map +0 -1
  166. package/build/cog/cog.vrt.d.ts +0 -18
  167. package/build/cog/cog.vrt.d.ts.map +0 -1
  168. package/build/cog/cog.vrt.js +0 -102
  169. package/build/cog/cog.vrt.js.map +0 -1
  170. package/build/cog/constants.d.ts +0 -5
  171. package/build/cog/constants.d.ts.map +0 -1
  172. package/build/cog/constants.js +0 -5
  173. package/build/cog/constants.js.map +0 -1
  174. package/build/cog/cutline.d.ts +0 -75
  175. package/build/cog/cutline.d.ts.map +0 -1
  176. package/build/cog/cutline.js +0 -250
  177. package/build/cog/cutline.js.map +0 -1
  178. package/build/cog/job.factory.d.ts +0 -10
  179. package/build/cog/job.factory.d.ts.map +0 -1
  180. package/build/cog/job.factory.js +0 -92
  181. package/build/cog/job.factory.js.map +0 -1
  182. package/build/cog/projection.loader.d.ts +0 -13
  183. package/build/cog/projection.loader.d.ts.map +0 -1
  184. package/build/cog/projection.loader.js +0 -27
  185. package/build/cog/projection.loader.js.map +0 -1
  186. package/build/cog/stac.d.ts +0 -32
  187. package/build/cog/stac.d.ts.map +0 -1
  188. package/build/cog/stac.js +0 -3
  189. package/build/cog/stac.js.map +0 -1
  190. package/build/cog/types.d.ts +0 -83
  191. package/build/cog/types.d.ts.map +0 -1
  192. package/build/cog/types.js +0 -2
  193. package/build/cog/types.js.map +0 -1
  194. package/build/gdal/__tests__/gdal.progress.test.d.ts +0 -2
  195. package/build/gdal/__tests__/gdal.progress.test.d.ts.map +0 -1
  196. package/build/gdal/__tests__/gdal.progress.test.js +0 -22
  197. package/build/gdal/__tests__/gdal.progress.test.js.map +0 -1
  198. package/build/gdal/__tests__/gdal.test.d.ts +0 -2
  199. package/build/gdal/__tests__/gdal.test.d.ts.map +0 -1
  200. package/build/gdal/__tests__/gdal.test.js +0 -52
  201. package/build/gdal/__tests__/gdal.test.js.map +0 -1
  202. package/build/gdal/gdal.cog.d.ts +0 -42
  203. package/build/gdal/gdal.cog.d.ts.map +0 -1
  204. package/build/gdal/gdal.cog.js +0 -108
  205. package/build/gdal/gdal.cog.js.map +0 -1
  206. package/build/gdal/gdal.command.d.ts +0 -44
  207. package/build/gdal/gdal.command.d.ts.map +0 -1
  208. package/build/gdal/gdal.command.js +0 -87
  209. package/build/gdal/gdal.command.js.map +0 -1
  210. package/build/gdal/gdal.config.d.ts +0 -51
  211. package/build/gdal/gdal.config.d.ts.map +0 -1
  212. package/build/gdal/gdal.config.js +0 -23
  213. package/build/gdal/gdal.config.js.map +0 -1
  214. package/build/gdal/gdal.d.ts +0 -19
  215. package/build/gdal/gdal.d.ts.map +0 -1
  216. package/build/gdal/gdal.docker.d.ts +0 -18
  217. package/build/gdal/gdal.docker.d.ts.map +0 -1
  218. package/build/gdal/gdal.docker.js +0 -82
  219. package/build/gdal/gdal.docker.js.map +0 -1
  220. package/build/gdal/gdal.js +0 -28
  221. package/build/gdal/gdal.js.map +0 -1
  222. package/build/gdal/gdal.local.d.ts +0 -10
  223. package/build/gdal/gdal.local.d.ts.map +0 -1
  224. package/build/gdal/gdal.local.js +0 -22
  225. package/build/gdal/gdal.local.js.map +0 -1
  226. package/build/gdal/gdal.progress.d.ts +0 -16
  227. package/build/gdal/gdal.progress.d.ts.map +0 -1
  228. package/build/gdal/gdal.progress.js +0 -50
  229. package/build/gdal/gdal.progress.js.map +0 -1
  230. package/build/index.d.ts +0 -6
  231. package/build/index.d.ts.map +0 -1
  232. package/build/index.js +0 -6
  233. package/build/index.js.map +0 -1
@@ -1,52 +0,0 @@
1
- import o from 'ospec';
2
- import { GdalCogBuilder } from '../gdal.cog.js';
3
- import { normalizeAwsEnv } from '../gdal.command.js';
4
- import { GdalCogBuilderDefaults } from '../gdal.config.js';
5
- import { GdalDocker } from '../gdal.docker.js';
6
- o.spec('GdalCogBuilder', () => {
7
- o('should default all options', () => {
8
- const builder = new GdalCogBuilder('/foo', 'bar.tiff');
9
- o(builder.config.bbox).equals(undefined);
10
- o(builder.config.compression).equals('webp');
11
- o(builder.config.resampling).deepEquals({ warp: 'bilinear', overview: 'lanczos' });
12
- o(builder.config.blockSize).equals(512);
13
- o(builder.config.alignmentLevels).equals(1);
14
- o(builder.config).deepEquals({ ...GdalCogBuilderDefaults, bbox: undefined });
15
- });
16
- o('should create a docker command', () => {
17
- const builder = new GdalCogBuilder('/foo/foo.tiff', '/bar/bar.tiff');
18
- const args = builder.args;
19
- o(args.includes('TILING_SCHEME=GoogleMapsCompatible')).equals(true);
20
- o(args.includes('COMPRESS=webp')).equals(true);
21
- o(builder.args.includes('BLOCKSIZE=512')).equals(true);
22
- builder.config.compression = 'jpeg';
23
- o(builder.args.includes('COMPRESS=jpeg')).equals(true);
24
- builder.config.blockSize = 256;
25
- o(builder.args.includes('BLOCKSIZE=256')).equals(true);
26
- });
27
- o('should mount folders', () => {
28
- const gdalDocker = new GdalDocker();
29
- gdalDocker.mount('/foo/bar');
30
- o(gdalDocker.mounts).deepEquals(['/foo']);
31
- });
32
- o('should not duplicate folders', () => {
33
- const gdalDocker = new GdalDocker();
34
- gdalDocker.mount('/foo/bar.html');
35
- gdalDocker.mount('/foo/bar.tiff');
36
- o(gdalDocker.mounts).deepEquals(['/foo']);
37
- });
38
- o('should ignore s3 uris', () => {
39
- const gdalDocker = new GdalDocker();
40
- gdalDocker.mount('s3://foo/bar.html');
41
- gdalDocker.mount('s3://foo/bar.tiff');
42
- o(gdalDocker.mounts).deepEquals([]);
43
- });
44
- o('should normalize aws environment vars', () => {
45
- const env = normalizeAwsEnv({ AWS_PROFILE: 'lake' });
46
- o(env).deepEquals({ AWS_PROFILE: 'lake', AWS_DEFAULT_PROFILE: 'lake' });
47
- });
48
- o('should error if aws config is not sane', () => {
49
- o(() => normalizeAwsEnv({ AWS_PROFILE: 'lake', AWS_DEFAULT_PROFILE: 'other-lake' })).throws(Error);
50
- });
51
- });
52
- //# sourceMappingURL=gdal.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.test.js","sourceRoot":"","sources":["../../../src/gdal/__tests__/gdal.test.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /// <reference types="node" />
2
- import { LogType } from '@basemaps/shared';
3
- import { ChildProcessWithoutNullStreams } from 'child_process';
4
- import { GdalCommand } from './gdal.command.js';
5
- import { GdalCogBuilderOptions } from './gdal.config.js';
6
- /** 1% Buffer to the tiff to help prevent gaps between tiles */
7
- /**
8
- * A docker based GDAL Cog Builder
9
- *
10
- * This uses the new 3.1 COG Driver https://gdal.org/drivers/raster/cog.html
11
- *
12
- * When GDAL 3.1 is released docker could be removed from this process.
13
- */
14
- export declare class GdalCogBuilder {
15
- config: GdalCogBuilderOptions;
16
- /**
17
- * Source file generally a .vrt
18
- */
19
- source: string;
20
- /**
21
- * Output file
22
- */
23
- target: string;
24
- /**
25
- * Current running child process
26
- */
27
- child: ChildProcessWithoutNullStreams | null;
28
- /**
29
- * Promise waiting for child process to finish
30
- */
31
- promise: Promise<void> | null;
32
- /** When the process started */
33
- startTime: number;
34
- /** Gdal process */
35
- gdal: GdalCommand;
36
- constructor(source: string, target: string, config?: Partial<GdalCogBuilderOptions>);
37
- getBounds(): string[];
38
- get tileMatrixFileName(): string;
39
- get args(): string[];
40
- convert(log: LogType): Promise<void>;
41
- }
42
- //# sourceMappingURL=gdal.cog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.cog.d.ts","sourceRoot":"","sources":["../../src/gdal/gdal.cog.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAA0B,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEjF,+DAA+D;AAG/D;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC7C;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,IAAI,EAAE,WAAW,CAAC;gBAEN,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAmBvF,SAAS,IAAI,MAAM,EAAE;IAYrB,IAAI,kBAAkB,IAAI,MAAM,CAO/B;IAED,IAAI,IAAI,IAAI,MAAM,EAAE,CAuDnB;IAEK,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3C"}
@@ -1,108 +0,0 @@
1
- import { GoogleTms, Nztm2000Tms } from '@basemaps/geo';
2
- import { Gdal } from './gdal.js';
3
- import { GdalCogBuilderDefaults } from './gdal.config.js';
4
- /** 1% Buffer to the tiff to help prevent gaps between tiles */
5
- // const TiffBuffer = 1.01;
6
- /**
7
- * A docker based GDAL Cog Builder
8
- *
9
- * This uses the new 3.1 COG Driver https://gdal.org/drivers/raster/cog.html
10
- *
11
- * When GDAL 3.1 is released docker could be removed from this process.
12
- */
13
- export class GdalCogBuilder {
14
- constructor(source, target, config = {}) {
15
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
16
- this.source = source;
17
- this.target = target;
18
- this.config = {
19
- bbox: config.bbox,
20
- alignmentLevels: (_a = config.alignmentLevels) !== null && _a !== void 0 ? _a : GdalCogBuilderDefaults.alignmentLevels,
21
- compression: (_b = config.compression) !== null && _b !== void 0 ? _b : GdalCogBuilderDefaults.compression,
22
- tileMatrix: (_c = config.tileMatrix) !== null && _c !== void 0 ? _c : GdalCogBuilderDefaults.tileMatrix,
23
- resampling: (_d = config.resampling) !== null && _d !== void 0 ? _d : GdalCogBuilderDefaults.resampling,
24
- blockSize: (_e = config.blockSize) !== null && _e !== void 0 ? _e : GdalCogBuilderDefaults.blockSize,
25
- targetRes: (_f = config.targetRes) !== null && _f !== void 0 ? _f : GdalCogBuilderDefaults.targetRes,
26
- quality: (_g = config.quality) !== null && _g !== void 0 ? _g : GdalCogBuilderDefaults.quality,
27
- };
28
- this.gdal = Gdal.create();
29
- (_j = (_h = this.gdal).mount) === null || _j === void 0 ? void 0 : _j.call(_h, source);
30
- (_l = (_k = this.gdal).mount) === null || _l === void 0 ? void 0 : _l.call(_k, target);
31
- }
32
- getBounds() {
33
- if (this.config.bbox == null) {
34
- return [];
35
- }
36
- // TODO in theory this should be clamped to the lower right of the imagery, as there is no point generating large empty tiffs
37
- const [ulX, ulY, lrX, lrY] = this.config.bbox;
38
- return ['-projwin', ulX, ulY, lrX, lrY, '-projwin_srs', this.config.tileMatrix.projection.toEpsgString()].map(String);
39
- }
40
- get tileMatrixFileName() {
41
- const tileMatrix = this.config.tileMatrix;
42
- // Gdal built in TileMatrixSets
43
- if (tileMatrix.identifier === GoogleTms.identifier)
44
- return 'GoogleMapsCompatible';
45
- if (tileMatrix.identifier === Nztm2000Tms.identifier)
46
- return 'NZTM2000';
47
- return 'https://raw.githubusercontent.com/linz/NZTM2000TileMatrixSet/master/raw/NZTM2000Quad.json';
48
- }
49
- get args() {
50
- const tr = this.config.targetRes.toString();
51
- return [
52
- // Force output using COG Driver
53
- '-of',
54
- 'COG',
55
- // Force GoogleMaps tiling
56
- '-co',
57
- `TILING_SCHEME=${this.tileMatrixFileName}`,
58
- // Max CPU POWER
59
- '-co',
60
- 'NUM_THREADS=ALL_CPUS',
61
- // in GDAL 3.7.x NUM_THREADS will also set GDAL_NUM_THREADS
62
- '--config',
63
- 'GDAL_NUM_THREADS',
64
- 'ALL_CPUS',
65
- // Force big tiff the extra few bytes savings of using little tiffs does not affect us
66
- '-co',
67
- 'BIGTIFF=YES',
68
- // Force a alpha layer
69
- '-co',
70
- 'ADD_ALPHA=YES',
71
- // User configured output block size
72
- '-co',
73
- `BLOCKSIZE=${this.config.blockSize}`,
74
- // Configured resampling methods
75
- '-co',
76
- `WARP_RESAMPLING=${this.config.resampling.warp}`,
77
- '-co',
78
- `OVERVIEW_RESAMPLING=${this.config.resampling.overview}`,
79
- // User configured compression
80
- '-co',
81
- `COMPRESS=${this.config.compression}`,
82
- // Number of levels to align to web mercator
83
- '-co',
84
- `ALIGNED_LEVELS=${this.config.alignmentLevels}`,
85
- // Default quality of 75 is too low for our needs
86
- '-co',
87
- `QUALITY=${this.config.quality}`,
88
- // most of the imagery contains a lot of empty tiles, no need to output them
89
- '-co',
90
- `SPARSE_OK=YES`,
91
- // Do not attempt to read sidecar files
92
- '--config',
93
- `GDAL_DISABLE_READDIR_ON_OPEN`,
94
- `EMPTY_DIR`,
95
- // Force a target resolution to be better than the imagery not worse
96
- '-tr',
97
- tr,
98
- tr,
99
- ...this.getBounds(),
100
- this.source,
101
- this.target,
102
- ];
103
- }
104
- async convert(log) {
105
- await this.gdal.run('gdal_translate', this.args, log);
106
- }
107
- }
108
- //# sourceMappingURL=gdal.cog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.cog.js","sourceRoot":"","sources":["../../src/gdal/gdal.cog.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /// <reference types="node" />
2
- import { LogType } from '@basemaps/shared';
3
- import { ChildProcessWithoutNullStreams } from 'child_process';
4
- import { GdalProgressParser } from './gdal.progress.js';
5
- /**
6
- * GDAL uses AWS_DEFAULT_PROFILE while node uses AWS_PROFILE
7
- * this validates the configuration is sane
8
- *
9
- * @param env environment to normalize
10
- */
11
- export declare function normalizeAwsEnv(env: Record<string, string | undefined>): Record<string, string | undefined>;
12
- export interface GdalCredentials {
13
- needsRefresh(): boolean;
14
- refreshPromise(): Promise<void>;
15
- accessKeyId: string;
16
- secretAccessKey: string;
17
- sessionToken: string;
18
- }
19
- export declare abstract class GdalCommand {
20
- parser?: GdalProgressParser;
21
- protected child: ChildProcessWithoutNullStreams;
22
- protected promise?: Promise<{
23
- stdout: string;
24
- stderr: string;
25
- }>;
26
- protected startTime: number;
27
- /** AWS Access */
28
- protected credentials?: GdalCredentials;
29
- mount?(mount: string): void;
30
- env?(): Promise<Record<string, string | undefined>>;
31
- /** Pass AWS credentials into the container */
32
- setCredentials(credentials?: GdalCredentials): void;
33
- /**
34
- * Run a GDAL command
35
- * @param cmd command to run eg "gdal_translate"
36
- * @param args command arguments
37
- * @param log logger to use
38
- */
39
- run(cmd: string, args: string[], log: LogType): Promise<{
40
- stdout: string;
41
- stderr: string;
42
- }>;
43
- }
44
- //# sourceMappingURL=gdal.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.command.d.ts","sourceRoot":"","sources":["../../src/gdal/gdal.command.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAS,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAY3G;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,IAAI,OAAO,CAAC;IACxB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,8BAAsB,WAAW;IAC/B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,KAAK,EAAE,8BAA8B,CAAC;IAChD,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAE5B,kBAAkB;IAClB,SAAS,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IAExC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC3B,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAEnD,8CAA8C;IAC9C,cAAc,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,IAAI;IAInD;;;;;OAKG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CA4DlG"}
@@ -1,87 +0,0 @@
1
- import { spawn } from 'child_process';
2
- /**
3
- * GDAL uses AWS_DEFAULT_PROFILE while node uses AWS_PROFILE
4
- * this validates the configuration is sane
5
- *
6
- * @param env environment to normalize
7
- */
8
- export function normalizeAwsEnv(env) {
9
- const awsProfile = env['AWS_PROFILE'];
10
- const awsDefaultProfile = env['AWS_DEFAULT_PROFILE'];
11
- if (awsProfile == null)
12
- return env;
13
- if (awsDefaultProfile == null) {
14
- return { ...env, AWS_DEFAULT_PROFILE: awsProfile };
15
- }
16
- if (awsDefaultProfile !== awsProfile) {
17
- throw new Error(`$AWS_PROFILE: "${awsProfile}" and $AWS_DEFAULT_PROFILE: "${awsDefaultProfile}" are mismatched`);
18
- }
19
- return env;
20
- }
21
- export class GdalCommand {
22
- /** Pass AWS credentials into the container */
23
- setCredentials(credentials) {
24
- this.credentials = credentials;
25
- }
26
- /**
27
- * Run a GDAL command
28
- * @param cmd command to run eg "gdal_translate"
29
- * @param args command arguments
30
- * @param log logger to use
31
- */
32
- async run(cmd, args, log) {
33
- var _a;
34
- if (this.promise != null)
35
- throw new Error('Cannot create multiple gdal processes, create a new GdalCommand');
36
- (_a = this.parser) === null || _a === void 0 ? void 0 : _a.reset();
37
- this.startTime = Date.now();
38
- const env = normalizeAwsEnv(this.env ? await this.env() : process.env);
39
- const child = spawn(cmd, args, { env });
40
- this.child = child;
41
- const outputBuff = [];
42
- const errBuff = [];
43
- child.stderr.on('data', (data) => {
44
- const buf = data.toString();
45
- /**
46
- * Example error line
47
- * `ERROR 1: TIFFReadEncodedTile:Read error at row 4294967295, col 4294967295; got 49005 bytes, expected 49152`
48
- */
49
- if (buf.includes('ERROR 1')) {
50
- log.error({ data: buf }, 'GdalError');
51
- }
52
- else {
53
- log.warn({ data: buf }, 'GdalWarn');
54
- }
55
- errBuff.push(data);
56
- });
57
- child.stdout.on('data', (data) => {
58
- var _a;
59
- outputBuff.push(data);
60
- (_a = this.parser) === null || _a === void 0 ? void 0 : _a.data(data);
61
- });
62
- this.promise = new Promise((resolve, reject) => {
63
- child.on('exit', (code) => {
64
- const stdout = outputBuff.join('').trim();
65
- const stderr = errBuff.join('').trim();
66
- const duration = Date.now() - this.startTime;
67
- if (code !== 0) {
68
- log.error({ code, stdout, stderr, duration }, 'GdalFailed');
69
- return reject(new Error('Failed to execute GDAL command'));
70
- }
71
- log.trace({ stdout, stderr, duration }, 'GdalDone');
72
- this.promise = undefined;
73
- return resolve({ stdout, stderr });
74
- });
75
- child.on('error', (error) => {
76
- const stdout = outputBuff.join('').trim();
77
- const stderr = errBuff.join('').trim();
78
- const duration = Date.now() - this.startTime;
79
- log.error({ stdout, stderr, duration }, 'GdalFailed');
80
- this.promise = undefined;
81
- reject(error);
82
- });
83
- });
84
- return this.promise;
85
- }
86
- }
87
- //# sourceMappingURL=gdal.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.command.js","sourceRoot":"","sources":["../../src/gdal/gdal.command.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- import { TileMatrixSet } from '@basemaps/geo';
2
- import { BBox } from '@linzjs/geojson';
3
- export type GdalCogBuilderOptionsResampling = 'nearest' | 'bilinear' | 'cubic' | 'cubicspline' | 'lanczos' | 'average' | 'mode';
4
- export interface GdalCogBuilderResampling {
5
- /**
6
- * Resampling for warping
7
- * @default 'bilinear'
8
- */
9
- warp: GdalCogBuilderOptionsResampling;
10
- /**
11
- * Resampling for overview
12
- * @default 'lanczos'
13
- */
14
- overview: GdalCogBuilderOptionsResampling;
15
- }
16
- export interface GdalCogBuilderOptions {
17
- /**
18
- * How to align levels
19
- */
20
- tileMatrix: TileMatrixSet;
21
- /**
22
- * Number of aligned tile levels
23
- * @default 1
24
- */
25
- alignmentLevels: number;
26
- /** Limit the output to a bounding box
27
- */
28
- bbox?: BBox;
29
- /**
30
- * Compression to use for the cog
31
- * @default 'webp'
32
- */
33
- compression: 'webp' | 'jpeg';
34
- /**
35
- * Resampling methods to use
36
- */
37
- resampling: GdalCogBuilderResampling;
38
- /**
39
- * Output tile size
40
- * @default 512
41
- */
42
- blockSize: number;
43
- targetRes: number;
44
- /**
45
- * Compression quality
46
- */
47
- quality: number;
48
- }
49
- export declare const GdalCogBuilderDefaults: GdalCogBuilderOptions;
50
- export declare const GdalResamplingOptions: Record<string, GdalCogBuilderOptionsResampling>;
51
- //# sourceMappingURL=gdal.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.config.d.ts","sourceRoot":"","sources":["../../src/gdal/gdal.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,MAAM,+BAA+B,GACvC,SAAS,GACT,UAAU,GACV,OAAO,GACP,aAAa,GACb,SAAS,GACT,SAAS,GACT,MAAM,CAAC;AAEX,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,IAAI,EAAE,+BAA+B,CAAC;IACtC;;;OAGG;IACH,QAAQ,EAAE,+BAA+B,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,UAAU,EAAE,aAAa,CAAC;IAC1B;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;OACG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAE7B;;OAEG;IACH,UAAU,EAAE,wBAAwB,CAAC;IACrC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,sBAAsB,EAAE,qBAWpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAQjF,CAAC"}
@@ -1,23 +0,0 @@
1
- import { GoogleTms } from '@basemaps/geo';
2
- export const GdalCogBuilderDefaults = {
3
- resampling: {
4
- warp: 'bilinear',
5
- overview: 'lanczos',
6
- },
7
- compression: 'webp',
8
- tileMatrix: GoogleTms,
9
- alignmentLevels: 1,
10
- targetRes: 0,
11
- blockSize: 512,
12
- quality: 90,
13
- };
14
- export const GdalResamplingOptions = {
15
- nearest: 'nearest',
16
- bilinear: 'bilinear',
17
- cubic: 'cubic',
18
- cubicspline: 'cubicspline',
19
- lanczos: 'lanczos',
20
- average: 'average',
21
- mode: 'mode',
22
- };
23
- //# sourceMappingURL=gdal.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.config.js","sourceRoot":"","sources":["../../src/gdal/gdal.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,eAAe,CAAC;AAgEzD,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC3D,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,SAAS;KACpB;IACD,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,SAAS;IACrB,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAoD;IACpF,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACb,CAAC"}
@@ -1,19 +0,0 @@
1
- import { LogType } from '@basemaps/shared';
2
- import { GdalCommand } from './gdal.command.js';
3
- export declare class Gdal {
4
- /**
5
- * Create a new GdalCommand instance ready to run commands
6
- *
7
- * This could be a local or docker container depending on environment variables
8
- * @see Env.Gdal.UseDocker
9
- */
10
- static create(): GdalCommand;
11
- /**
12
- * Run a `gdal_translate --version` to extract the current gdal version
13
- *
14
- * @example "GDAL 2.4.2, released 2019/06/28"
15
- * @example "GDAL 3.2.0dev-69b0c4ec4174fde36c609a4aac6f4281424021b3, released 2020/06/26"
16
- */
17
- static version(logger: LogType): Promise<string>;
18
- }
19
- //# sourceMappingURL=gdal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.d.ts","sourceRoot":"","sources":["../../src/gdal/gdal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,qBAAa,IAAI;IACf;;;;;OAKG;IACH,MAAM,CAAC,MAAM,IAAI,WAAW;IAK5B;;;;;OAKG;WACU,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAKvD"}
@@ -1,18 +0,0 @@
1
- import { LogType } from '@basemaps/shared';
2
- import { GdalCommand } from './gdal.command.js';
3
- export declare class GdalDocker extends GdalCommand {
4
- mounts: string[];
5
- constructor();
6
- mount(filePath: string): void;
7
- private getMounts;
8
- private getCredentials;
9
- /** this could contain sensitive info like AWS access keys */
10
- private getDockerArgs;
11
- /** Provide redacted argument string for logging which removes sensitive information */
12
- maskArgs(args: string[]): string[];
13
- run(cmd: string, args: string[], log: LogType): Promise<{
14
- stdout: string;
15
- stderr: string;
16
- }>;
17
- }
18
- //# sourceMappingURL=gdal.docker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.docker.d.ts","sourceRoot":"","sources":["../../src/gdal/gdal.docker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,UAAW,SAAQ,WAAW;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;;IAOjB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ7B,OAAO,CAAC,SAAS;YAYH,cAAc;IAiB5B,6DAA6D;YAC/C,aAAa;IAoB3B,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAO5B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAalG"}
@@ -1,82 +0,0 @@
1
- import { Env } from '@basemaps/shared';
2
- import * as os from 'os';
3
- import * as path from 'path';
4
- import { GdalCommand } from './gdal.command.js';
5
- export class GdalDocker extends GdalCommand {
6
- constructor() {
7
- super();
8
- this.mounts = [];
9
- }
10
- mount(filePath) {
11
- if (filePath.startsWith('s3://'))
12
- return;
13
- const basePath = path.dirname(filePath);
14
- if (this.mounts.includes(basePath))
15
- return;
16
- this.mounts.push(basePath);
17
- }
18
- getMounts() {
19
- if (this.mounts.length === 0) {
20
- return [];
21
- }
22
- const output = [];
23
- for (const mount of this.mounts) {
24
- output.push('-v');
25
- output.push(`${mount}:${mount}`);
26
- }
27
- return output;
28
- }
29
- async getCredentials() {
30
- if (this.credentials == null) {
31
- return [];
32
- }
33
- if (this.credentials.needsRefresh()) {
34
- await this.credentials.refreshPromise();
35
- }
36
- return [
37
- '--env',
38
- `AWS_ACCESS_KEY_ID=${this.credentials.accessKeyId}`,
39
- '--env',
40
- `AWS_SECRET_ACCESS_KEY=${this.credentials.secretAccessKey}`,
41
- '--env',
42
- `AWS_SESSION_TOKEN=${this.credentials.sessionToken}`,
43
- ];
44
- }
45
- /** this could contain sensitive info like AWS access keys */
46
- async getDockerArgs() {
47
- var _a, _b;
48
- const DOCKER_CONTAINER = (_a = Env.get(Env.Gdal.DockerContainer)) !== null && _a !== void 0 ? _a : 'ghcr.io/osgeo/gdal';
49
- const DOCKER_CONTAINER_TAG = (_b = Env.get(Env.Gdal.DockerContainerTag)) !== null && _b !== void 0 ? _b : 'ubuntu-small-3.7.0';
50
- const userInfo = os.userInfo();
51
- const credentials = await this.getCredentials();
52
- return [
53
- 'run',
54
- // Config the container to be run as the current user
55
- '--user',
56
- `${userInfo.uid}:${userInfo.gid}`,
57
- ...this.getMounts(),
58
- ...credentials,
59
- // Docker container
60
- '-i',
61
- `${DOCKER_CONTAINER}:${DOCKER_CONTAINER_TAG}`,
62
- ];
63
- }
64
- /** Provide redacted argument string for logging which removes sensitive information */
65
- maskArgs(args) {
66
- const cred = this.credentials;
67
- if (cred == null)
68
- return args;
69
- return args.map((c) => c.replace(cred.secretAccessKey, '****').replace(cred.sessionToken, '****'));
70
- }
71
- async run(cmd, args, log) {
72
- const dockerArgs = await this.getDockerArgs();
73
- log.debug({
74
- mounts: this.mounts,
75
- cmd,
76
- docker: this.maskArgs(dockerArgs).join(' '),
77
- gdalArgs: args.slice(0, 50).join(' '),
78
- }, 'StartGdal:Docker');
79
- return super.run('docker', [...dockerArgs, cmd, ...args], log);
80
- }
81
- }
82
- //# sourceMappingURL=gdal.docker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.docker.js","sourceRoot":"","sources":["../../src/gdal/gdal.docker.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { Env } from '@basemaps/shared';
2
- import { GdalDocker } from './gdal.docker.js';
3
- import { GdalLocal } from './gdal.local.js';
4
- export class Gdal {
5
- /**
6
- * Create a new GdalCommand instance ready to run commands
7
- *
8
- * This could be a local or docker container depending on environment variables
9
- * @see Env.Gdal.UseDocker
10
- */
11
- static create() {
12
- if (Env.get(Env.Gdal.UseDocker))
13
- return new GdalDocker();
14
- return new GdalLocal();
15
- }
16
- /**
17
- * Run a `gdal_translate --version` to extract the current gdal version
18
- *
19
- * @example "GDAL 2.4.2, released 2019/06/28"
20
- * @example "GDAL 3.2.0dev-69b0c4ec4174fde36c609a4aac6f4281424021b3, released 2020/06/26"
21
- */
22
- static async version(logger) {
23
- const gdal = Gdal.create();
24
- const { stdout } = await gdal.run('gdal_translate', ['--version'], logger);
25
- return stdout;
26
- }
27
- }
28
- //# sourceMappingURL=gdal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.js","sourceRoot":"","sources":["../../src/gdal/gdal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,OAAO,IAAI;IACf;;;;;OAKG;IACH,MAAM,CAAC,MAAM;QACX,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,UAAU,EAAE,CAAC;QACzD,OAAO,IAAI,SAAS,EAAE,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAe;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { LogType } from '@basemaps/shared';
2
- import { GdalCommand } from './gdal.command.js';
3
- export declare class GdalLocal extends GdalCommand {
4
- env(): Promise<Record<string, string | undefined>>;
5
- run(cmd: string, args: string[], log: LogType): Promise<{
6
- stdout: string;
7
- stderr: string;
8
- }>;
9
- }
10
- //# sourceMappingURL=gdal.local.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gdal.local.d.ts","sourceRoot":"","sources":["../../src/gdal/gdal.local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,SAAU,SAAQ,WAAW;IAClC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAelD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAIlG"}