def btnEvaluate_Click(self):

        # self.complexObstacleArea.ObstacleArea = None
        #
        # ObstacleTable.MocMultiplier = self.parametersPanel.mocSpinBox.value()
        # self.obstaclesModel = TurnProtectionAndObstacleAssessmentObstacles(self.complexObstacleArea, self.parametersPanel.pnlPrimaryMoc.Value, self.parametersPanel.pnlAltitude.Value, self.manualPolygon )


        FlightPlanBaseDlg.btnEvaluate_Click(self)
        self.ui.btnLocate.setEnabled(True)
Ejemplo n.º 2
0
    def initParametersPan(self):
        ui = Ui_NpaOnFix()
        self.parametersPanel = ui
        FlightPlanBaseDlg.initParametersPan(self)

        if self.dlgType != "NpaOnFix":
            self.parametersPanel.pnlDistFixTolerance.Visible = False

        self.parametersPanel.cmbAircraftCategory.Items = [
            "A", "B", "C", "D", "E", "H", "Custom"
        ]

        self.connect(self.parametersPanel.pnlAerodromeAltitude,
                     SIGNAL("editingFinished"), self.altitudeChanged)
        self.connect(self.parametersPanel.pnlIas, SIGNAL("Event_0"),
                     self.altitudeChanged)
        self.connect(self.parametersPanel.pnlTas, SIGNAL("Event_0"),
                     self.showMarkDaSoc)
        self.connect(self.parametersPanel.pnlIsa, SIGNAL("editingFinished"),
                     self.altitudeChanged)
        self.connect(self.parametersPanel.pnlEstimatedAltitude,
                     SIGNAL("Event_0"), self.pnlEstimatedAltitude_Event_0)
        self.connect(self.parametersPanel.pnlEstimatedAltitude,
                     SIGNAL("editingFinished"), self.showMarkDaSoc)
        self.connect(self.parametersPanel.cmbAircraftCategory,
                     SIGNAL("Event_0"), self.cmbAircraftCategory_Event_0)
        # # self.connect(self.parametersPanel.cmbPhaseOfFlight, SIGNAL("Event_0"), self.cmbPhaseOfFlightChanged)
        # # self.connect(self.parametersPanel.cmbSelectionMode, SIGNAL("Event_0"), self.manualEvent)
        # self.connect(self.parametersPanel.pnlHeightLoss, SIGNAL("Event_0"), self.pnlHeightLoss_Event_0)
        self.connect(self.parametersPanel.pnlDistFixTolerance,
                     SIGNAL("editingFinished"), self.showMarkDaSoc)
        # self.connect(self.parametersPanel.pnlRDH, SIGNAL("editingFinished"), self.pnlRDH_Event_0)
        self.connect(self.parametersPanel.pnlDistX, SIGNAL("Event_0"),
                     self.showMarkDaSoc)
        # # self.connect(self.parametersPanel.cmbType2, SIGNAL("Event_0"), self.method_31)
        #
        self.connect(self.parametersPanel.pnlFafPosition,
                     SIGNAL("positionChanged"), self.calcRwyBearing)
        self.connect(self.parametersPanel.pnlMaPtPosition,
                     SIGNAL("positionChanged"), self.calcRwyBearing)
        self.connect(self.parametersPanel.pnlThrPosition,
                     SIGNAL("positionChanged"), self.showMarkDaSoc)

        self.parametersPanel.pnlFafPosition.btnCalculater.clicked.connect(
            self.pnlFafPosition_btnCalculater_clicked)
        self.parametersPanel.pnlMaPtPosition.btnCalculater.clicked.connect(
            self.pnlMaPtPosition_btnCalculater_clicked)

        #
        self.parametersPanel.cmbAircraftCategory.SelectedIndex = 0

        # self.putAircraftSpeed()
        self.altitudeChanged()
        # self.putWithInHeightLoss()
        self.calcSocAltitude()
Ejemplo n.º 3
0
    def __init__(self, parent, dlgType):



        FlightPlanBaseDlg.__init__(self, parent)

        # self.dlgType = dlgType

        self.setObjectName("PaIlsDlg")
        self.dlgType = dlgType
        if self.dlgType == "NpaOnFix":
            self.surfaceType = SurfaceTypes.NpaOnFix
        else:
            self.surfaceType = SurfaceTypes.NpaOverheadingNavaid
        self.initParametersPan()
        self.setWindowTitle(self.surfaceType)
        self.resize(540, 600)
        QgisHelper.matchingDialogSize(self, 650, 700)
        self.surfaceList = None
        self.manualPolygon = None

        self.mapToolPan = None
        self.toolSelectByPolygon = None

        self.accepted.connect(self.closed)
        self.rejected.connect(self.closed)

        self.wptLayer = None

        self.arpFeatureArray = []
        self.currentLayer = define._canvas.currentLayer()
        self.rwyFeatureArray = []
        self.rwyEndPosition = None
        self.initAerodromeAndRwyCmb()
        
        self.socRubber = None
        self.socAnnotation = QgsTextAnnotationItem(define._canvas)
        self.socAnnotation.setDocument(QTextDocument(Captions.SOC))
        self.socAnnotation.setFrameBackgroundColor(Qt.white)
        self.socAnnotation.setFrameSize(QSizeF(30, 20))
        self.socAnnotation.setFrameColor(Qt.magenta)
        self.socAnnotation.hide()
        self.socPoint3d = None
        
        self.daRubber = None
        self.daAnnotation = QgsTextAnnotationItem(define._canvas)
        self.daAnnotation.setDocument(QTextDocument(Captions.DA))
        self.daAnnotation.setFrameBackgroundColor(Qt.white)
        self.daAnnotation.setFrameSize(QSizeF(30, 20))
        self.daAnnotation.setFrameColor(Qt.magenta)
        self.daAnnotation.hide()
        self.daPoint3d = None

        self.annotationFAWP = self.parametersPanel.pnlFafPosition.annotation
        self.annotationMAPt = self.parametersPanel.pnlMaPtPosition.annotation
 def __init__(self, parent):
     '''
     Constructor
     '''
     FlightPlanBaseDlg.__init__(self, parent)
     self.setObjectName("HoldingRnp")
     self.surfaceType = SurfaceTypes.EnrouteStraight
     self.initParametersPan()
     self.setWindowTitle(SurfaceTypes.EnrouteStraight)
     self.resultLayerList = []
     self.resize(540, 550)
Ejemplo n.º 5
0
    def __init__(self, parent):
        '''
        Constructor
        '''
        FlightPlanBaseDlg.__init__(self, parent)
        self.setObjectName("HoldingRnp")
        self.surfaceType = SurfaceTypes.HoldingRnp
        self.initParametersPan()
        self.setWindowTitle(SurfaceTypes.HoldingRnp)

        self.resize(540, 550)
        QgisHelper.matchingDialogSize(self, 710, 700)
Ejemplo n.º 6
0
    def __init__(self, parent):
        FlightPlanBaseDlg.__init__(self, parent)
        self.setObjectName("ChartingGridDlg")
        self.surfaceType = SurfaceTypes.ChartingGrid

        self.initParametersPan()
        self.uiStateInit()
        self.setWindowTitle(SurfaceTypes.ChartingGrid)
        self.resize(500, 400)

        self.constructionLayer = None
        self.selectedRow = None
Ejemplo n.º 7
0
    def initParametersPan(self):
        ui = Ui_PaIls()
        self.parametersPanel = ui
        FlightPlanBaseDlg.initParametersPan(self)

        items = []
        for i in range(25, 71):
            num = float(i) / 10
            items.append(QString(str(num)) + define._degreeStr)
        self.parametersPanel.cmbVPA.Items = items
        self.parametersPanel.cmbVPA.SelectedIndex = 5

        self.parametersPanel.cmbAircraftCategory.Items = ["A", "B", "C", "D", "E", "H", "Custom"]


        # self.parametersPanel.pnlWind.setAltitude(self.parametersPanel.pnlAltitude.Value)
        #
        # self.parametersPanel.cmbSelectionMode.Items = ["Automatic", "Manual"]
        #
        # self.parametersPanel.cmbConstructionType.Items = ["2D", "3D"]
        # self.parametersPanel.cmbType1.Items = ["Fly-By", "Fly-Over", "RF"]
        # self.parametersPanel.cmbType2.Items = ["Fly-By", "Fly-Over", "RF"]
        #
        # self.parametersPanel.cmbRnavSpecification.Items = ["", "Rnav5", "Rnav2", "Rnav1", "Rnp4", "Rnp2", "Rnp1", "ARnp2", "ARnp1", "ARnp09", "ARnp08", "ARnp07", "ARnp06", "ARnp05", "ARnp04", "ARnp03", "RnpApch"]
        #
        #
        self.connect(self.parametersPanel.pnlAerodromeAltitude, SIGNAL("Event_0"), self.altitudeChanged)
        self.connect(self.parametersPanel.pnlIas, SIGNAL("Event_0"), self.altitudeChanged)
        self.connect(self.parametersPanel.pnlIsa, SIGNAL("Event_0"), self.altitudeChanged)
        self.connect(self.parametersPanel.pnlEstimatedAltitude, SIGNAL("Event_0"), self.pnlEstimatedAltitude_Event_0)
        self.connect(self.parametersPanel.pnlEstimatedAltitude, SIGNAL("editingFinished"), self.showMarkDaSoc)
        self.connect(self.parametersPanel.cmbVPA, SIGNAL("Event_0"), self.cmbVPA_Event_0)
        self.connect(self.parametersPanel.cmbAircraftCategory, SIGNAL("Event_0"), self.cmbAircraftCategory_Event_0)
        # self.connect(self.parametersPanel.cmbPhaseOfFlight, SIGNAL("Event_0"), self.cmbPhaseOfFlightChanged)
        # self.connect(self.parametersPanel.cmbSelectionMode, SIGNAL("Event_0"), self.manualEvent)
        self.connect(self.parametersPanel.pnlHeightLoss, SIGNAL("Event_0"), self.pnlHeightLoss_Event_0)
        self.connect(self.parametersPanel.pnlHeightLoss, SIGNAL("editingFinished"), self.showMarkDaSoc)
        self.connect(self.parametersPanel.pnlRDH, SIGNAL("editingFinished"), self.pnlRDH_Event_0)
        self.connect(self.parametersPanel.pnlDistXz, SIGNAL("Event_0"), self.showMarkDaSoc)
        # self.connect(self.parametersPanel.cmbType2, SIGNAL("Event_0"), self.method_31)
        #
        self.connect(self.parametersPanel.pnlFapPosition, SIGNAL("positionChanged"), self.calcRwyBearing)
        self.connect(self.parametersPanel.pnlThrPosition, SIGNAL("positionChanged"), self.calcRwyBearing)

        self.parametersPanel.pnlFapPosition.btnCalculater.clicked.connect(self.pnlFapPosition_btnCalculater_clicked)
        #
        self.parametersPanel.cmbAircraftCategory.SelectedIndex = 0

        self.putAircraftSpeed()
        self.altitudeChanged()
        self.putWithInHeightLoss()
        self.calcSocAltitude()
        self.putDistances()
Ejemplo n.º 8
0
    def initParametersPan(self):
        ui = Ui_HoldingRace_P()
        self.parametersPanel = ui
        FlightPlanBaseDlg.initParametersPan(self)

        self.parametersPanel.txtTas.setEnabled(False)
        self.parametersPanel.pnlInsPos = PositionPanel(
            self.parametersPanel.gbVorDmePosition)
        #         self.parametersPanel.pnlInsPos.groupBox.setTitle("FAWP")
        self.parametersPanel.pnlInsPos.btnCalculater.hide()
        self.parametersPanel.pnlInsPos.hideframe_Altitude()
        self.parametersPanel.pnlInsPos.setObjectName("pnlInsPos")
        ui.vl_VorDmePosition.addWidget(self.parametersPanel.pnlInsPos)

        self.parametersPanel.pnlWind = WindPanel(
            self.parametersPanel.gbParameters)
        self.parametersPanel.pnlWind.lblIA.setMinimumSize(250, 0)
        self.parametersPanel.vl_gbParameters.insertWidget(
            6, self.parametersPanel.pnlWind)
        self.parametersPanel.pnlWind.setAltitude(
            Altitude(float(self.parametersPanel.txtAltitude.text()),
                     AltitudeUnits.FT))

        self.parametersPanel.cmbAircraftCategory.addItems(
            ["A", "B", "C", "D", "E", "H", "Custom"])
        #         self.parametersPanel.cmbOutboundLimit.addItems(["Time", "Distance From Waypoint"])
        #         self.parametersPanel.cmbConstruction.addItems(["2D", "3D"])
        self.parametersPanel.cmbOrientation.addItems(["Right", "Left"])

        self.parametersPanel.cmbAircraftCategory.setCurrentIndex(3)
        self.parametersPanel.frameAircraftCategory.hide()
        self.parametersPanel.frameMoc.hide()

        #         self.parametersPanel.cmbHoldingFunctionality.currentIndexChanged.connect(self.cmbHoldingFunctionalityCurrentIndexChanged)
        #         self.parametersPanel.cmbOutboundLimit.currentIndexChanged.connect(self.cmbOutboundLimitCurrentIndexChanged)
        #         self.parametersPanel.btnCaptureTrack.clicked.connect(self.captureBearing)
        #         self.parametersPanel.btnCaptureDistance.clicked.connect(self.measureDistance)
        #         self.parametersPanel.btnCaptureLength.clicked.connect(self.measureLength)
        self.parametersPanel.txtAltitude.textChanged.connect(
            self.altitudeChanged)
        #         self.parametersPanel.cmbAircraftCategory.currentIndexChanged.connect(self.changeCategory)
        #         self.parametersPanel.btnIasHelp.clicked.connect(self.iasHelpShow)
        self.parametersPanel.txtIas.textChanged.connect(self.iasChanged)
        self.parametersPanel.txtIsa.textChanged.connect(self.isaChanged)

        self.parametersPanel.txtTas.setText(
            str(
                Speed.smethod_0(
                    Speed(float(self.parametersPanel.txtIas.text())),
                    float(self.parametersPanel.txtIsa.text()),
                    Altitude(float(self.parametersPanel.txtAltitude.text()),
                             AltitudeUnits.FT)).Knots))
 def __init__(self, parent):
     FlightPlanBaseDlg.__init__(self, parent)
     self.setObjectName("DepartureOmnidirectionalDlg")
     self.surfaceType = SurfaceTypes.DepartureOmnidirectional
     self.initParametersPan()
     self.setWindowTitle(SurfaceTypes.DepartureOmnidirectional)
     self.resize(540, 700)
     QgisHelper.matchingDialogSize(self, 600, 700)
     self.surfaceList = None
     self.manualPolygon = None
     self.area123 = []
     self.circleArea = None
     self.resultLayerList = []
    def __init__(self, parent):
        FlightPlanBaseDlg.__init__(self, parent)
        self.setObjectName("HoldingOverHeadDlg")
        self.surfaceType = SurfaceTypes.HoldingOverHead
        self.initParametersPan()
        self.setWindowTitle(SurfaceTypes.HoldingOverHead)
        self.resize(540, 550)
        QgisHelper.matchingDialogSize(self, 630, 610)
        self.surfaceList = None
        self.resultLayerList = dict()

        self.vorDmeFeatureArray = []
        self.currentLayer = define._canvas.currentLayer()
        self.initBasedOnCmb()
Ejemplo n.º 11
0
    def resultPointValueListMethod(self, resultValueList):
        flag = FlightPlanBaseDlg.btnConstruct_Click(self)
        if not flag:
            return
        point  = Point3D()
        try:
            point = Point3D(float(resultValueList[1]), float(resultValueList[2]), float(resultValueList[3]))
        except:
            return
        if (not self.flagP):
            mapUnits = define._canvas.mapUnits()
            self.constructionLayer = AcadHelper.createVectorLayer(self.surfaceType)

            self.point3dP = point.smethod_167(0);
            self.origin1P = self.method_31(self.polylineP, self.originP, self.point3dP, self.numP, self.metresP, self.speedP, self.num2P, self.orientationTypeP);
            AcadHelper.setGeometryAndAttributesInLayer(self.constructionLayer, self.polylineP)
            QgisHelper.appendToCanvas(define._canvas, [self.constructionLayer], self.surfaceType)

            # polyline.Draw();
        else:

            mapUnits = define._canvas.mapUnits()
            self.constructionLayer = AcadHelper.createVectorLayer(self.surfaceType)
            self.originP = point.smethod_167(0);
            self.polylineP, self.origin1P = self.method_30(self.originP, self.numP, self.metresP, self.speedP, self.num2P, self.orientationTypeP);
            AcadHelper.setGeometryAndAttributesInLayer(self.constructionLayer, self.polylineP)
            QgisHelper.appendToCanvas(define._canvas, [self.constructionLayer], self.surfaceType)
            # AcadHelper.smethod_18(transaction, blockTableRecord, polyline, constructionLayer);
        self.flagP = not self.flagP;
        self.resultLayerList = [self.constructionLayer]
        if (not self.flagP):
            define._messageLabel.setText(Prompts.SECOND_POSITION_FINISH);
        else:
            define._messageLabel.setText(Prompts.POSITION_FINISH)
        pass
    def btnEvaluate_Click(self):
        point3dCollection = None
        point3dCollection1 = None
        polylineArea = None
        polylineArea1 = None
        polylineArea2 = None
        primaryObstacleArea = None
        #         if (self.parametersPanel.cmbSelectionMode.currentText() == "Manual" and not self.pnlSelectionMode.method_0()):
        #             return;
        result, point3dCollection, point3dCollection1, polylineArea, polylineArea1, polylineArea2 = self.method_34(
        )
        if (not result):
            return
        point3d = self.parametersPanel.pnlDer.Point3d
        num = MathHelper.getBearing(self.parametersPanel.pnlRwyStart.Point3d,
                                    point3d)
        percent = float(self.parametersPanel.txtMoc.text())
        percent1 = float(self.parametersPanel.txtPdg.text())

        ObstacleTable.MocMultiplier = self.parametersPanel.mocSpinBox.value()
        self.obstaclesModel = DepartureOmnidirectionalObstacles(
            point3d, num,
            Altitude(float(self.parametersPanel.txtTurningAltitude.text()),
                     AltitudeUnits.FT), percent, percent1,
            self.parametersPanel.chbCatH.isChecked(), point3dCollection,
            point3dCollection1, polylineArea1, polylineArea2,
            self.manualPolygon)

        #
        return FlightPlanBaseDlg.btnEvaluate_Click(self)
Ejemplo n.º 13
0
    def __init__(self, parent):
        FlightPlanBaseDlg.__init__(self, parent)

        self.currentLayer = define._canvas.currentLayer()
        self.setObjectName("RadialDlg")
        self.surfaceType = SurfaceTypes.Radial
        self.initParametersPan()
        self.setWindowTitle(SurfaceTypes.Radial)
        self.resize(540, 550)
        QgisHelper.matchingDialogSize(self, 720, 550)
        self.surfaceList = None
        self.complexObstacleArea = ComplexObstacleArea()

        self.vorDmeFeatureArray = []

        self.initBasedOnCmb()
Ejemplo n.º 14
0
    def showMarkDaSoc(self):
        try:
            flag = FlightPlanBaseDlg.btnConstruct_Click(self)

            self.putDistances()

            point3dMapt = self.parametersPanel.pnlMaPtPosition.Point3d
            socLayer = AcadHelper.createVectorLayer(
                "SOC_MAPt_" + self.surfaceType, QGis.Point)
            AcadHelper.setGeometryAndAttributesInLayer(socLayer,
                                                       self.socPoint3d, False,
                                                       {"Caption": "SOC"})
            AcadHelper.setGeometryAndAttributesInLayer(socLayer, point3dMapt,
                                                       False,
                                                       {"Caption": "MAPt"})

            QgisHelper.appendToCanvas(define._canvas, [socLayer],
                                      self.surfaceType)

            palSetting = QgsPalLayerSettings()
            palSetting.readFromLayer(socLayer)
            palSetting.enabled = True
            palSetting.fieldName = "Caption"
            palSetting.isExpression = True
            palSetting.placement = QgsPalLayerSettings.AroundPoint
            palSetting.setDataDefinedProperty(QgsPalLayerSettings.Size, True,
                                              True, '8', "")
            palSetting.writeToLayer(socLayer)

            self.resultLayerList = [socLayer]

            return socLayer
        except:
            pass
    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 btnConstruct_Click(self):
        flag = FlightPlanBaseDlg.btnConstruct_Click(self)
        if not flag:
            return
        try:
            self.method_27(True)
            if (self.ui.cmbSegmentType.SelectedIndex != 0):
                self.pinSVisualSegmentDepManouvering = PinSVisualSegmentDepManouvering(
                    self)
            else:
                self.pinSVisualSegmentDepManouvering = PinSVisualSegmentDepDirect(
                    self)

            layersList = []
            if self.ui.cmbConstructionType.SelectedItem != ConstructionType.Construct2D:
                self.pinSVisualSegmentDepManouvering.imethod_2(layersList)
            else:
                self.pinSVisualSegmentDepManouvering.imethod_1(layersList)

            QgisHelper.appendToCanvas(define._canvas, layersList,
                                      SurfaceTypes.PinSVisualSegmentDep)
            QgisHelper.zoomToLayers(layersList)
            self.resultLayerList = layersList
            self.ui.btnEvaluate.setEnabled(True)
        except UserWarning as e:
            QMessageBox.warning(self, "Error", e.message)
Ejemplo n.º 17
0
    def btnConstruct_Click(self):
        flag = FlightPlanBaseDlg.btnConstruct_Click(self)
        if not flag:
            return
        value = Speed(float(self.parametersPanel.txtIas.text()),SpeedUnits.KTS);
        if (self.parametersPanel.chbDeparture.isChecked()):
            value = value + (value / 10);
        altitude = Altitude(float(self.parametersPanel.txtAltitudeFt.text()), AltitudeUnits.FT);
        value1 = float(self.parametersPanel.txtIsa.text());
        num1 = float (self.parametersPanel.txtBankAngle.text());
        self.speedP = self.parametersPanel.pnlWind.Value;
        self.num2P = Unit.ConvertDegToRad(float(self.parametersPanel.txtTrackRadial.Value));
        self.orientationTypeP = self.parametersPanel.cmbOrientation.currentText();
        speed1 = Speed.smethod_0(value, value1, altitude);
        numList = []
        distance = Distance.smethod_1(speed1, num1, numList);
        self.numP = numList[0]
        self.metresP = distance.Metres;

        self.originP = Point3D.get_Origin();
        self.point3dP = Point3D.get_Origin();
        self.origin1P = Point3D.get_Origin();
        self.polylineP = PolylineArea();
        self.flagP = True;


        define._canvas.setMapTool(self.CaptureCoordTool)
    def __init__(self, parent):
        FlightPlanBaseDlg.__init__(self, parent)
        self.setObjectName("VisualSegmentSurfaceDlg")
        self.surfaceType = SurfaceTypes.VisualSegmentSurface
        self.initParametersPan()
        self.setWindowTitle(SurfaceTypes.VisualSegmentSurface)
        QgisHelper.matchingDialogSize(self, 700, 650)
        # self.captureTrackTool= CaptureBearingTool(define._canvas, self.parametersPanel.txtTrack)
        self.surfaceArea = None

        self.arpFeatureArray = []
        self.currentLayer = define._canvas.currentLayer()
        self.rwyFeatureArray = []
        self.thrPoint3d = None
        self.thrEndPoint3d = None
        self.initAerodromeAndRwyCmb()
 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 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)
Ejemplo n.º 21
0
    def initParametersPan(self):
        ui = Ui_Radial()
        self.parametersPanel = ui
        FlightPlanBaseDlg.initParametersPan(self)
        
        self.parametersPanel.pnlNavAid = PositionPanel(self.parametersPanel.gbNavAid)
#         self.parametersPanel.pnlNavAid.groupBox.setTitle("Aerodrome Reference Point(ARP)")
        self.parametersPanel.pnlNavAid.btnCalculater.hide()
        self.parametersPanel.pnlNavAid.hideframe_Altitude()
        self.parametersPanel.pnlNavAid.setObjectName("pnlNavAid")
        ui.vl_gbNavAid.addWidget(self.parametersPanel.pnlNavAid)
        
        self.parametersPanel.cmbNavAidType.Items = ["VOR", "NDB"]
        self.parametersPanel.cmbSelectionMode.addItems(["Automatic", "Manual"])
#         self.parametersPanel.cmbSensorType.currentIndexChanged.connect(self.cmbSensorTypeChanged)
        self.parametersPanel.cmbToleranceType.addItems(["Intersecting", "Tracking", "Area Splay"])
        self.parametersPanel.cmbConstructionType.addItems(["2D", "3D"])
        
        
                
        self.parametersPanel.cmbConstructionType.currentIndexChanged.connect(self.method_28)
        self.connect(self.parametersPanel.cmbNavAidType, SIGNAL("Event_0"), self.method_28)
        # self.parametersPanel.btnCaptureTrackRadial.clicked.connect(self.captureTrackRadial)
#         self.parametersPanel.chbHideCloseInObst.stateChanged.connect(self.chbHideCloseInObstStateChanged)
        self.parametersPanel.btnCaptureDistFinish.clicked.connect(self.measureDistFinish)
        self.parametersPanel.btnCaptureDistStart.clicked.connect(self.measureDistStart)        
#         self.parametersPanel.txtAltitude.textChanged.connect(self.altitudeChanged)
        self.parametersPanel.cmbToleranceType.currentIndexChanged.connect(self.method_28)
#         self.parametersPanel.btnIasHelp.clicked.connect(self.iasHelpShow)
#         self.parametersPanel.txtIas.textChanged.connect(self.iasChanged)
#         self.parametersPanel.txtIsa.textChanged.connect(self.isaChanged)
#
        self.parametersPanel.txtPrimaryMOC.textChanged.connect(self.txtMocMChanged)
        self.parametersPanel.txtPrimaryMOCFt.textChanged.connect(self.txtMocFtChanged)
        self.flag1 = 0
        if self.flag1==0:
            self.flag1=1;
        if self.flag1==2:
            self.flag1=0;
        if self.flag1==1:
            try:
                self.parametersPanel.txtPrimaryMOCFt.setText(str(round(round(Unit.ConvertMeterToFeet(float(self.parametersPanel.txtPrimaryMOC.text())), 4), 4)))
            except:
                self.parametersPanel.txtPrimaryMOCFt.setText("0.0")


        self.method_28()
Ejemplo n.º 22
0
    def initParametersPan(self):
        ui = Ui_FixConstruction()
        self.parametersPanel = ui
        FlightPlanBaseDlg.initParametersPan(self)

        self.parametersPanel.frameMOCMultipiler.setVisible(False)

        self.parametersPanel.pnlTrackingPosition = PositionPanel(
            self.parametersPanel.gbTrackingAid)
        self.parametersPanel.pnlTrackingPosition.btnCalculater.hide()
        self.parametersPanel.pnlTrackingPosition.hideframe_Altitude()
        self.parametersPanel.pnlTrackingPosition.setObjectName(
            "pnlTrackingPosition")
        ui.vl_gbTrackingAid.insertWidget(
            1, self.parametersPanel.pnlTrackingPosition)
        # self.connect(self.parametersPanel.pnlNavAid, SIGNAL("positionChanged"), self.initResultPanel)

        self.parametersPanel.pnlIntersectingPosition = PositionPanel(
            self.parametersPanel.gbIntersectingAid)
        self.parametersPanel.pnlIntersectingPosition.btnCalculater.hide()
        self.parametersPanel.pnlIntersectingPosition.hideframe_Altitude()
        self.parametersPanel.pnlIntersectingPosition.setObjectName(
            "pnlIntersectingPosition")
        ui.vl_gbIntersectingAid.insertWidget(
            1, self.parametersPanel.pnlIntersectingPosition)
        # self.connect(self.parametersPanel.pnlNavAid, SIGNAL("positionChanged"), self.initResultPanel)

        self.parametersPanel.cmbTrackingType.addItems(
            [Captions.VOR, Captions.NDB, Captions.LOC])
        self.parametersPanel.cmbIntersectingType.addItems(
            [Captions.VOR, Captions.NDB, Captions.DME])

        self.parametersPanel.cmbTrackingType.currentIndexChanged.connect(
            self.method_30)
        self.parametersPanel.cmbIntersectingType.currentIndexChanged.connect(
            self.method_30)
        self.parametersPanel.btnCaptureTrackingRadialTrack.clicked.connect(
            self.captureTrackingRadialTrack)
        self.parametersPanel.btnCaptureIntersectingRadialTrack.clicked.connect(
            self.captureIntersectingRadialTrack)
        self.parametersPanel.btnMeasureDmeOffset.clicked.connect(
            self.measureDmeOffset)
        self.parametersPanel.btnMeasureIntersectingDistance.clicked.connect(
            self.measureIntersectingDistance)

        self.method_30()
 def uiStateInit(self):
     self.ui.grbMostCritical.setVisible(False)
     self.ui.grbResult_2.setVisible(False)
     self.ui.btnUpdateQA.setVisible(False)
     self.ui.btnUpdateQA_2.setVisible(False)
     self.ui.frm_cmbObstSurface.setVisible(False)
     self.ui.tabCtrlGeneral.removeTab(2)
     return FlightPlanBaseDlg.uiStateInit(self)
    def initParametersPan(self):
        ui = Ui_ProcedureExport()
        self.parametersPanel = ui
        FlightPlanBaseDlg.initParametersPan(self)

        self.parametersPanel.tabControl.currentChanged.connect(self.tabControl_CurrentChanged)
        self.parametersPanel.gridProcedures.pressed.connect(self.gridProcedures_pressed)
        self.parametersPanel.btnProcEdit.clicked.connect(self.btnProcEdit_Click)
        self.parametersPanel.btnProcRemove.clicked.connect(self.btnProcRemove_Click)
        self.parametersPanel.btnProcAdd.clicked.connect(self.btnProcAdd_Click)
        self.parametersPanel.btnLegsEdit.clicked.connect(self.btnLegsEdit_Click)
        self.parametersPanel.btnLegsExEdit.clicked.connect(self.btnLegsExEdit_Click)
        #
        self.connect(self.parametersPanel.pnlFile, SIGNAL("Event_1"), self.method_41)

        self.parametersPanel.btnLegsPreview.setVisible(True)
        self.parametersPanel.btnLegsExPreview.setVisible(True)
    def __init__(self, parent):
        FlightPlanBaseDlg.__init__(self, parent)
        self.setObjectName("HoldingRnavDlg")
        self.surfaceType = SurfaceTypes.GeoDetermine
        self.initParametersPan()
        self.setWindowTitle(SurfaceTypes.GeoDetermine)
        self.resize(540, 550)
        self.surfaceList = None

        self.date = QDate.currentDate()
        self.model = MagneticModel.WMM2010
        geo = Geo()

        self.resultLayerList = []
        self.resultPoint3d = None

        self.resultLat = None
        self.resultLon = None
    def uiStateInit(self):
        self.ui.grbMostCritical.setVisible(False)
        self.ui.grbResult_2.setVisible(False)
        self.ui.btnUpdateQA.setVisible(False)
        self.ui.btnUpdateQA_2.setVisible(False)
        self.ui.frm_cmbObstSurface.setVisible(False)
        self.ui.btnPDTCheck.setVisible(False)

        return FlightPlanBaseDlg.uiStateInit(self)
Ejemplo n.º 27
0
    def initObstaclesModel(self):
        ObstacleTable.MocMultiplier = self.parametersPanel.mocSpinBox.value()
        self.obstaclesModel = HoldingRnpObstacles(
            self.surfaceList,
            Altitude(float(self.parametersPanel.txtMoc.text())),
            Altitude(float(self.parametersPanel.txtAltitude.text()),
                     AltitudeUnits.FT))

        return FlightPlanBaseDlg.initObstaclesModel(self)
Ejemplo n.º 28
0
    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 btnConstruct_Click(self):
        flag = FlightPlanBaseDlg.btnConstruct_Click(self)
        if not flag:
            return
        # self.parametersPanel.txtRadius.setText("")

        point3dCollection = None;
        point3dCollection1 = None;
        polylineArea = None;
        polylineArea1 = None;
        polylineArea2 = None;

        point3dArrayResult = []

        mapUnits = define._canvas.mapUnits()
        constructionLayer = None


        result, point3dCollection, point3dCollection1, polylineArea, polylineArea1, polylineArea2 = self.method_34()
        if result:
            point3dCollection2 = [];
            if (point3dCollection != None and len(point3dCollection) > 0):
                point3dCollection2.append(point3dCollection[0]);
            for point3d in point3dCollection1:
                point3dCollection2.append(point3d);
            if (point3dCollection != None and len(point3dCollection) > 0):
                point3dCollection2.append(point3dCollection[3]);
            # point3dCollection2.pop(3)
            # point3dCollection2.pop(3)
            # point3dArrayResult.append(polylineArea1.method_14_closed())
            # point3dArrayResult.append(polylineArea2.method_14_closed())
            point3dArrayResult.append(PolylineArea(point3dCollection2))

            self.area123 = point3dCollection2
            self.circleArea = polylineArea

            nominalPointTest1 = point3dCollection2[2]
            nominalPointTest2 = point3dCollection2[3]
            self.nominalPoint = MathHelper.distanceBearingPoint(nominalPointTest1, MathHelper.getBearing(nominalPointTest1, nominalPointTest2), MathHelper.calcDistance(nominalPointTest1, nominalPointTest2) / 2)
            # if polylineArea.isCircle:
            #     self.parametersPanel.txtRadius.setText(str(polylineArea.Radius()))
            point3dArrayResult.append(polylineArea)

        if not len(point3dArrayResult) > 0 :
            return
        constructionLayer = AcadHelper.createVectorLayer(self.surfaceType, QGis.Line)
        for point3dArray in point3dArrayResult:
            AcadHelper.setGeometryAndAttributesInLayer(constructionLayer, point3dArray, True)
        nominalTrackLayer = self.nominal2Layer()
        QgisHelper.appendToCanvas(define._canvas, [constructionLayer, nominalTrackLayer], self.surfaceType)
        self.resultLayerList = [constructionLayer, nominalTrackLayer]
        QgisHelper.zoomToLayers(self.resultLayerList)
        self.ui.btnEvaluate.setEnabled(True)
Ejemplo n.º 30
0
    def __init__(self, parent):
        FlightPlanBaseDlg.__init__(self, parent)
        self.setObjectName("PathTerminatorsDlg")
        self.surfaceType = SurfaceTypes.ProcedureExport
        self.selectedRow = None
        self.editingModelIndex = None

        self.initParametersPan()
        self.setWindowTitle(SurfaceTypes.ProcedureExport)
        self.resize(540, 550)
        QgisHelper.matchingDialogSize(self, 540, 650)
        self.surfaceList = None

        self.loaderAixm = DataBaseLoaderAixm()
        self.directory = None
        self.adding = False
        self.newRowIndex = -1

        # assa = vars(SurfaceTypes)
        # asa = SurfaceTypes.__dict__
        pass