# --------------------------------------------------------------------------- # This python script is an ArcGIS script that can only be run on a computer # with and ArcGIS licence and version 2.4.1 python. # This script is designed to read in .asc files and deliever rasters with # projection (GDA94z50) held in a file geodatabase (called raster) # written by Kristy Van Putten and Ross Wilson # --------------------------------------------------------------------------- # Import system modules import sys, string, os, arcgisscripting, glob, os.path # Create the Geoprocessor object gp = arcgisscripting.create() # Check out any necessary licenses gp.CheckOutExtension("spatial") # Load required toolboxes... gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx") gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Conversion Tools.tbx") gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx") gp.overwriteoutput = 1 scenario_dir="\\\\nas2\\gemd\\georisk_models\\inundation\\data\\new_south_wales\\batemans_bay_tsunami_scenario_2009\\" output_dir = "anuga\\outputs\\" ##time_dir1 = '20081209_155431_run_final_0_27255_250m_none_lfountai' ##time_dir2 = '20081210_100528_run_final_0_68693_250m_none_kvanputt' ##time_dirs = [time_dir1, time_dir2] time_dir1 = '20090323_141118_run_final_0_58129_jgriffin' time_dir2 = '20090323_161308_run_final_0_58115_jgriffin' time_dir3 = '20090323_161328_run_final_0_58226_jgriffin' time_dir4 = '20090323_164424_run_final_0_58284_jgriffin' time_dir5 = '20090323_164755_run_final_0_58286_jgriffin' ##time_dir6 = '20081031_133925_run_final_0.6_27283_alpha0.1_kvanputt' time_dirs = [time_dir1, time_dir2, time_dir3, time_dir4, time_dir5]#, time_dir6] for time_dir in time_dirs: # Local variables... folder = scenario_dir + output_dir + time_dir + '\\' raster_gbd = folder + 'raster.gdb' #contour = raster_gbd + '\\contour_dep' #land = scenario_dir + "map_work\\Perth.gdb\\Outlines\\initial_conditions_rottnest" #ocean = scenario_dir + "map_work\\Perth.gdb\\Outlines\\initial_conditions_ocean1" print 'Process: Create File GDB' gp.CreateFileGDB_management(folder, "raster") gp.Workspace = raster_gbd print gp.Workspace #replication dictionary replicate = (('batemans_bay', ''), ('_', ''),('Geordie', 'Geo'),('Sorrento', 'Sor'), ('max','M_'), ('Fremantle', 'Fre'),('Rockingham', 'Roc'),('depth','_dep_'), ('speed', '_spe_'), ('elevation', '_ele_'), ('stage','_stage')) generate_filename = [] input_ascii = glob.glob(folder + '*depth_max.asc') print time_dir for infile in input_ascii: output_DEM = os.path.basename(infile)[:-4] for (key, rep) in replicate: output_DEM = output_DEM.replace(key,rep) output_DEM = output_DEM[:10] if output_DEM in generate_filename: print 'Output_DEM filename (%s) already in use' % output_DEM sys.exit(10) generate_filename.append(output_DEM) print 'Output DEM ',output_DEM print 'Process: ASCII to Raster' gp.ASCIIToRaster_conversion(infile, output_DEM, "FLOAT") print 'Process: Define Projection' gp.DefineProjection_management(output_DEM, "PROJCS['GDA_1994_MGA_Zone_56',GEOGCS['GCS_GDA_1994',DATUM['D_GDA_1994',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]" ",PROJECTION['Transverse_Mercator'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northing',10000000.0],PARAMETER['Central_Meridian',153.0],PARAMETER['Scale_Factor',0.9996]" ",PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]]") ## output_extract = output_DEM + 'E' ## print 'Output Extract ',output_extract ## ## print 'Process: Extract by Mask' ## gp.ExtractByMask_sa(output_DEM, land, output_extract) ## ##