Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

44 linhas
1.2 KiB

  1. #!/usr/bin/env node
  2. import {program} from "commander";
  3. import {readFileSync} from "fs";
  4. import {dirname, resolve} from "path";
  5. import {fileURLToPath} from "url";
  6. import {geoStitch} from "../src/index.js";
  7. import read from "./read.js";
  8. import write from "./write.js";
  9. const version = JSON.parse(readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), "../package.json"))).version;
  10. const options = program
  11. .version(version)
  12. .usage("[options] [file]")
  13. .description("Stitch equirectangular GeoJSON in degrees, removing antimeridian and polar cuts.")
  14. .option("-o, --out <file>", "output file name; defaults to “-” for stdout", "-")
  15. .option("-n, --newline-delimited", "use newline-delimited JSON")
  16. .parse(process.argv)
  17. .opts();
  18. if (program.args.length === 0) program.args[0] = "-";
  19. else if (program.args.length !== 1) {
  20. console.error();
  21. console.error(" error: multiple input files");
  22. console.error();
  23. process.exit(1);
  24. }
  25. var reader = read(program.args[0], options.newlineDelimited, stitch).then(end),
  26. writer = write(options.out);
  27. reader.catch(error => {
  28. console.error(error.stack);
  29. });
  30. function stitch(d) {
  31. return writer.write(JSON.stringify(geoStitch(d)) + "\n");
  32. }
  33. function end() {
  34. return writer.end();
  35. }