Changeset 1021


Ignore:
Timestamp:
Mar 7, 2005, 11:18:15 AM (20 years ago)
Author:
duncan
Message:

zone is now an integer.
getting pmesh to handle geo-ref's

Location:
inundation/ga/storm_surge/pmesh
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • inundation/ga/storm_surge/pmesh

    • Property svn:externals
      •  

        old new  
        11alpha_shape https://datamining.anu.edu.au/svn/projects/ga/storm_surge/alpha_shape
         2coordinate_transforms https://datamining.anu.edu.au/svn/projects/ga/storm_surge/pyvolution/coordinate_transforms
  • inundation/ga/storm_surge/pmesh/load_mesh/loadASCII.py

    r1010 r1021  
    10651065   
    10661066    from Scientific.IO.NetCDF import NetCDFFile
    1067 
    10681067    point_atts2array(point_atts)
    10691068    # NetCDF file definition
     
    10891088        outfile.createVariable(key, Float, ('number_of_points',))
    10901089        outfile.variables[key][:] = point_atts['attributelist'][key] #.astype(Float32)
    1091 
     1090       
    10921091    if point_atts.has_key('geo_reference') and not point_atts['geo_reference'] == None:
    10931092        point_atts['geo_reference'].write_NetCDF(outfile)
     
    11701169    return xya_dict
    11711170
    1172                
     1171#FIXME (DSG) need an export_points_file method..               
    11731172def export_xya_file( file_name, xya_dict, title, delimiter = ','):
    11741173    """
  • inundation/ga/storm_surge/pmesh/load_mesh/test_loadASCII.py

    r1010 r1021  
    429429        att_dict['brightness'] = array([10.0, 0.0, 10.4])
    430430        dict['attributelist'] = att_dict
    431         dict['geo_reference'] = Geo_reference(1.9,1.9,'zone65')
     431        dict['geo_reference'] = Geo_reference(1.9,1.9,65)
     432       
    432433       
    433434        fileName = tempfile.mktemp(".pts")
    434435        write_pts(fileName, dict)
    435436        dict2 = load_points_file(fileName)
     437        #print "fileName",fileName
    436438        os.remove(fileName)
    437439        #print "dict2",dict2
     
    589591
    590592    suite = unittest.makeSuite(loadASCIITestCase,'test')
     593    #suite = unittest.makeSuite(loadASCIITestCase,'test_writepts')
    591594    runner = unittest.TextTestRunner() #verbosity=2)
    592595    runner.run(suite)
  • inundation/ga/storm_surge/pmesh/mesh.py

    r1001 r1021  
    459459                                self.regions)
    460460   
    461     def __init__(self, userSegments=None, userVertices=None, holes=None, regions=None):
     461    def __init__(self,
     462                 userSegments=None,
     463                 userVertices=None,
     464                 holes=None,
     465                 regions=None,
     466                 geo_reference=None):
    462467        self.meshTriangles=[]
    463468        self.attributeTitles=[]
    464469        self.meshSegments=[]
    465470        self.meshVertices=[]
     471
     472        #Peters stuff
     473        # FIXME (DSG) Sets of what? 
    466474        self.setID={}
    467475        self.setID['None']=0
     
    488496        else:
    489497            self.regions=regions
     498
     499        if geo_reference is None:
     500            self.geo_reference = None
     501        else:
     502            self.geo_reference = geo_reference
     503           
    490504    def __cmp__(self,other):
    491505       
     
    16651679        """
    16661680        #load_mesh.loadASCII
    1667 
     1681        #FIXME, this should be a mesh2io method
    16681682        if self.meshVertices == []:
    16691683            Vertices = self.userVertices
     
    16891703        xya_dict['pointlist'] = points
    16901704        xya_dict['pointattributelist'] = pointattributes
     1705        xya_dict['geo_reference'] = self.geo_reference
    16911706
    16921707        load_mesh.loadASCII.export_xya_file(ofile, xya_dict, title, delimiter = " ")
     
    17301745        for element in dict_mesh.keys():
    17311746            dict[element] = dict_mesh[element]
     1747
     1748        # add the geo reference
     1749        dict['geo_reference'] = self.geo_reference
    17321750        return dict
    17331751   
     
    22202238
    22212239def importMeshFromFile(ofile):
    2222     """returns a mesh object, made from a .xya or .txh file
     2240    """returns a mesh object, made from a .xya/.pts or .tsh/.msh file
    22232241    Often raises SyntaxError, IOError
    22242242    """
     
    22452263        #print "loading " + ofile
    22462264        dict = load_mesh.loadASCII.load_points_file(ofile)
    2247         #print "dict",dict     
    2248         dict['segmentlist'] = []
    2249         dict['segmenttaglist'] = []
    2250         dict['regionlist'] = []
    2251         dict['regionattributelist'] = []
    2252         dict['regionmaxarealist'] = []
    2253         dict['holelist'] = []
    2254         newmesh= Mesh()
    2255         newmesh.setMesh(dict) #FIXME use IOOutline2Mesh
     2265        #print "dict",dict
     2266        dict['points'] = dict['pointlist']
     2267        dict['outline_segments'] = []
     2268        dict['outline_segment_tags'] = []
     2269        dict['regions'] = []
     2270        dict['region_tags'] = []
     2271        dict['region_max_areas'] = []
     2272        dict['holes'] = []
     2273        newmesh= Mesh(geo_reference = dict['geo_reference'])
     2274        newmesh.IOOutline2Mesh(dict) #FIXME use IOOutline2Mesh
    22562275        counter = newmesh.removeDuplicatedUserVertices()
    22572276        if (counter >0):
  • inundation/ga/storm_surge/pmesh/pmesh.py

    r1001 r1021  
    138138        self.menuBar.addmenuitem('File', 'command', 'Normalise mesh for glutobj',
    139139                                 label='Normalise mesh for glutobj', command=self.normalise4ObjMesh)
     140        self.menuBar.addmenuitem('File', 'separator')
     141        self.menuBar.addmenuitem('File', 'command', '',
     142                                 label='Print geo reference', command=self.printGeoReference)
    140143        self.menuBar.addmenuitem('File', 'separator')
    141144        self.menuBar.addmenuitem('File', 'command', 'Exit program',
     
    989992        seg = self.Segments.draw(v1,v2,self.mesh,self.uniqueID,self.SCALE,self.canvas,None)
    990993        return seg
    991 
     994    def printGeoReference(self):
     995        try:
     996            print "geo reference", self.mesh.geo_reference
     997        except:
     998            print "no geo reference"
     999       
    9921000    def visualiseMesh(self,mesh):
    9931001        """
Note: See TracChangeset for help on using the changeset viewer.