def openData(self): try: fileName = FlightPlanBaseDlg.openData(self) if fileName == None: return doc = DataHelper.loadXmlDocFromFile(fileName) dialogNodeList = doc.elementsByTagName(self.objectName()) if dialogNodeList.isEmpty(): raise UserWarning, "self file is not correct." dialogElem = dialogNodeList.at(0).toElement() trackNodeList = dialogElem.elementsByTagName("Track") if trackNodeList.isEmpty(): return elemTrack = trackNodeList.at(0).toElement() elemStart = elemTrack.elementsByTagName("StartPoint").at( 0).toElement() elemEnd = elemTrack.elementsByTagName("EndPoint").at(0).toElement() x, y = DataHelper.getPointValueFromElem(elemStart) self.parametersPanel.txtTrack.captureRadialTool.startPoint = Point3D( x, y) x, y = DataHelper.getPointValueFromElem(elemEnd) self.parametersPanel.txtTrack.captureRadialTool.endPoint = Point3D( x, y) except BaseException as e: QMessageBox.warning(self, "Error", e.message)
def getParameterList(self): parameterList = [] parameterList.append(("general", "group")) parameterList.append(("Runway", "group")) DataHelper.pnlPositionParameter(self.parametersPanel.pnlTHR, parameterList) parameterList.append(("Direction", "Plan : " + QString(str(self.parametersPanel.txtRwyDir.txtRadialPlan.Value)))) parameterList.append(("", "Geodetic : " + QString(str(self.parametersPanel.txtRwyDir.txtRadialGeodetic.Value)))) parameterList.append(("Code", self.parametersPanel.cmbRwyCode.SelectedItem)) if self.parametersPanel.cmbApproachType.SelectedIndex == 0: parameterList.append(("Strip Width", str(self.parametersPanel.txtStripWidth.Value.Metres) + " m")) parameterList.append(("Parameters", "group")) parameterList.append(("Approach Type", self.parametersPanel.cmbApproachType.SelectedItem)) parameterList.append(("Descent Angle", QString(str(self.parametersPanel.txtDescAngle.Value.Degrees)))) parameterList.append(("Minimum Altitude(%s)"%self.parametersPanel.pnlOCAH.cmbMCAH.currentText(), self.parametersPanel.pnlOCAH.txtMCAH.text() + " ft")) parameterList.append(("Construction Type", self.parametersPanel.cmbConstructionType.SelectedItem)) if self.parametersPanel.cmbApproachType.SelectedIndex == 0: parameterList.append(("In-bound Track", "Plan : " + QString(str(self.parametersPanel.txtTrack.txtRadialPlan.Value)))) parameterList.append(("", "Geodetic : " + QString(str(self.parametersPanel.txtTrack.txtRadialGeodetic.Value)))) parameterList.append(("THR to FAF Distance", str(self.parametersPanel.txtThrFaf.Value.NauticalMiles) + " nm")) c = self.obstaclesModel.rowCount() parameterList.append(("Number of Checked Obstacles", str(c))) return parameterList
def saveData(self): fileName = FlightPlanBaseDlg.saveData(self) if fileName == None: return doc = DataHelper.loadXmlDocFromFile(fileName) dialogNodeList = doc.elementsByTagName(self.objectName()) if dialogNodeList.isEmpty(): raise UserWarning, "self file is not correct." dialogElem = dialogNodeList.at(0).toElement() elemTrack = doc.createElement("Track") elemStart = doc.createElement("StartPoint") elemX = doc.createElement("X") elemX.appendChild(doc.createTextNode(str(self.parametersPanel.txtTrack.captureRadialTool.startPoint.x()))) elemY = doc.createElement("Y") elemY.appendChild(doc.createTextNode(str(self.parametersPanel.txtTrack.captureRadialTool.startPoint.y()))) elemStart.appendChild(elemX) elemStart.appendChild(elemY) elemTrack.appendChild(elemStart) elemEnd = doc.createElement("EndPoint") elemX = doc.createElement("X") elemX.appendChild(doc.createTextNode(str(self.parametersPanel.txtTrack.captureRadialTool.endPoint.x()))) elemY = doc.createElement("Y") elemY.appendChild(doc.createTextNode(str(self.parametersPanel.txtTrack.captureRadialTool.endPoint.y()))) elemEnd.appendChild(elemX) elemEnd.appendChild(elemY) elemTrack.appendChild(elemEnd) dialogElem.appendChild(elemTrack) DataHelper.saveXmlDocToFile(fileName, doc)
def exportResult(self): result, resultHideColumnNames = FlightPlanBaseDlg.exportResult(self) if not result: return filePathDir = QFileDialog.getSaveFileName( self, "Export Obstacle Data", QCoreApplication.applicationDirPath(), "ExportObstaclefiles(*.xml)") if filePathDir == "": return if self.ui.cmbSegmentType.SelectedIndex != 0: self.filterList = [ "", PinsSurfaceType.PinsSurfaceType_LevelOIS, PinsSurfaceType.PinsSurfaceType_OCS ] else: self.filterList = ["", PinsSurfaceType.PinsSurfaceType_OIS] # self.ui.btnExportResult.setEnabled(True) parameterList = self.getParameterList() DataHelper.saveExportResult(filePathDir, "PinS Visual Segment for Departures", self.ui.tblObstacles, self.filterList, parameterList, resultHideColumnNames) self.obstaclesModel.setFilterFixedString( self.filterList[self.ui.cmbSurface.currentIndex()])
def openData(self): try: filePathDir = QFileDialog.getOpenFileName(self, "Open Input Data",QCoreApplication.applicationDirPath (),"Xml Files(*.xml)") if filePathDir == "": return DataHelper.loadInputParameters(filePathDir, self) return filePathDir except UserWarning as e: QMessageBox.warning(self, "Error", e.message)
def exportResult(self): result, resultHideColumnNames = FlightPlanBaseDlg.exportResult(self) if not result: return filePathDir = QFileDialog.getSaveFileName(self, "Export Obstacle Data", QCoreApplication.applicationDirPath (),"ExportObstaclefiles(*.xml)") if filePathDir == "": return parameterList = self.getParameterList() DataHelper.saveExportResult(filePathDir, self.surfaceType, self.ui.tblObstacles, None, parameterList, resultHideColumnNames)
def exportResult(self): result, resultHideColumnNames = FlightPlanBaseDlg.exportResult(self) if not result: return filePathDir = QFileDialog.getSaveFileName(self, "Export Obstacle Data", QCoreApplication.applicationDirPath (),"ExportObstaclefiles(*.xml)") if filePathDir == "": return # self.ui.btnExportResult.setEnabled(True) parameterList = self.getParameterList() DataHelper.saveExportResult(filePathDir, "PinS Visual Segment for Approaches", self.ui.tblObstacles, None, parameterList, resultHideColumnNames)
def exportResult(self): filePathDir = QFileDialog.getSaveFileName( self, "Export Obstacle Data", QCoreApplication.applicationDirPath(), "ExportObstaclefiles(*.xml)") if filePathDir == "": return # self.filterList = [] # for taaArea in self.taaCalculationAreas: # self.filterList.append(taaArea.title) parameterList = self.getParameterList() DataHelper.saveExportResult(filePathDir, SurfaceTypes.HoldingRnp, self.ui.tblObstacles, None, parameterList) # self.obstaclesModel.setFilterFixedString(self.filterList[self.ui.cmbObstSurface.currentIndex()]) return FlightPlanBaseDlg.exportResult(self)
def openData(self): try: filePathDir = QFileDialog.getOpenFileName(self, "Open Input Data",QCoreApplication.applicationDirPath (),"Xml Files(*.xml)") if filePathDir == "": return layers = define._canvas.layers() if layers != None and len(layers) > 0: for layer in layers: if layer.name() == "Symbols": self.currentLayer = layer try: self.initAerodromeAndRwyCmb() except: pass try: self.initBasedOnCmb() except: pass break # contents = None # with open(filePathDir, 'rb', 0) as tempFile: # contents = tempFile.read() # tempFile.close() # bytes = FasDataBlockFile.CRC_Calculation(contents) # # string_0 = QString(filePathDir) # crcFileDir = string_0.left(string_0.length() - 3) + "crc" # crcFileContents = None # with open(crcFileDir, 'rb', 0) as tempFileCrc: # crcFileContents = tempFileCrc.read() # tempFileCrc.close() # if bytes != crcFileContents: # QMessageBox.warning(self, "Error", "Input file has been changed by outside.") # return DataHelper.loadInputParameters(filePathDir, self) return filePathDir except UserWarning as e: QMessageBox.warning(self, "Error", e.message)
def exportResult(self): result, resultHideColumnNames = FlightPlanBaseDlg.exportResult(self) if not result: return filePathDir = QFileDialog.getSaveFileName( self, "Export Obstacle Data", QCoreApplication.applicationDirPath(), "ExportObstaclefiles(*.xml)") if filePathDir == "": return # self.filterList = [] # for taaArea in self.taaCalculationAreas: # self.filterList.append(taaArea.title) parameterList = self.getParameterList() DataHelper.saveExportResult(filePathDir, SurfaceTypes.HoldingRnp, self.ui.tblObstacles, None, parameterList, resultHideColumnNames)
def saveData(self): try: filePathDir = QFileDialog.getSaveFileName(self, "Save Input Data",QCoreApplication.applicationDirPath (),"Xml Files(*.xml)") if filePathDir == "": return DataHelper.saveInputParameters(filePathDir, self) # contents = None # with open(filePathDir, 'rb', 0) as tempFile: # contents = tempFile.read() # tempFile.flush() # tempFile.close() # bytes = FasDataBlockFile.CRC_Calculation(contents) # string_0 = QString(filePathDir) # path = string_0.left(string_0.length() - 3) + "crc" # fileStream = open(path, 'wb') # fileStream.write(bytes) # fileStream.close() return filePathDir except UserWarning as e: QMessageBox.warning(self, "Error", e.message)
def getParameterList(self): parameterList = [] parameterList.append(("general", "group")) parameterList.append(("Parameters", "group")) parameterList.append( ("Visual Segment Type", self.ui.cmbSegmentType.SelectedItem)) parameterList.append( ("VSDG", str(self.ui.txtVSDG.Value.Percent) + " %")) parameterList.append( ("Minimum(%s)" % self.pnlMCAH.cmbMCAH.currentText(), self.pnlMCAH.txtMCAH.text() + " ft")) parameterList.append( ("Construction Type", self.ui.cmbConstructionType.SelectedItem)) if self.ui.cmbSegmentType.SelectedIndex != 0: parameterList.append( ("Departure Type", self.ui.cmbDepartureType.SelectedItem)) parameterList.append( ("Out-bound Take-off Surface Track", "Plan : " + str(self.parametersPanel.txtTakeOffSurfaceTrack. txtRadialPlan.Value) + define._degreeStr)) parameterList.append( ("", "Geodetic : " + str(self.parametersPanel.txtTakeOffSurfaceTrack. txtRadialGeodetic.Value) + define._degreeStr)) # parameterList.append(("Out-bound Take-off Surface Track", self.ui.txtTakeOffSurfaceTrack.Value + unicode(" °", "utf-8"))) if self.ui.chbRightTurnProhibited.isChecked(): parameterList.append(("Limitation", "Right turn prohibited")) else: parameterList.append(("Limitation", "Left turn prohibited")) else: parameterList.append( ("MOC", str(self.ui.txtMOC.Value.Metres) + " m")) parameterList.append(("", str(self.ui.txtMOC.Value.Feet) + " ft")) parameterList.append(("Initial Departure Fix (IDF)", "group")) # parameterList.append(("X", self.pnlIDF.txtPointX.text())) # parameterList.append(("Y", self.pnlIDF.txtPointY.text())) DataHelper.pnlPositionParameter(self.pnlIDF, parameterList) if self.ui.cmbSegmentType.SelectedIndex == 0: parameterList.append( ("Track From", "Plan : " + str(self.ui.txtTrackFrom.txtRadialPlan.Value) + define._degreeStr)) parameterList.append( ("", "Geodetic : " + str(self.ui.txtTrackFrom.txtRadialGeodetic.Value) + define._degreeStr)) # parameterList.append(("Track From", self.ui.txtTrackFrom.Value + unicode(" °", "utf-8"))) parameterList.append(("Heliport", "group")) DataHelper.pnlPositionParameter(self.pnlHRP, parameterList) parameterList.append( ("Safety Area Length", str(self.ui.txtHSAL.Value.Metres) + " m")) parameterList.append( ("Safety Area Width", str(self.ui.txtHSAW.Value.Metres) + " m")) parameterList.append(("Results / Checked Obstacles", "group")) parameterList.append(("Checked Obstacles", "group")) for strFilter in self.filterList: self.obstaclesModel.setFilterFixedString(strFilter) c = self.obstaclesModel.rowCount() parameterList.append( ("Number of Checked Obstacles(%s)" % strFilter, str(c))) return parameterList