source: anuga_work/production/new_south_wales/batemans_bay/prepare_data.py @ 7369

Last change on this file since 7369 was 7019, checked in by jgriffin, 15 years ago
File size: 2.0 KB
Line 
1#def prepare_data(file_in):
2"""This script reads .grd files containing Lidar data and
3converts to csv/txt format as required for ANUGA.
4This script also creates file_list.csv, a list of the
5files that have been created (all txt files in the working directory).
6"""
7from Numeric import array, zeros, Float, allclose
8from Scientific.IO.NetCDF import NetCDFFile
9from Numeric import array
10import project
11import os
12from os import sep
13import csv
14import glob, fnmatch
15
16#folder = '//nas/gemd/georisk_models/inundation/data/new_south_wales/gosford_tsunami_scenario_2009/original_reference_data/GosfordLidar/Ground/'
17folder = '//nas/gemd/georisk_models/inundation/data/new_south_wales/gosford_tsunami_scenario_2009/original_reference_data/topography/HCR-CMA_LiDAR/05.Raw_ALS_Data_Ground/ASCII_X,Y,Z,I/'
18
19
20#input_grd = glob.glob(folder + '*.grd')
21input_grd = glob.glob(folder + '*.XYZI')
22
23for file_in in input_grd:
24    #boundary_csv = file_in
25    #out_file = file_in[:-4] + '.txt'
26    out_file = file_in[:-5] + '.txt'
27    print 'Creating', out_file
28
29
30    # Read the grd file
31    fid = open(file_in)
32
33    # Skip first line
34    #line = fid.readline()
35
36    # Read remaining lines
37    lines = fid.readlines()
38    fid.close()
39   
40
41    N = len(lines)
42    X = zeros(N, Float)  #eastin
43    Y = zeros(N, Float)  #northing
44    Z = zeros(N, Float)  #elevation
45   
46
47    for i, line in enumerate(lines):
48        fields = line.split(',')
49
50        X[i] = float(fields[0])  #easting
51        Y[i] = float(fields[1])  #northing
52        Z[i] = float(fields[2])  #elevation
53   
54
55
56    # Create new csv file
57    outwriter = csv.writer(open(out_file,'w'))
58    outwriter.writerow(['x','y','elevation'])
59    for i, line in enumerate(lines):
60        outwriter.writerow([X[i], Y[i], Z[i]])
61
62filelist = []
63filelist_file = folder+'file_list2.csv'
64
65# Create csv file of filenames
66outwriter2 = csv.writer(open(filelist_file,'w'))
67
68for file in os.listdir(folder):
69    if fnmatch.fnmatch(file, '*.txt'):
70        outwriter2.writerow([file])
71
72
73
Note: See TracBrowser for help on using the repository browser.