Changeset 2942
- Timestamp:
- May 23, 2006, 10:50:19 AM (19 years ago)
- Location:
- inundation
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/coordinate_transforms/geo_reference.py
r2941 r2942 9 9 from Numeric import array, Float, ArrayType, reshape 10 10 from utilities.numerical_tools import ensure_numeric 11 from utilities.anuga_exceptions import ANUGAError 12 13 import exceptions 14 class TitleError(exceptions.IOError): pass 11 from utilities.anuga_exceptions import ANUGAError, TitleError, ParsingError 12 13 14 #import exceptions 15 #class TitleError(exceptions.IOError): pass 16 #class ParsingError(exceptions.IOError): pass 15 17 16 18 DEFAULT_ZONE = -1 … … 107 109 108 110 def read_ASCII(self, fd,read_title=None): 109 if read_title == None: 110 read_title = fd.readline() # remove the title line 111 #print "gr read_title[0:2].upper()",read_title[0:2].upper() 112 #print "gr TITLE[0:2].upper()",TITLE[0:2].upper() 113 if read_title[0:2].upper() != TITLE[0:2].upper(): 114 msg = 'File error. Expecting line: %s. Got this line: %s' \ 115 %(TITLE, read_title) 116 raise TitleError, msg 117 self.zone = int(fd.readline()) 118 self.xllcorner = float(fd.readline()) 119 self.yllcorner = float(fd.readline()) 111 try: 112 if read_title == None: 113 read_title = fd.readline() # remove the title line 114 if read_title[0:2].upper() != TITLE[0:2].upper(): 115 msg = 'File error. Expecting line: %s. Got this line: %s' \ 116 %(TITLE, read_title) 117 raise TitleError, msg 118 self.zone = int(fd.readline()) 119 self.xllcorner = float(fd.readline()) 120 self.yllcorner = float(fd.readline()) 121 except SyntaxError: 122 msg = 'File error. Got syntax error while parsing geo reference' 123 raise ParsingError, msg 120 124 121 125 # Fix some assertion failures -
inundation/geospatial_data/geospatial_data.py
r2941 r2942 458 458 line = fd.readline() 459 459 numbers = clean_line(line,delimiter) 460 #print 'read xya numbers', numbers461 while len(numbers) > 1 :460 461 while len(numbers) > 1 and line[0] <> '#': 462 462 if numbers != []: 463 463 try: … … 481 481 line = fd.readline() 482 482 numbers = clean_line(line,delimiter) 483 483 484 if line == '': 484 # end of file485 485 geo_reference = None 486 487 486 else: 488 487 geo_reference = Geo_reference(ASCIIFile=fd,read_title=line) -
inundation/geospatial_data/test_geospatial_data.py
r2940 r2942 10 10 from geospatial_data import * 11 11 12 from coordinate_transforms.geo_reference import Geo_reference 12 from coordinate_transforms.geo_reference import Geo_reference, TitleError 13 13 14 14 class Test_Geospatial_data(unittest.TestCase): … … 1040 1040 raise msg 1041 1041 1042 def xxx_test_check_geo_reference(self):1042 def test_check_geo_reference(self): 1043 1043 """ 1044 1044 checks geo reference details are OK. eg can be called '#geo reference' … … 1052 1052 0.0 1.0 0.0\n\ 1053 1053 1.0 0.0 10.4\n\ 1054 #ge oreference\n\1054 #ge oreference\n\ 1055 1055 56\n\ 1056 1056 1.1\n\ … … 1062 1062 assert allclose(results.get_geo_reference().get_yllcorner(), 1.0) 1063 1063 1064 def xxx_test_check_geo_reference1(self): 1064 fileName = tempfile.mktemp(".xya") 1065 file = open(fileName,"w") 1066 file.write(" elevation \n\ 1067 1.0 0.0 10.0\n\ 1068 0.0 1.0 0.0\n\ 1069 1.0 0.0 10.4\n") 1070 1071 file.close() 1072 results = Geospatial_data(fileName) 1073 1074 def test_check_geo_reference1(self): 1065 1075 """ 1066 1076 checks geo reference details are OK. eg can be called '#geo reference' … … 1074 1084 0.0 1.0 0.0\n\ 1075 1085 1.0 0.0 10.4\n\ 1076 #geo reference\n\1086 #geo t t\n\ 1077 1087 56\n\ 1078 1088 1.1\n" … … 1080 1090 file.close() 1081 1091 1082 # try: 1083 results = Geospatial_data(fileName) 1084 # except ValueError or SyntaxError: 1085 # pass 1086 # else: 1087 # msg = 'Geo reference data format is incorrect' 1088 # raise msg 1089 1090 1091 1092 assert allclose(results.get_geo_reference().get_xllcorner(), 1.1) 1093 assert allclose(results.get_geo_reference().get_yllcorner(), 1.0) 1094 1092 try: 1093 results = Geospatial_data(fileName, delimiter = " ") 1094 except IOError: 1095 pass 1096 else: 1097 msg = 'Geo reference data format is incorrect' 1098 raise msg 1099 1100 1095 1101 1096 1102 1097 1103 if __name__ == "__main__": 1098 #suite = unittest.makeSuite(Test_Geospatial_data, 'test_ ensure_absolute')1104 #suite = unittest.makeSuite(Test_Geospatial_data, 'test_check_geo_reference1') 1099 1105 suite = unittest.makeSuite(Test_Geospatial_data, 'test') 1100 1106 runner = unittest.TextTestRunner() -
inundation/utilities/anuga_exceptions.py
r2617 r2942 1 1 """Exceptions used by ANUGA 2 2 """ 3 4 import exceptions 5 class TitleError(exceptions.IOError): pass 6 class ParsingError(exceptions.IOError): pass 3 7 4 8
Note: See TracChangeset
for help on using the changeset viewer.