source: anuga_work/production/bunbury_storm_surge_2009/Arc_asc2raster_GDA94z50.py @ 7658

Last change on this file since 7658 was 7613, checked in by fountain, 14 years ago

Bunbury storm surge modelling

File size: 3.9 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\\western_australia\\bunbury_storm_surge_scenario_2009\\"
25output_dir = "anuga\\outputs\\"
26
27time_dir1 = '20100103_102505_run_storm_surge_final_0_alby_coarse_lfountai'
28
29
30time_dirs = [time_dir1] ##, time_dir2, time_dir3, time_dir4, time_dir5,
31             ##time_dir6, time_dir7, time_dir8, time_dir9, time_dir10]
32
33for time_dir in time_dirs:
34
35    # Local variables...
36    folder =  scenario_dir + output_dir + time_dir + '\\'
37    raster_gbd = folder + 'raster.gdb'
38##    elevation_gdb = folder + 'elevation.gdb'
39    #contour = raster_gbd + '\\contour_dep'
40    land = scenario_dir + "ArcGIS\\data.gdb\\initial_conditions_10m"
41##    ocean = scenario_dir + "map_work\\Perth.gdb\\Outlines\\initial_condition_ocean"
42   
43    print 'Process: Create File GDB'
44##    gp.createFileGDB_management(folder, "elevation")
45##    gp.CreateFileGDB_management(folder, "raster")
46
47    gp.Workspace = raster_gbd
48##    gp.Workspace = elevation_gdb
49
50    print gp.Workspace
51   
52    #replication dictionary
53    replicate = (('gold_coast', ''), ('_time_29220_0', 'b'), ('_time_58440_0', 'c'),
54                 ('_time_28860_0', 'b'), ('_time_57720_0', 'c'),
55                 ('_', ''), ('max','M_'), ('depth','_dep_'),
56                 ('speed', '_spe_'), ('elevation', '_ele_'), ('stage','_stage'))
57
58    generate_filename = []
59##    input_ascii = glob.glob(folder + '*elevation*.asc')
60    input_ascii = glob.glob(folder + '*depth*.asc')
61    print time_dir
62
63    for infile in input_ascii:
64        output_DEM = os.path.basename(infile)[:-4]
65        for (key, rep) in replicate:
66            output_DEM = output_DEM.replace(key,rep)
67        output_DEM = output_DEM[:10]
68        if output_DEM in generate_filename:
69            print 'Output_DEM filename (%s) already in use' % output_DEM
70            sys.exit(10)
71        generate_filename.append(output_DEM)
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_50',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',117.0],PARAMETER['Scale_Factor',0.9996]"
80                                                   ",PARAMETER['Latitude_Of_Origin',0.0],UNIT['Meter',1.0]]")
81
82
83   
84        output_extract = output_DEM + 'E'
85        print 'Output Extract ',output_extract
86   
87        print 'Process: Extract by Mask'
88        gp.ExtractByMask_sa(output_DEM, land, output_extract)
89
90       
Note: See TracBrowser for help on using the repository browser.