12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import argparse, logging, struct, sys
- LOG = logging.getLogger()
- def write_empty_las(stream):
- """Empty las means novl=0, tspace=0.
- stream should be opened for binary writing.
- """
- data = struct.pack('qi', 0, 1000)
- stream.write(data)
- def run(las_fn):
- LOG.info('Writing empty las file {!r}.'.format(las_fn))
- with open(las_fn, 'wb') as stream:
- write_empty_las(stream)
- class HelpF(argparse.RawTextHelpFormatter, argparse.ArgumentDefaultsHelpFormatter):
- pass
- def parse_args(argv):
- description = 'Write an empty .las file.'
- epilog = 'The point is to pretend that we ran daligner and found no overlaps.'
- parser = argparse.ArgumentParser(
- description=description,
- epilog=epilog,
- formatter_class=HelpF,
- )
- parser.add_argument(
- 'las_fn',
- help='Output. A single las file, empty. (12 bytes, actually.)')
- args = parser.parse_args(argv[1:])
- return args
- def main(argv=sys.argv):
- args = parse_args(argv)
- logging.basicConfig(level=logging.INFO)
- run(**vars(args))
- if __name__ == '__main__': # pragma: no cover
- main()
|