# --------------------------------------------------------------------------- # 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 = 0 scenario_dir = "\\\\nas2\\gemd\\georisk_models\\inundation\\data\\australia_ph2\\ceduna\\" output_dir="anuga\\outputs\\" time_dir1 = '20090225_153629_run_final_0_64469_mhingee' time_dirs = [time_dir1] #, time_dir2] #4, time_dir5] #, 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' land = scenario_dir + "map_work\\Busselton.gdb\\Internal_polygons\\initial_conditions_extend_Di" ocean = scenario_dir + "map_work\\Busselton.gdb\\input_boundaries\\Ocean" print 'Process: Create File GDB' gp.CreateFileGDB_management(folder, "raster") gp.Workspace = raster_gbd print time_dir #replication dictionary replicate = (('ceduna', ''),('_', ''), ('depth','_depth'),('speed', '_speed'), ('elevation', '_ele_'), ('stage','_stage')) generate_filename = [] input_ascii = glob.glob(folder + '*.asc') 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[:12] 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_53',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',135.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)