Changeset 1406
- Timestamp:
- May 17, 2005, 11:43:14 AM (20 years ago)
- Location:
- inundation/ga/storm_surge/pyvolution/coordinate_transforms
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/ga/storm_surge/pyvolution/coordinate_transforms/geo_reference.py
r1176 r1406 6 6 7 7 DEFAULT_ZONE = 56 8 TITLE = '#geo reference' + "\n" #this title is referred to in the .xya format 8 9 9 10 class Geo_reference: … … 17 18 xllcorner=None, 18 19 yllcorner=None, 19 NetCDFObject = None, 20 ASCIIFile = None): 20 NetCDFObject=None, 21 ASCIIFile=None, 22 read_title=None): 23 """ 24 input: 25 NetCDFObject - a handle to the netCDF file 26 ASCIIFile - a handle to the text file 27 read_title - the title of the georeference text, if it was read in. 28 """ 21 29 if not xllcorner == None: 22 30 self.xllcorner = xllcorner #Easting of lower left corner … … 28 36 if not NetCDFObject == None: 29 37 self.read_NetCDF(NetCDFObject) 30 31 #FIXME think if this should be here 38 32 39 if not ASCIIFile == None: 33 self.read_ASCII(ASCIIFile )40 self.read_ASCII(ASCIIFile,read_title=read_title) 34 41 35 42 def get_xllcorner(self): … … 67 74 68 75 def write_ASCII(self, fd): 69 fd.write( '# Geo reference' + "\n")76 fd.write(TITLE) 70 77 fd.write(str(self.zone) + "\n") 71 78 fd.write(str(self.xllcorner) + "\n") 72 79 fd.write(str(self.yllcorner) + "\n") 73 80 74 def read_ASCII(self, fd): 75 fd.readline() # remove the title line 81 def read_ASCII(self, fd,read_title=None): 82 if read_title == None: 83 read_title = fd.readline() # remove the title line 84 if read_title[0:2] != TITLE[0:2]: 85 raise IOError 76 86 self.zone = int(fd.readline()) 77 87 self.xllcorner = float(fd.readline()) … … 85 95 #false_easting = infile.false_easting[0] 86 96 #false_northing = infile.false_northing[0] 87 97 88 98 def change_points_geo_ref(self, points, 89 99 points_geo_ref=None): -
inundation/ga/storm_surge/pyvolution/coordinate_transforms/test_geo_reference.py
r1176 r1406 57 57 self.failUnless(g == new_g, 'test_read_write_ASCII failed') 58 58 59 def test_read_write_ASCII2(self): 60 from Scientific.IO.NetCDF import NetCDFFile 61 g = Geo_reference(56,1.9,1.9) 62 file_name = tempfile.mktemp(".geo_referenceTest") 63 fd = open(file_name,'w') 64 g.write_ASCII(fd) 65 fd.close() 66 fd = open(file_name,'r') 67 line = fd.readline() 68 new_g = Geo_reference(ASCIIFile=fd, read_title=line) 69 fd.close() 70 os.remove(file_name) 71 72 self.failUnless(g == new_g, 'test_read_write_ASCII failed') 73 74 def test_read_write_ASCII2(self): 75 from Scientific.IO.NetCDF import NetCDFFile 76 g = Geo_reference(56,1.9,1.9) 77 file_name = tempfile.mktemp(".geo_referenceTest") 78 fd = open(file_name,'w') 79 g.write_ASCII(fd) 80 fd.close() 81 fd = open(file_name,'r') 82 line = fd.readline() 83 line = "fail !!" 84 try: 85 new_g = Geo_reference(ASCIIFile=fd, read_title=line) 86 fd.close() 87 os.remove(file_name) 88 except IOError: 89 fd.close() 90 os.remove(file_name) 91 else: 92 self.failUnless(0 ==1, 93 'bad text file did not raise error!') 94 59 95 def test_change_points_geo_ref(self): 60 96 x = 3.0
Note: See TracChangeset
for help on using the changeset viewer.