def readObsFile(self, filename): self.N, self.stationsOrder, self.obsOrder = Observations(filename) N = self.N self.obs1, self.ObsList = getObs(N) self.obs = obsSplit(self.obs1) for name in self.stationsOrder: item = QTreeWidgetItem(self.treeObs) item.setText(0, name) for t, j in self.obs[name].iteritems(): subitem = QTreeWidgetItem(item) subitem.setText(1, t[0:-2]) if j.type == 'direction': subitem.setText(2, str(rad2dms(j.direction))) subitem.setCheckState(0, Qt.Checked) if j.type == 'distance': subitem.setCheckState(0, Qt.Checked) subitem.setText(3, str(j.distance)) if j.type == 'both': subitem.setText(2, str(rad2dms(j.direction))) subitem.setCheckState(0, Qt.Checked) subitem.setText(3, str(j.distance)) item.setCheckState(0, Qt.Checked)
def readObsFile(self, filename): self.N,self.stationsOrder,self.obsOrder = Observations(filename) N=self.N self.obs1,self.ObsList=getObs(N) self.obs=obsSplit(self.obs1) for name in self.stationsOrder: item = QTreeWidgetItem(self.treeObs) item.setText(0, name) for t,j in self.obs[name].iteritems(): subitem=QTreeWidgetItem(item) subitem.setText(1, t[0:-2]) if j.type=='direction': subitem.setText(2,str( rad2dms(j.direction))) subitem.setCheckState(0, Qt.Checked) if j.type=='distance': subitem.setCheckState(0, Qt.Checked) subitem.setText(3, str(j.distance)) if j.type=='both': subitem.setText(2,str( rad2dms(j.direction))) subitem.setCheckState(0, Qt.Checked) subitem.setText(3, str(j.distance)) item.setCheckState(0, Qt.Checked)
def saveToFileBowditch(self): ''' the bowditch needs to be setup such that the final coordinate is a known point, a single letter, then the reference will be in the next 2 rows, with a dash next to the single letter''' fileName = QFileDialog.getSaveFileName(self, "Open Points File", "", "Excel (*.xlsx)", "") dX, dY = bowditchAdjust(self.provisionals, self.control, self.obsOrder[-1][4:]) self.bowditch.setText("not completed yet.") sumDistance = 0 for i, j in self.obs1.iteritems(): for p, t in j.iteritems(): if self.provisionals.has_key(p): sumDistance = sumDistance + t.distance dX = dX / sumDistance dY = dY / sumDistance fileName = str(fileName) workbook = xlsxwriter.Workbook(fileName) worksheet = workbook.add_worksheet() i = 0 worksheet.write(0, 0, 'Leg') worksheet.write(0, 1, 'Dir/OrCorr./Dis') worksheet.write(0, 2, 'Name') worksheet.write(0, 3, 'Y') worksheet.write(0, 4, 'X') worksheet.write(2, 2, self.control[self.stationsOrder[0]].name) worksheet.write(2, 3, self.control[self.stationsOrder[0]].y) worksheet.write(2, 4, self.control[self.stationsOrder[0]].x) i += 4 temp = self.stationsOrder[0] soFar = 0 format = workbook.add_format() format.set_underline() for nm3 in self.stationsOrder: for nm, ob in self.obs1[nm3].iteritems(): if self.provisionals.has_key(nm): worksheet.write(i, 0, nm3 + "-" + nm) worksheet.write(i, 1, rad2dms(self.obs1[nm3][nm].direction)) worksheet.write(i, 2, nm) worksheet.write(i, 3, round(self.provisionals[nm].y, 3)) worksheet.write(i, 4, round(self.provisionals[nm].x, 3)) i += 1 ldist = self.obs1[nm3][nm].distance soFar += ldist worksheet.write(i, 3, soFar * dY) worksheet.write(i, 4, soFar * dX) i += 1 worksheet.write( i, 1, str(round(self.obs1[nm3][nm].distance, 2)) + "m") worksheet.write(i, 2, nm, format) worksheet.write( i, 3, round(self.provisionals[nm].y + soFar * dY, 2), format) worksheet.write( i, 4, round(self.provisionals[nm].x + soFar * dX, 2), format) i += 2 temp = nm workbook.close()
def saveToFileBowditch(self): ''' the bowditch needs to be setup such that the final coordinate is a known point, a single letter, then the reference will be in the next 2 rows, with a dash next to the single letter''' fileName = QFileDialog.getSaveFileName(self, "Open Points File", "", "Excel (*.xlsx)", "") dX,dY=bowditchAdjust(self.provisionals,self.control,self.obsOrder[-1][4:]) self.bowditch.setText("not completed yet.") sumDistance=0 for i,j in self.obs1.iteritems(): for p,t in j.iteritems(): if self.provisionals.has_key(p): sumDistance=sumDistance+t.distance dX=dX/sumDistance dY=dY/sumDistance fileName=str(fileName) workbook = xlsxwriter.Workbook(fileName) worksheet = workbook.add_worksheet() i=0 worksheet.write(0,0, 'Leg') worksheet.write(0,1, 'Dir/OrCorr./Dis') worksheet.write(0,2, 'Name') worksheet.write(0,3, 'Y') worksheet.write(0,4, 'X') worksheet.write(2,2, self.control[self.stationsOrder[0]].name) worksheet.write(2,3, self.control[self.stationsOrder[0]].y) worksheet.write(2,4, self.control[self.stationsOrder[0]].x) i+=4 temp=self.stationsOrder[0] soFar=0 format = workbook.add_format() format.set_underline() for nm3 in self.stationsOrder: for nm,ob in self.obs1[nm3].iteritems(): if self.provisionals.has_key(nm): worksheet.write(i,0, nm3+"-"+nm) worksheet.write(i,1, rad2dms(self.obs1[nm3][nm].direction)) worksheet.write(i,2, nm) worksheet.write(i,3, round(self.provisionals[nm].y,3)) worksheet.write(i,4, round(self.provisionals[nm].x,3)) i+=1 ldist=self.obs1[nm3][nm].distance soFar+=ldist worksheet.write(i,3,soFar*dY) worksheet.write(i,4,soFar*dX) i+=1 worksheet.write(i,1, str(round(self.obs1[nm3][nm].distance,2))+"m") worksheet.write(i,2, nm,format) worksheet.write(i,3, round(self.provisionals[nm].y+soFar*dY,2),format) worksheet.write(i,4, round(self.provisionals[nm].x+soFar*dX,2),format) i+=2 temp=nm workbook.close()