From 74804270f2a09fb4b701525ea78177b3eb53a0c0 Mon Sep 17 00:00:00 2001 From: Dan Howe Date: Thu, 9 Aug 2018 12:35:53 +1000 Subject: [PATCH] Allow surveys to be reprocessed when they are not most recent --- las_outputs.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/las_outputs.py b/las_outputs.py index 8e558c7..0e5ae36 100644 --- a/las_outputs.py +++ b/las_outputs.py @@ -178,13 +178,16 @@ def calculate_volumes(profile_name, survey_date, csv_output_dir, ch_limits, volu volumes.to_csv(csv_vol) # Get most recent volume difference for current profile - try: - previous_vol = volumes.loc[profile_name].values[-2] - current_vol = volumes.loc[profile_name].values[-1] - delta_vol = current_vol - previous_vol - except IndexError: + current_date_idx = volumes.columns.get_loc('Volume_' + survey_date) + previous_date_idx = current_date_idx - 1 + + if previous_date_idx < 0: # Return None if there is only one survey delta_vol = None + else: + previous_vol = volumes.loc[profile_name][previous_date_idx] + current_vol = volumes.loc[profile_name][current_date_idx] + delta_vol = current_vol - previous_vol return delta_vol @@ -225,11 +228,17 @@ def process(yaml_file): las_data = call_lastools('lasclip', input=input_las, output='-stdout', args=['-poly', crop_swash_poly], verbose=False) + las_name = 'crop-1.las' + with open (las_name, 'wb') as f: + f.write(las_data) + # Apply sea-side clipping polygon print('Cropping back of beach...') las_data = call_lastools('lasclip', input=las_data, output='-stdout', args=['-poly', crop_heatmap_poly], verbose=False) + + # Create clipping polygon for heatmap raster print('Creating heat map cropping polygon...') shp_name = os.path.join(output_poly_dir, las_basename + '.shp')