Example #1
0
    def residuals(self):
        self.stdDevTree.clear()
        self.resid={}
        for x in self.unknowns:
            list=[]
            
            name=x[0:-2]
            item = QTreeWidgetItem(self.stdDevTree)
            item.setText(0, name)
            if not self.resid.has_key(name):
                self.resid[name]=[None,None,None]
            
            if x[-1]=="o":
                self.resid[name][2]=(self.precisi[name+"_o"])
                item.setText(3, str(round(float(self.resid[name][2]),3)))
                
            elif x[-1]=="x":
                self.resid[name][0]=(self.precisi[name+"_x"])
                item.setText(1, str(round(float(self.resid[name][0]),3)))
                
                
            elif x[-1]=="y":
                self.resid[name][1]=(self.precisi[name+"_y"])
                item.setText(2, str(round(float(self.resid[name][1]),3)))
                
        for name in self.unknowns:
            name=x[0:-2]
               
            if not (self.resid[name][2])==None:
                
                if (self.resid[name][0])==None and (self.resid[name][1])==None:
                        item.setText(0, name+"(control)")
        
        self.vtpvLabel.setText("VTPV: "+str(self.vtpv))
        self.vtpvLabel.setVisible(True)
        if float(round(float((self.A.T*self.P*self.V).T*(self.A.T*self.P*self.V)),6))==0.:
            self.numcheckLabel.setVisible(True)
        self.posteriori.setText("Posteriori: "+str(self.posterioriValue))
        self.posteriori.setVisible(True)
        self.posteriori_2.setText(str(round(self.posterioriValue,5)))
        self.posteriori_2.setVisible(True)
        check1=globalCheck(self.provis,self.control,self.V,self.obs,self.unknowns,self.Xdict)
        for x,ob in self.XOdict.iteritems():
            list=[]
            name=x[0:-2]
            item = QTreeWidgetItem(self.stdDevTree)
            item.setText(0, name+" orientation:")
            item.setText(3, str(round(float(self.XOdict[x]),3)))
        sum=0
        for i in check1.values():
            sum+=round(i,4)
        if round(sum,3)==0.:
            self.glocheckLabel.setVisible(True)
        else:
            self.glocheckLabel.setText("GLOBAL UNSUCCESS")       
#             self.glocheckLabel.setStyleSheet(color="red")     
            self.glocheckLabel.setVisible(True) 
Example #2
0
    def writeOut(self):
        fileName = QFileDialog.getSaveFileName(self, "Open Points File", "",
                                               "Text File (*.txt);;", "")
        file = open(fileName, "w")
        file.write("________CONTROL POINTS________\n\n")
        for i, j in self.control.iteritems():
            file.write(i + ":\n" + str(j) + "\n")
        file.write("________UNKNOWNS________\n\n")
        file.write(str(self.unknowns) + '\n\n')
        file.write(
            "_______________________________________ CALCULATIONS _______________________________________ \n\n\n\n"
        )
        k = 0

        for i in range(self.iterations):
            k += 1
            provis = adjustProvisional(self.Xdict, self.provis, self.obs,
                                       self.unknowns)
            A, Xdict, provis, obs, control, unknowns, L = Iterate(
                provis, self.obs, self.control, self.unknowns, self.P)
            X = ((A.T * self.P * A)**-1) * A.T * self.P * L
            Xdict = Points("Solutions Dictionary")
            j = 0
            for i in unknowns:
                Xdict[i] = X[j]
                j += 1
            V, posteriori, covarience_mat, precisi = precisions(
                A, X, self.P, L, obs, unknowns)

            file.write("________ITERATION: " + str(k) + " ________\n\n")

            if float(round(float((A.T * self.P * V).T * (A.T * self.P * V)),
                           6)) == 0.:
                file.write(
                    "____________________________________________________\n\nCalculation check 'A.tPV' successful\n---------------------------------------------\n"
                )
            else:
                file.write(
                    "Calculation check 'A.tPV' unsuccessful to 6 dec places\n\n"
                )

        #     V,posteriori,covarience_mat,precisions
            file.write("________'V.TPV'________\n\n")
            file.write(str(V.T * self.P * V) + '\n\n')
            file.write("________Posteriori________\n\n")
            file.write(str(posteriori) + '\n\n')
            #         file.write("________Covarience Matrix________\n\n")   #    COVARIENCE MATRIX
            #         file.write(str(covarience_mat)+'\n\n')
            file.write("________Precisions of Unknowns ________\n\n")
            for i, j in precisi.iteritems():
                file.write(i + ":\n" + str(round(float(j), 3)) + "\n\n")

            check = globalCheck(provis, control, V, obs, unknowns, Xdict)
            file.write("________Global Check________\n\n")
            for i, j in check.iteritems():
                file.write(i + ":\n" + str(j) + "\n")
            file.write("________________----   END OF ITERATION " + str(k) +
                       "   ----____________\n\n")
            file.write(
                "_______________________________________________________________________\n\n"
            )
        #     showGraph(N,provisionals,control)

        file.write("________FINAL COORDINATES________\n\n")
        for i, j in provis.iteritems():
            file.write(i + ":\n" + str(j) + "\n\n")

        file.write(
            "________X Solution Vector, With distances in meters and directions in seconds ________\n\n"
        )
        for i, j in Xdict.iteritems():
            file.write(i + ":\n" + str(round(float(j), 3)) + "\n\n")
Example #3
0
    def residuals(self):
        self.stdDevTree.clear()
        self.resid = {}
        for x in self.unknowns:
            list = []

            name = x[0:-2]
            item = QTreeWidgetItem(self.stdDevTree)
            item.setText(0, name)
            if not self.resid.has_key(name):
                self.resid[name] = [None, None, None]

            if x[-1] == "o":
                self.resid[name][2] = (self.precisi[name + "_o"])
                item.setText(3, str(round(float(self.resid[name][2]), 3)))

            elif x[-1] == "x":
                self.resid[name][0] = (self.precisi[name + "_x"])
                item.setText(1, str(round(float(self.resid[name][0]), 3)))

            elif x[-1] == "y":
                self.resid[name][1] = (self.precisi[name + "_y"])
                item.setText(2, str(round(float(self.resid[name][1]), 3)))

        for name in self.unknowns:
            name = x[0:-2]

            if not (self.resid[name][2]) == None:

                if (self.resid[name][0]) == None and (
                        self.resid[name][1]) == None:
                    item.setText(0, name + "(control)")

        self.vtpvLabel.setText("VTPV: " + str(self.vtpv))
        self.vtpvLabel.setVisible(True)
        if float(
                round(
                    float((self.A.T * self.P * self.V).T *
                          (self.A.T * self.P * self.V)), 6)) == 0.:
            self.numcheckLabel.setVisible(True)
        self.posteriori.setText("Posteriori: " + str(self.posterioriValue))
        self.posteriori.setVisible(True)
        self.posteriori_2.setText(str(round(self.posterioriValue, 5)))
        self.posteriori_2.setVisible(True)
        check1 = globalCheck(self.provis, self.control, self.V, self.obs,
                             self.unknowns, self.Xdict)
        for x, ob in self.XOdict.iteritems():
            list = []
            name = x[0:-2]
            item = QTreeWidgetItem(self.stdDevTree)
            item.setText(0, name + " orientation:")
            item.setText(3, str(round(float(self.XOdict[x]), 3)))
        sum = 0
        for i in check1.values():
            sum += round(i, 4)
        if round(sum, 3) == 0.:
            self.glocheckLabel.setVisible(True)
        else:
            self.glocheckLabel.setText("GLOBAL UNSUCCESS")
            #             self.glocheckLabel.setStyleSheet(color="red")
            self.glocheckLabel.setVisible(True)
Example #4
0
    def writeOut(self):
        fileName = QFileDialog.getSaveFileName(self,
                "Open Points File",
                "",
                "Text File (*.txt);;", "")
        file = open(fileName, "w")
        file.write("________CONTROL POINTS________\n\n")
        for i,j in self.control.iteritems():
            file.write(i +":\n"+ str(j)+"\n")
        file.write("________UNKNOWNS________\n\n")
        file.write(str(self.unknowns)+'\n\n')
        file.write("_______________________________________ CALCULATIONS _______________________________________ \n\n\n\n")
        k=0  

        for i in range (self.iterations):
            k+=1
            provis=adjustProvisional(self.Xdict,self.provis, self.obs, self.unknowns)
            A,Xdict,provis,obs,control,unknowns,L=Iterate(provis, self.obs, self.control, self.unknowns,self.P)
            X=((A.T*self.P*A)**-1)*A.T*self.P*L
            Xdict=Points("Solutions Dictionary")
            j=0
            for i in unknowns:
                Xdict[i]=X[j]
                j+=1
            V,posteriori,covarience_mat,precisi=precisions(A,X,self.P,L,obs,unknowns)
            
            file.write("________ITERATION: "+str(k)+" ________\n\n")
        
            if float(round(float((A.T*self.P*V).T*(A.T*self.P*V)),6))==0.:
                file.write("____________________________________________________\n\nCalculation check 'A.tPV' successful\n---------------------------------------------\n")
            else:
                file.write("Calculation check 'A.tPV' unsuccessful to 6 dec places\n\n")
            
        #     V,posteriori,covarience_mat,precisions
            file.write("________'V.TPV'________\n\n")
            file.write(str(V.T*self.P*V)+'\n\n')    
            file.write("________Posteriori________\n\n")
            file.write(str(posteriori)+'\n\n') 
        #         file.write("________Covarience Matrix________\n\n")   #    COVARIENCE MATRIX
        #         file.write(str(covarience_mat)+'\n\n')  
            file.write("________Precisions of Unknowns ________\n\n")
            for i,j in precisi.iteritems():
                file.write(i +":\n"+ str(round(float(j),3))+"\n\n")

            
            check=globalCheck(provis,control,V,obs,unknowns,Xdict)
            file.write("________Global Check________\n\n")
            for i,j in check.iteritems():
                file.write(i +":\n"+ str(j)+"\n")
            file.write("________________----   END OF ITERATION "+str(k)+"   ----____________\n\n")
            file.write("_______________________________________________________________________\n\n")
        #     showGraph(N,provisionals,control)
        
        
        file.write("________FINAL COORDINATES________\n\n")
        for i,j in provis.iteritems():
            file.write(i +":\n"+ str(j)+"\n\n")
        
        file.write("________X Solution Vector, With distances in meters and directions in seconds ________\n\n")
        for i,j in Xdict.iteritems():
            file.write(i +":\n"+ str(round(float(j),3))+"\n\n")