From aafdcab589ae42ffd927d6734d99505bb7d8f8ee Mon Sep 17 00:00:00 2001 From: Dan Howe Date: Mon, 12 Aug 2019 14:25:21 +1000 Subject: [PATCH] Fix to work with survey 3 --- generate_heatmaps.py | 4 +++- las_manipulation.py | 10 +++++++--- las_outputs.py | 17 +++++++++++++++-- param-files/survey-1.xlsx | Bin 17618 -> 17698 bytes plot_heatmaps.py | 3 ++- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/generate_heatmaps.py b/generate_heatmaps.py index 53a15df..888d794 100644 --- a/generate_heatmaps.py +++ b/generate_heatmaps.py @@ -53,7 +53,9 @@ def parse_yaml(yaml_name): def process(yaml_name): params = parse_yaml(yaml_name) beach = params['BEACH'] - base_name = os.path.splitext(os.path.basename(params['INPUT LAS']))[0] + #base_name = os.path.splitext(os.path.basename(params['INPUT LAS']))[0] + base_name='%s_%s' % (beach.lower().replace(" ","_"), params['SURVEY DATE']) + # Make all input and output paths absolute mxd_name = os.path.abspath(params['MAP DOCUMENT']) diff --git a/las_manipulation.py b/las_manipulation.py index 7f3adbf..8b75b74 100644 --- a/las_manipulation.py +++ b/las_manipulation.py @@ -351,8 +351,9 @@ def polygon_wave_runup(xyz_1m, direction, shp_name, set_check_value, distance_ch #print('making the crop polygon') # Simplify polygon to remove invalid geometry - geom = Polygon(for_shape).simplify(10) - + #geom = Polygon(for_shape).simplify(10) + geom = Polygon(for_shape) + # Export polygon as shapefile df = gpd.GeoDataFrame(geometry=[geom]) df.crs = {'init': 'epsg:283{}'.format(zone), 'no_defs': True} @@ -383,9 +384,12 @@ def process(yaml_file): las_dir = params['LAS CLASSIFIED FOLDER'] shp_dir = params['SHP SWASH FOLDER'] tmp_dir = params['TMP FOLDER'] + survey_date=params['SURVEY DATE'] + beach=params['BEACH'] # Get base name of input las - las_basename = os.path.splitext(os.path.basename(input_las))[0] + #las_basename = os.path.splitext(os.path.basename(input_las))[0] + las_basename='%s_%s' % (beach.lower().replace(" ","_"), survey_date) # # Crop to beach boundary print('Clipping...') diff --git a/las_outputs.py b/las_outputs.py index 2d97500..120db6a 100644 --- a/las_outputs.py +++ b/las_outputs.py @@ -81,7 +81,7 @@ def plot_profiles(profile_name, csv_output_dir, graph_loc, ch_limits, delta_vol, ch_min = ch_limits.loc[profile_name, 'Landward Limit'] # Set figure dimensions based on beach size - vertical_exag = 8 + vertical_exag = 5 m_per_inch = 8 try: fig_h = profiles.dropna().values.max() / m_per_inch * vertical_exag @@ -96,6 +96,7 @@ def plot_profiles(profile_name, csv_output_dir, graph_loc, ch_limits, delta_vol, else: fig, ax = plt.subplots(figsize=(10, 5)) + for col in profiles.columns: profile = profiles.loc[:, col] date_str = col.split('_')[-1] @@ -110,6 +111,11 @@ def plot_profiles(profile_name, csv_output_dir, graph_loc, ch_limits, delta_vol, ax.set_xlabel('Chainage (m)', labelpad=10) ax.set_ylabel('Elevation (m AHD)', labelpad=10) + Ylim=ax.get_ylim()[1] + + if Ylim<10: + ax.set_ylim([ax.get_ylim()[0], 10]) + # Show most recent volume change if delta_vol is not None: ax.annotate('Most recent\nvolume change:\n{:+0.1f} m$^3$/m'.format(delta_vol), @@ -215,7 +221,9 @@ def process(yaml_file): tmp_dir = params['TMP FOLDER'] # Get base name of input las - las_basename = os.path.splitext(os.path.basename(original_las))[0] + #las_basename = os.path.splitext(os.path.basename(original_las))[0] + + las_basename='%s_%s' % (beach.lower().replace(" ","_"), survey_date) # Get name of input point cloud input_las = os.path.join(classified_las_dir, las_basename + '.las') @@ -249,6 +257,11 @@ def process(yaml_file): tif_name = os.path.join(output_tif_dir, las_basename + '.tif') call_lastools('las2dem', input=las_data, output=tif_name, args=['-step', 1, '-keep_class', 2], verbose=False) + # IF THIS STEP ISN'T WORKING: + # might mean there are no data lines + # trying running with args=['-step', 1, '-keep_class', 2, '-rescale', 0.001,0.001,0.001] + #call_lastools('las2dem', input=las_data, output=tif_name, + # args=['-step', 1, '-keep_class', 2, '-rescale', 0.001,0.001,0.001], verbose=False) # Extract elevations along profiles from triangulated surface print('Extracting profile elevations...') diff --git a/param-files/survey-1.xlsx b/param-files/survey-1.xlsx index bb289dff9877de0d06e84ebebe39bf9f52ecbf99..b43b56a376db4085b95e435d4e666bb76c468d00 100644 GIT binary patch delta 6683 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 delta 6543 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 JME>90{{vn0LaP7( diff --git a/plot_heatmaps.py b/plot_heatmaps.py index 4b0ddcb..103e6de 100644 --- a/plot_heatmaps.py +++ b/plot_heatmaps.py @@ -53,7 +53,8 @@ def parse_yaml(yaml_name): def process(yaml_name): params = parse_yaml(yaml_name) beach = params['BEACH'] - base_name = os.path.splitext(os.path.basename(params['INPUT LAS']))[0] + #base_name = os.path.splitext(os.path.basename(params['INPUT LAS']))[0] + base_name='%s_%s' % (beach.lower().replace(" ","_"), params['SURVEY DATE']) # Make all input and output paths absolute mxd_name = os.path.abspath(params['MAP DOCUMENT'])