diff --git a/NTC_DFM/.idea/NTC_DFM.iml b/NTC_DFM/.idea/NTC_DFM.iml index 6186127..d9578f6 100644 --- a/NTC_DFM/.idea/NTC_DFM.iml +++ b/NTC_DFM/.idea/NTC_DFM.iml @@ -5,4 +5,7 @@ + + \ No newline at end of file diff --git a/NTC_DFM/.idea/other.xml b/NTC_DFM/.idea/other.xml new file mode 100644 index 0000000..640fd80 --- /dev/null +++ b/NTC_DFM/.idea/other.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/NTC_DFM/.idea/vcs.xml b/NTC_DFM/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/NTC_DFM/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/NTC_DFM/Bathy_Conversion_AJMR.py b/NTC_DFM/Bathy_Conversion_AJMR.py new file mode 100644 index 0000000..61a6de9 --- /dev/null +++ b/NTC_DFM/Bathy_Conversion_AJMR.py @@ -0,0 +1,254 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed Sep 16 12:25:31 2020 + +@author: aforsythe + +Copied from "\\srv-ott3\Projects\11934.201 Newtown Creek TPP – Privileged and Confidential\06_Models\02_EFDC\01_Bathy\Bathy_Conversion.py" +_AJMR +""" +import pandas as pd +import cartopy.crs as ccrs +import contextily as ctx +import matplotlib.pyplot as plt + + +# Assign path +dataPath = '//srv-ott3/Projects/11934.201 Newtown Creek TPP – Privileged and Confidential/06_Models/02_EFDC/01_Bathy/' +mapbox = 'https://api.mapbox.com/styles/v1/alexander0042/ckemxgtk51fgp19nybfmdcb1e/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoiYWxleGFuZGVyMDA0MiIsImEiOiJjazVmdG4zbncwMHY4M2VrcThwZGUzZDFhIn0.w6oDHoo1eCeRlSBpwzwVtw' + + +#%% Read in Source 1 +S1 = pd.read_csv(dataPath + '2012_March_LiDAR_XYZ_V2.csv') + +# Process Source 1 +S1 = S1.rename(columns={'ELEV':'Z_FT'}) +#delete all rows where elevation is above 0 from S1 +PlusZero = S1[S1['Z_FT'] >= 0].index +S1 = S1.drop(PlusZero) +S1['Z_FT'] *=-1 + +#%% Plot Source 1 +# Create plot +fig, axes = plt.subplots(nrows=1, ncols=1,subplot_kw={'projection': ccrs.epsg(32118)}, figsize=(12, 12)) +#axes.set_xlim(297579, 309365) +#axes.set_ylim(58211, 67565) +axes.set_xlim(305900, 306400) +axes.set_ylim(61500, 62200) + +pltDat = axes.scatter(pd.to_numeric(S1.X)*0.3048, pd.to_numeric(S1.Y)*0.3048, + c=pd.to_numeric(S1.Z_FT)*0.3048, vmin=0, vmax=10, marker='.', s=40) +ctx.add_basemap(axes, source=mapbox, crs='EPSG:32118') + +cbar = fig.colorbar(pltDat, ax=axes, shrink=0.95) +cbar.set_label('Elevation [mNAVD88]') + +axes.set_title('2012_March_LiDAR_XYZ_V2') + +plt.show() + + +#%% Read in source 2, drop columns and rename +S2 = pd.read_csv(dataPath + 'H11353_2m_NAD83SP_NY_LongIsland3104_USFT_depth.csv') +S2 = S2.drop(['FID'], axis=1) +S2 = S2.rename(columns={'X_SP':'X','Y_SP':'Y'}) + +#%% Plot Source 2 +fig, axes = plt.subplots(nrows=1, ncols=1,subplot_kw={'projection': ccrs.epsg(32118)}, figsize=(12, 12)) +axes.set_xlim(297579, 309365) +axes.set_ylim(58211, 67565) + +pltDat = axes.scatter(pd.to_numeric(S2.X)*0.3048, pd.to_numeric(S2.Y)*0.3048, + c=pd.to_numeric(S2.Z_FT)*0.3048, vmin=0, vmax=40) +ctx.add_basemap(axes, source=mapbox, crs='EPSG:32118') + +cbar = fig.colorbar(pltDat, ax=axes, shrink=0.95) +cbar.set_label('Elevation [mNAVD88]') + +axes.set_title('H11353_2m_NAD83SP_NY_LongIsland3104_USFT_depth') + +plt.show() + +#%% read in source 3 and rename +col_names = ["X","Y","Z_FT"] +S3 = pd.read_csv(dataPath + 'NC_2012_MBES_NAVD88_P2_average_2ft.csv', sep=' ',names=col_names) + +#%% Plot Source 3 +fig, axes = plt.subplots(nrows=1, ncols=1,subplot_kw={'projection': ccrs.epsg(32118)}, figsize=(12, 12)) +#axes.set_xlim(297579, 309365) +#axes.set_ylim(58211, 67565) +axes.set_xlim(305900, 306500) +axes.set_ylim(61500, 62200) + +pltDat = axes.scatter(pd.to_numeric(S3.X)*0.3048, pd.to_numeric(S3.Y)*0.3048, + c=pd.to_numeric(S3.Z_FT)*0.3048, vmin=0, vmax=10, marker='.', s=40) +ctx.add_basemap(axes, source=mapbox, crs='EPSG:32118') + +cbar = fig.colorbar(pltDat, ax=axes, shrink=0.95) +cbar.set_label('Elevation [mNAVD88]') + +axes.set_title('NC_2012_MBES_NAVD88_P2_average_2ft') + +plt.show() + + +#%% read in source 4, drop columns and rename +S4 = pd.read_csv(dataPath + 'Harbour_Sounding_point_NAD83SP_NY_LongIsland3104_USFT.csv') +S4 = S4.drop(['FID'], axis=1) +S4 = S4.drop(['Zm'], axis=1) +S4 = S4.rename(columns={'Zft':'Z_FT'}) + + +#%% Plot Source 4 +fig, axes = plt.subplots(nrows=1, ncols=1,subplot_kw={'projection': ccrs.epsg(32118)}, figsize=(12, 12)) +axes.set_xlim(297579, 309365) +axes.set_ylim(58211, 67565) + +pltDat = axes.scatter(pd.to_numeric(S4.X)*0.3048, pd.to_numeric(S4.Y)*0.3048, + c=pd.to_numeric(S4.Z_FT)*0.3048, vmin=0, vmax=40, marker='.', s=20) +ctx.add_basemap(axes, source=mapbox, crs='EPSG:32118') + +cbar = fig.colorbar(pltDat, ax=axes, shrink=0.95) +cbar.set_label('Elevation [mNAVD88]') + +axes.set_title('Harbour_Sounding_point_NAD83SP_NY_LongIsland3104_USFT') + +plt.show() + +#%% read in source 5, drop columns and rename +S5 = pd.read_csv(dataPath + 'Harbour_Sounding_point_EastRiver.csv') +S5 = S5.drop(['FID'], axis=1) +S5 = S5.drop(['Zm'], axis=1) +S5 = S5.rename(columns={'Z_ft':'Z_FT'}) + + +#%% Plot Source 5 +fig, axes = plt.subplots(nrows=1, ncols=1,subplot_kw={'projection': ccrs.epsg(32118)}, figsize=(12, 12)) +axes.set_xlim(297579, 309365) +axes.set_ylim(58211, 67565) + +pltDat = axes.scatter(pd.to_numeric(S5.X)*0.3048, pd.to_numeric(S5.Y)*0.3048, + c=pd.to_numeric(S5.Z_FT)*0.3048, vmin=0, vmax=40, marker='.', s=20) +ctx.add_basemap(axes, source=mapbox, crs='EPSG:32118') + +cbar = fig.colorbar(pltDat, ax=axes, shrink=0.95) +cbar.set_label('Elevation [mNAVD88]') + +axes.set_title('Harbour_Sounding_point_EastRiver') + +plt.show() + +#%% Merged basin plot +fig, axes = plt.subplots(nrows=1, ncols=1,subplot_kw={'projection': ccrs.epsg(32118)}, figsize=(12, 12)) +#axes.set_xlim(297579, 309365) +#axes.set_ylim(58211, 67565) +axes.set_xlim(305900, 306600) +axes.set_ylim(61500, 62200) + +pltDat = axes.scatter(pd.to_numeric(S3.X)*0.3048, pd.to_numeric(S3.Y)*0.3048, + c=pd.to_numeric(S3.Z_FT)*0.3048, vmin=0, vmax=10, marker='.', s=40) + +pltDat2 = axes.scatter(pd.to_numeric(S1.X)*0.3048, pd.to_numeric(S1.Y)*0.3048, + c=pd.to_numeric(S1.Z_FT)*0.3048, vmin=0, vmax=10, marker='o', s=100, edgecolors='k') + +ctx.add_basemap(axes, source=mapbox, crs='EPSG:32118') + +cbar = fig.colorbar(pltDat, ax=axes, shrink=0.95) +cbar.set_label('Elevation [mNAVD88]') + +axes.set_title('Merged Basin Plot: S3 base, S1') + +plt.show() + +#%% Merged Creek Mouth +fig, axes = plt.subplots(nrows=1, ncols=1,subplot_kw={'projection': ccrs.epsg(32118)}, figsize=(12, 12)) +axes.set_xlim(302206, 304408) +axes.set_ylim(62354, 64085) + + +pltDat = axes.scatter(pd.to_numeric(S2.X)*0.3048, pd.to_numeric(S2.Y)*0.3048, + c=pd.to_numeric(S2.Z_FT)*0.3048, vmin=0, vmax=40, marker='.', s=40) + +pltDat2 = axes.scatter(pd.to_numeric(S4.X)*0.3048, pd.to_numeric(S4.Y)*0.3048, + c=pd.to_numeric(S4.Z_FT)*0.3048, vmin=0, vmax=40, marker='o', s=100, edgecolors='k') + +ctx.add_basemap(axes, source=mapbox, crs='EPSG:32118') + +cbar = fig.colorbar(pltDat, ax=axes, shrink=0.95) +cbar.set_label('Elevation [mNAVD88]') + +axes.set_title('Merged NTC Mouth Plot: S2 base, S4') + +plt.show() + +#%% Merged South End +fig, axes = plt.subplots(nrows=1, ncols=1,subplot_kw={'projection': ccrs.epsg(32118)}, figsize=(12, 12)) +axes.set_xlim(301319, 303261) +axes.set_ylim(59067, 60555) + +pltDat = axes.scatter(pd.to_numeric(S2.X)*0.3048, pd.to_numeric(S2.Y)*0.3048, + c=pd.to_numeric(S2.Z_FT)*0.3048, vmin=0, vmax=40, marker='.', s=40) + +pltDat2 = axes.scatter(pd.to_numeric(S5.X)*0.3048, pd.to_numeric(S5.Y)*0.3048, + c=pd.to_numeric(S5.Z_FT)*0.3048, vmin=0, vmax=40, marker='o', s=100, edgecolors='k') + +ctx.add_basemap(axes, source=mapbox, crs='EPSG:32118') + +cbar = fig.colorbar(pltDat, ax=axes, shrink=0.95) +cbar.set_label('Elevation [mNAVD88]') + +axes.set_title('Merged East River Plot: S2 base, S5') + +plt.show() +#%% Export + +# Priority Order: +# S3: NC_2012_MBES_NAVD88_P2_average_2ft +# Complete set for creek +Out3 = S3 + +Out3.iloc[:,0] = Out3.iloc[:,0]*0.3048 +Out3.iloc[:,1] = Out3.iloc[:,1]*0.3048 +Out3.iloc[:,2] = Out3.iloc[:,2]*0.3048 + +Out3.to_csv('C:/Users/arey/files/Projects/Newtown/ModelBathy/S3_NC_2012_MBES_NAVD88_P2_average_2ft.xyz',sep=' ',header=False,index=False) +# S1: 2012_March_LiDAR_XYZ_V2 +# Scattered points covering additional creek areas +Out1 = S1 + +Out1.iloc[:,0] = Out1.iloc[:,0]*0.3048 +Out1.iloc[:,1] = Out1.iloc[:,1]*0.3048 +Out1.iloc[:,2] = Out1.iloc[:,2]*0.3048 + +Out1.to_csv('C:/Users/arey/files/Projects/Newtown/ModelBathy/S1_2012_March_LiDAR_XYZ_V2.xyz',sep=' ',header=False,index=False) + + +# S2: H11353_2m_NAD83SP_NY_LongIsland3104_USFT_depth +# Complete East River Set +Out2 = S2 + +Out2.iloc[:,0] = Out2.iloc[:,0]*0.3048 +Out2.iloc[:,1] = Out2.iloc[:,1]*0.3048 +Out2.iloc[:,2] = Out2.iloc[:,2]*0.3048 + +Out2.to_csv('C:/Users/arey/files/Projects/Newtown/ModelBathy/S2_H11353_2m_NAD83SP_NY_LongIsland3104_USFT_depth.xyz',sep=' ',header=False,index=False) + +# S4: Harbour_Sounding_point_NAD83SP_NY_LongIsland3104_USFT +# Sounding Points at mouth of river +Out4 = S4 + +Out4.iloc[:,0] = Out4.iloc[:,0]*0.3048 +Out4.iloc[:,1] = Out4.iloc[:,1]*0.3048 +Out4.iloc[:,2] = Out4.iloc[:,2]*0.3048 + +Out4.to_csv('C:/Users/arey/files/Projects/Newtown/ModelBathy/S4_Harbour_Sounding_point_NAD83SP_NY_LongIsland3104_USFT.xyz',sep=' ',header=False,index=False) + +# S5: Harbour_Sounding_point_NAD83SP_NY_LongIsland3104_USFT +# Sounding Points in East River +Out5 = S5 + +Out5.iloc[:,0] = Out5.iloc[:,0]*0.3048 +Out5.iloc[:,1] = Out5.iloc[:,1]*0.3048 +Out5.iloc[:,2] = Out5.iloc[:,2]*0.3048 + +Out5.to_csv('C:/Users/arey/files/Projects/Newtown/ModelBathy/S5_Harbour_Sounding_point_EastRiver.xyz',sep=' ',header=False,index=False) \ No newline at end of file