source: anuga_work/production/australia_ph2/strahan/Arc_asc2raster_GDA94z50.py @ 6924

Last change on this file since 6924 was 6842, checked in by myall, 15 years ago

using ARC script to turn ascii stage files into rasters, and dividing by max wave height; done for GC clockwise to perth. not checked thoroughly.

File size: 4.0 KB
Line 
1# ---------------------------------------------------------------------------
2# This python script is an ArcGIS script that can only be run on a computer
3# with and ArcGIS licence and version 2.4.1 python.
4# This script is designed to read in .asc files and deliever rasters with
5# projection (GDA94z50) held in a file geodatabase (called raster)
6# written by Kristy Van Putten and Ross Wilson
7# ---------------------------------------------------------------------------
8
9# Import system modules
10import sys, string, os, arcgisscripting, glob, os.path
11
12# Create the Geoprocessor object
13gp = arcgisscripting.create()
14
15# Check out any necessary licenses
16gp.CheckOutExtension("spatial")
17
18# Load required toolboxes...
19gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx")
20gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Conversion Tools.tbx")
21gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx")
22gp.overwriteoutput = 1
23
24scenario_dir = "\\\\nas2\\gemd\\georisk_models\\inundation\\data\\australia_ph2\\strahan\\"
25output_dir="anuga\\outputs\\"
26
27time_dir1 = '20090408_152513_run_final_0_58337_2044_Tb__mhingee'
28time_dir2 = '20090408_163848_run_final_0_64214_2044_Tb__mhingee'
29time_dir3 = '20090408_175114_run_final_0_68779_2044_Tb__mhingee'
30
31time_dirs = [time_dir1, time_dir2, time_dir3]
32events = [[time_dir1,0.593696],[time_dir2,0.566183],[time_dir3,0.561357]]
33
34for event in events:
35##for time_dir in time_dirs:
36    time_dir = event[0]
37    max_wave = event[1]
38    print time_dir
39    print max_wave
40    # Local variables...
41    folder = scenario_dir + output_dir +  time_dir +'\\'
42    raster_gbd = folder + 'raster.gdb'
43##    land = scenario_dir + "map_work\\\port_hedland.gdb\\outlines\\initial_condition"
44##    ocean = scenario_dir + "map_work\\\port_hedland.gdb\\outlines\\initial_conditions_ocean"
45
46    print 'Process: Create File GDB'
47    gp.CreateFileGDB_management(folder, "raster")
48
49    gp.Workspace = raster_gbd
50
51    print gp.Workspace
52   
53    #replication dictionary
54    replicate = (('strahan', ''),('_', ''),('max','_M'),
55                 ('CBD', 'CDB'),('All',''),
56                 ('depth','_depth'),('speed', '_speed'),
57                 ('elevation', '_ele_'), ('stage','_stage'))
58
59    generate_filename = []
60    input_ascii = glob.glob(folder + '*.asc')
61
62    for infile in input_ascii:
63        output_DEM = os.path.basename(infile)[:-4]
64        for (key, rep) in replicate:
65            output_DEM = output_DEM.replace(key,rep)
66        output_DEM = output_DEM[:10]
67        if output_DEM in generate_filename:
68            print 'Output_DEM filename (%s) already in use' % output_DEM
69            sys.exit(10)
70        generate_filename.append(output_DEM)
71
72        print 'Output DEM ',output_DEM
73       
74        print 'Process: ASCII to Raster'
75        gp.ASCIIToRaster_conversion(infile, output_DEM, "FLOAT")
76
77        print 'Process: Define Projection' 
78        gp.DefineProjection_management(output_DEM, "PROJCS['GDA_1994_MGA_Zone_55',GEOGCS['GCS_GDA_1994',DATUM['D_GDA_1994',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]"
79                                                   ",PROJECTION['Transverse_Mercator'],PARAMETER['False_Easting',500000.0],PARAMETER['False_Northing',10000000.0],PARAMETER['Central_Meridian',147.0],PARAMETER['Scale_Factor',0.9996]"
80                                                   ",PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]]")
81##        output_extract = output_DEM + 'E'
82##        print 'Output Extract ',output_extract
83##        print 'Process: Extract by Mask'
84##        gp.ExtractByMask_sa(output_DEM, land, output_extract)
85        # do this bit only if there are only stage asc files
86        div_file = output_DEM.replace('stage','div_stage')
87        print 'divide', output_DEM,' by', max_wave,' and call',div_file
88        gp.Divide_sa(output_DEM,max_wave,div_file)
89
Note: See TracBrowser for help on using the repository browser.