Use temp files instead of stdout piping, to support older lastools versions

etta-drone
Dan Howe 6 years ago
parent 7f4d014f66
commit fcc6b810c8

@ -387,25 +387,22 @@ def process(yaml_file):
# Get base name of input las
las_basename = os.path.splitext(os.path.basename(input_las))[0]
# Crop to beach boundary
# # Crop to beach boundary
print('Clipping...')
las_data = call_lastools('lasclip', input=input_las, output='-stdout',
las_clipped_name = os.path.join(tmp_dir, las_basename + '_clipped.las')
call_lastools('lasclip', input=input_las, output=las_clipped_name,
args=['-poly', initial_crop_poly], verbose=False)
# Classify ground points
print('Classifying ground...')
las_data = call_lastools('lasground_new', input=las_data, output='-stdout',
las_classified_name = os.path.join(las_dir, las_basename + '.las')
call_lastools('lasground_new', input=las_clipped_name, output=las_classified_name,
args=['-step', lasground_step], verbose=False)
# Save classified point cloud
las_name = os.path.join(las_dir, las_basename + '.las')
with open (las_name, 'wb') as f:
f.write(las_data)
# Interpolate point cloud onto a grid
print('Interpolating to grid...')
xyz_name = os.path.join(tmp_dir, las_basename + '.xyz')
call_lastools('las2dem', input=las_data, output=xyz_name,
call_lastools('las2dem', input=las_classified_name, output=xyz_name,
args=['-step', 1], verbose=False)
# Make runup clipping mask from gridded point cloud

Loading…
Cancel
Save