# --------------------------------------------------------------------------- # 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\\western_australia\\perth_tsunami_scenario\\" output_dir = "anuga\\outputs\\" time_dir1 = '20090324_135427_run_final_0.6_27255_Bt_kvanputt' time_dir2 = '20090324_154957_run_final_0.6_68693_Bt_kvanputt' time_dir3 = '20090324_155028_run_final_0.6_27283_Bt_kvanputt' time_dir4 = '20090327_155353_run_final_0_27283_Bt_kvanputt' time_dir5 = '20090327_155659_run_final_0_27255_Bt_kvanputt' time_dir6 = '20090327_155803_run_final_0_68693_Bt_kvanputt' time_dirs = [time_dir4, time_dir5, time_dir6] #time_dir1, time_dir2, time_dir3, 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\\poly_all_cut" 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 = (('perth', ''),('time_39900_0', 'b'), ('time_79800_0', 'c'), ('_', ''),('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 + '*speed_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_50',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',117.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)