Пример #1
0
 def onObservation(self):
     group=self.visu.curGroupe
     if group not in ['Ecoulement','Transport','PHT3D']: return
     typ=self.curTypO[0]  # B or P
     t=self.curItemps;
     if group=='PHT3D': lesp=self.getNames('PHT3D_Especes_L');
     elif group=='Ecoulement': lesp=['Charge','Flux']
     else : lesp=['Transport']
     lst0=zip(lesp,[False]*len(lesp))
     #dialog to choose species to graph
     if len(lesp)>1: 
         dlg = MyDialogs.MyGenericCtrl(self,'species',lst0)
         if dlg.ShowModal() == wx.ID_OK: 
             lst1=dlg.GetValues();lesp=[]
             for i in range(len(lst1)):
                 if lst1[i][1]:lesp.append(lst1[i][0])
         else :return
     # dialog for type of graph, for flow tis dialog is useless
     lst0=['Valeur','Valeur ponderee','Flux'];
     if group!='Ecoulement': 
         dlg = MyDialogs.MyGenericCtrl(self,'type',[('Choisir :',['Valeur',lst0])])
         if dlg.ShowModal() == wx.ID_OK: #dialog to choose type of graph
             val=dlg.GetValues()[0][1][0];
             typ+=str(lst0.index(val));
         else :return
     dist,val,lab=self.model.onPtObs(typ,t,group,self.curZoneO,lesp)
     plt = MyDialogs.plotxy(self.gui,-1);plt.Show(True)
     znam=self.curZoneO
     if typ[0]=='X': plt.draw(dist,val,lab[1:],znam,lab[0],"val",typ='+');
     else : plt.draw(dist,val,lab[1:],znam,lab[0],"val");
     plt.Raise()
Пример #2
0
 def OnGrapheXY(self,evt):
     """permet de fair eune graphe xy de la vairable representee et des
     donnees"""
     dicData=self.model.getBase('Data');
     groupe, nom, obj = self.visu.getCurrentVisu();#print groupe,nom
     nom = nom.split('_')[-1]
     # recupere les coords des forages et data mesures
     lZone=self.model.Aquifere.getZoneList('Forages')
     nF = len(lZone);mesu=[];lxy=[]  # nb forages dans interface
     if (len(dicData['cols'])!=0)and(nom in dicData['cols']):
         iC=dicData['cols'].index(nom);n=0
         for z in lZone:
             nomF=z.getNom()
             if nomF in dicData['lignes']:
                 n += 1;iR = dicData['lignes'].index(nomF)
                 mesu.append(dicData['data'][iR,iC])
                 lxy.append(z.getXy()[0]);
     else :
         self.OnMessage("pas de donnees");return
     # recupere les donnees simulees (vue actuelle)
     calc = [];
     if len(obj)>=2:  # objet de type contour
         for xy in lxy:
             i,j=self.getIndexPt(xy,obj) # coord du forage ds grille
             calc.append(obj[2][i,j]) # obj contient x,y,z
     self.plt=MyDialogs.plotxy(self.model.gui,-1);self.plt.Show(True)
     self.plt.draw(mesu,calc,nom,"Comparaison", "mesure", "calcul",'+')
Пример #3
0
 def onObservation(self):
     group = self.visu.curGroupe
     if group not in ['Ecoulement', 'Transport', 'PHT3D']: return
     typ = self.curTypO[0]  # B or P
     t = self.curItemps
     if group == 'PHT3D': lesp = self.getNames('PHT3D_Especes_L')
     elif group == 'Ecoulement': lesp = ['Charge', 'Flux']
     else: lesp = ['Transport']
     lst0 = zip(lesp, [False] * len(lesp))
     #dialog to choose species to graph
     if len(lesp) > 1:
         dlg = MyDialogs.MyGenericCtrl(self, 'species', lst0)
         if dlg.ShowModal() == wx.ID_OK:
             lst1 = dlg.GetValues()
             lesp = []
             for i in range(len(lst1)):
                 if lst1[i][1]: lesp.append(lst1[i][0])
         else: return
     # dialog for type of graph, for flow tis dialog is useless
     lst0 = ['Valeur', 'Valeur ponderee', 'Flux']
     if group != 'Ecoulement':
         dlg = MyDialogs.MyGenericCtrl(self, 'type',
                                       [('Choisir :', ['Valeur', lst0])])
         if dlg.ShowModal() == wx.ID_OK:  #dialog to choose type of graph
             val = dlg.GetValues()[0][1][0]
             typ += str(lst0.index(val))
         else:
             return
     dist, val, lab = self.model.onPtObs(typ, t, group, self.curZoneO, lesp)
     plt = MyDialogs.plotxy(self.gui, -1)
     plt.Show(True)
     znam = self.curZoneO
     if typ[0] == 'X':
         plt.draw(dist, val, lab[1:], znam, lab[0], "val", typ='+')
     else:
         plt.draw(dist, val, lab[1:], znam, lab[0], "val")
     plt.Raise()