Changeset 1010
- Timestamp:
- Mar 4, 2005, 6:06:38 PM (20 years ago)
- Location:
- inundation/ga/storm_surge/pmesh/load_mesh
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/ga/storm_surge/pmesh/load_mesh
- Property svn:externals set to
-
inundation/ga/storm_surge/pmesh/load_mesh/loadASCII.py
r1005 r1010 51 51 52 52 from string import find, rfind 53 54 53 from Numeric import array, Float, Int16, Character,reshape, concatenate 55 56 54 from os.path import splitext 57 55 56 from coordinate_transforms.geo_reference import Geo_reference 58 57 59 58 import exceptions … … 488 487 Following lines: <segment #> <vertex #> <vertex #> [boundary tag] 489 488 """ 489 #FIXME (DSG-DSG) Do this to the triangulation keys as well 490 490 if not mesh_dict.has_key('points'): 491 491 mesh_dict['points'] = [] … … 774 774 'num_of_region_tag_chars')) 775 775 outfile.variables['region_tags'][:] = mesh['region_tags'] 776 776 777 # geo_reference info 778 if mesh.has_key('geo_reference') and not mesh['geo_reference'] == None: 779 mesh['geo_reference'].write_NetCDF(outfile) 780 777 781 outfile.close() 778 782 … … 882 886 mesh['region_max_areas'] = array([]) 883 887 #mesh[''] = fid.variables[''][:] 884 888 889 try: 890 geo_reference = Geo_reference(NetCDFObject=fid) 891 mesh['geo_reference'] = geo_reference 892 except AttributeError, e: 893 #geo_ref not compulsory 894 mesh['geo_reference'] = None 895 885 896 fid.close() 886 897 … … 1000 1011 dic['attributelist']['elevation'] = [[7.0,5.0] 1001 1012 """ 1002 #FIXME: This format has issues. There can't be an attribute called points 1003 1013 #FIXME: (DSG)This format has issues. 1014 # There can't be an attribute called points 1015 # consider format change 1004 1016 1005 1017 from Scientific.IO.NetCDF import NetCDFFile … … 1028 1040 attributes[key] = array(fid.variables[key]) 1029 1041 1030 point_atts['attributelist'] = attributes 1042 point_atts['attributelist'] = attributes 1043 1044 try: 1045 geo_reference = Geo_reference(NetCDFObject=fid) 1046 point_atts['geo_reference'] = geo_reference 1047 except AttributeError, e: 1048 #geo_ref not compulsory 1049 point_atts['geo_reference'] = None 1050 1051 1031 1052 fid.close() 1032 1053 … … 1039 1060 WARNING: This function mangles the point_atts data structure 1040 1061 """ 1041 #FIXME: This format has issues. There can't be an attribute called points 1062 #FIXME: (DSG)This format has issues. 1063 # There can't be an attribute called points 1064 # consider format change 1042 1065 1043 1066 from Scientific.IO.NetCDF import NetCDFFile … … 1066 1089 outfile.createVariable(key, Float, ('number_of_points',)) 1067 1090 outfile.variables[key][:] = point_atts['attributelist'][key] #.astype(Float32) 1091 1092 if point_atts.has_key('geo_reference') and not point_atts['geo_reference'] == None: 1093 point_atts['geo_reference'].write_NetCDF(outfile) 1094 1068 1095 outfile.close() 1069 1096 … … 1175 1202 1176 1203 if __name__ == "__main__": 1177 m = import_mesh("tee.txt") 1178 print m 1204 pass -
inundation/ga/storm_surge/pmesh/load_mesh/test_loadASCII.py
r1001 r1010 7 7 # when the title attribute information is not consistent with the data in the 8 8 # file - DSG 9 10 import sys 11 sys.path.append('..') 9 # also test_export_mesh_file tests write_ASCII_triangulation - DSG 12 10 13 11 import tempfile … … 19 17 from os.path import splitext 20 18 21 from Numeric import array #Float, arrayrange, concatenate19 from Numeric import array, allclose 22 20 23 21 from loadASCII import * 24 from Numeric import array, allclose22 from coordinate_transforms.geo_reference import Geo_reference 25 23 26 24 class loadASCIITestCase(unittest.TestCase): … … 49 47 self.dict['segment_tags'] = ['50', '40', '30', '20', '40'] 50 48 self.dict['vertex_attribute_titles'] = ['bed elevation', 'height'] 49 self.dict['geo_reference'] = Geo_reference(1.9,1.9,'zone65') 51 50 52 51 self.sparse_dict ={} … … 153 152 write_ASCII_outline(fd,dict) 154 153 fd.close() 155 loaded_dict = import_mesh(fileName) 154 loaded_dict = import_mesh(fileName) #FIXME function names are wacky 156 155 os.remove(fileName) 157 156 … … 189 188 array(dict['holes']), 190 189 'test_import_mesh failed. Test 6') 190 191 191 def test_export_mesh_file(self): 192 192 import os … … 359 359 array(dict['vertex_attribute_titles']), 360 360 fail_string + ' failed!! Test 8') 361 362 def baaaad(self): 363 364 assert allclose(array(loaded_dict['point_attributes']), 365 array(dict['point_attributes'])) 366 self.failUnless(array(loaded_dict['outline_segments']) == 367 array(dict['outline_segments']), 368 fail_string + ' failed. Test 3') 369 self.failUnless(array(loaded_dict['outline_segment_tags']) == 370 array(dict['outline_segment_tags']), 371 fail_string + ' failed! Test 4') 372 self.failUnless(array(loaded_dict['regions']) == 373 array(dict['regions']), 374 fail_string + ' failed. Test 5') 375 self.failUnless(array(loaded_dict['region_tags']) == 376 array(dict['region_tags']), 377 fail_string + ' failed. Test 5') 378 self.failUnless(array(loaded_dict['region_max_areas']) == 379 array(dict['region_max_areas']), 380 fail_string + ' failed. Test 5') 381 self.failUnless(array(loaded_dict['holes']) == 382 array(dict['holes']), 383 fail_string + ' failed. Test 6') 384 self.failUnless(array(dict['vertices']) == 385 array(loaded_dict['vertices']), 386 fail_string + ' failed. Test 7') 387 self.failUnless(array(dict['triangles']) == 388 array(loaded_dict['triangles']), 389 fail_string + ' failed. Test 8') 390 self.failUnless(array(dict['segments']) == 391 array(loaded_dict['segments']), 392 fail_string + ' failed. Test 9') 393 self.failUnless(array(dict['triangle_tags']) == 394 array(loaded_dict['triangle_tags']), 395 fail_string + ' failed. Test 10') 396 self.failUnless(dict['vertex_attributes'] == 397 loaded_dict['vertex_attributes'], 398 fail_string + ' failed. Test 11') 399 self.failUnless(array(dict['triangle_neighbors']) == 400 array(loaded_dict['triangle_neighbors']), 401 fail_string + ' failed. Test 12') 402 self.failUnless(array(dict['segment_tags']) == 403 array(loaded_dict['segment_tags']), 404 fail_string + ' failed. Test 13') 405 self.failUnless(array(dict['vertex_attribute_titles']) == 406 array(loaded_dict['vertex_attribute_titles']), 407 fail_string + ' failed. Test 14') 408 361 try: 362 self.failUnless(loaded_dict['geo_reference'] == 363 dict['geo_reference'] , 364 fail_string + ' failed!! Test geo_reference') 365 except KeyError: 366 self.failUnless(not dict.has_key('geo_reference' and 367 loaded_dict['geo_reference'] == None) , 368 fail_string + ' failed!! Test geo_reference') 369 409 370 def test_loadpts(self): 410 371 … … 468 429 att_dict['brightness'] = array([10.0, 0.0, 10.4]) 469 430 dict['attributelist'] = att_dict 431 dict['geo_reference'] = Geo_reference(1.9,1.9,'zone65') 470 432 471 433 fileName = tempfile.mktemp(".pts") … … 477 439 assert allclose(dict2['pointlist'],[[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]]) 478 440 assert allclose(dict2['attributelist']['elevation'], [10.0, 0.0, 10.4]) 479 assert allclose(dict2['attributelist']['brightness'], [10.0, 0.0, 10.4]) 441 answer = [10.0, 0.0, 10.4] 442 assert allclose(dict2['attributelist']['brightness'], answer) 443 444 #print "dict['geo_reference'] ",dict['geo_reference'] 445 #print "dict2['geo_reference']",dict2['geo_reference'] 446 447 self.failUnless(dict['geo_reference'] == dict2['geo_reference'], 448 'test_writepts failed. Test geo_reference') 480 449 481 450
Note: See TracChangeset
for help on using the changeset viewer.