示例#1
0
    def saveSetupFile(self, setupObject):
        setupFilePath = setupObject.setupPath

        if os.path.isfile(setupFilePath):
            limboSetupObject = copy.deepcopy(setupObject)
            limboSetupObject.decimalPlaces = int(self.precComboBox.currentText())
            limboSetupObject.marxanPath = self.marxanLineEdit.text()
            limboSetupObject.inputPath = self.inputLineEdit.text()
            limboSetupObject.outputPath = self.outputLineEdit.text()
            limboSetupObject.puPath = self.puLineEdit.text()
            limboSetupObject.targetPath = self.targLineEdit.text()

            cluz_setup.checkStatusObjectValues(limboSetupObject)
            if limboSetupObject.setupStatus == "values_checked":
                cluz_setup.createAndCheckCLUZFiles(limboSetupObject)
                setupObject = copy.deepcopy(limboSetupObject)

            if setupObject.setupStatus == "files_checked":
                cluz_setup.updateClzSetupFile(setupObject)
                setupPathLabelText = "Setup file location: " + str(setupFilePath)
                self.setupPathLabel.setText(setupPathLabelText)
                cluz_setup.checkAddPlanningUnit(setupObject)

        elif setupFilePath == "blank":
            qgis.utils.iface.messageBar().pushMessage("No CLUZ setup file name", "The CLUZ setup file name has not been set. Please use the Save As... option instead.", QgsMessageBar.WARNING)
        else:
            qgis.utils.iface.messageBar().pushMessage("CLUZ setup file name error", "The current CLUZ setup file path is incorrect.", QgsMessageBar.WARNING)
示例#2
0
    def saveAsSetupFile(self, setupObject):
        newSetupFilePath = QFileDialog.getSaveFileName(
            self, 'Save new CLUZ setup file', '*.clz')
        if newSetupFilePath != "":
            setupObject.decimalPlaces = int(self.precComboBox.currentText())
            setupObject.marxanPath = self.marxanLineEdit.text()
            setupObject.inputPath = self.inputLineEdit.text()
            setupObject.outputPath = self.outputLineEdit.text()
            setupObject.puPath = self.puLineEdit.text()
            setupObject.targetPath = self.targLineEdit.text()

            setupObject.setupPath = newSetupFilePath

            cluz_setup.checkStatusObjectValues(setupObject)
            if setupObject.setupStatus == "values_checked":
                cluz_setup.createAndCheckCLUZFiles(setupObject)
            if setupObject.setupStatus == "files_checked":
                cluz_setup.updateClzSetupFile(setupObject)
                setupPathLabelText = "Setup file location: " + str(
                    newSetupFilePath)
                self.setupPathLabel.setText(setupPathLabelText)
                cluz_setup.checkAddPULayer(setupObject)

        else:
            qgis.utils.iface.messageBar().pushMessage(
                "CLUZ setup file name error",
                "The current CLUZ setup file path is incorrect.",
                QgsMessageBar.WARNING)
示例#3
0
    def saveSetupFile(self, setupObject):
        setupFilePath = setupObject.setupPath

        if os.path.isfile(setupFilePath):
            limboSetupObject = copy.deepcopy(setupObject)
            limboSetupObject.decimalPlaces = int(
                self.precComboBox.currentText())
            limboSetupObject.marxanPath = self.marxanLineEdit.text()
            limboSetupObject.inputPath = self.inputLineEdit.text()
            limboSetupObject.outputPath = self.outputLineEdit.text()
            limboSetupObject.puPath = self.puLineEdit.text()
            limboSetupObject.targetPath = self.targLineEdit.text()

            cluz_setup.checkStatusObjectValues(limboSetupObject)
            if limboSetupObject.setupStatus == "values_checked":
                cluz_setup.createAndCheckCLUZFiles(limboSetupObject)
                setupObject = copy.deepcopy(limboSetupObject)

            if setupObject.setupStatus == "files_checked":
                cluz_setup.updateClzSetupFile(setupObject)
                setupPathLabelText = "Setup file location: " + str(
                    setupFilePath)
                self.setupPathLabel.setText(setupPathLabelText)
                cluz_setup.checkAddPULayer(setupObject)

        elif setupFilePath == "blank":
            qgis.utils.iface.messageBar().pushMessage(
                "No CLUZ setup file name",
                "The CLUZ setup file name has not been set. Please use the Save As... option instead.",
                QgsMessageBar.WARNING)
        else:
            qgis.utils.iface.messageBar().pushMessage(
                "CLUZ setup file name error",
                "The current CLUZ setup file path is incorrect.",
                QgsMessageBar.WARNING)
示例#4
0
    def runMarxan(self, setupObject, targetsMetAction):
        numIterString = self.iterLineEdit.text()
        numRunString = self.runLineEdit.text()
        outputName = str(self.outputLineEdit.text())
        setupObject.outputName = outputName
        if self.boundCheckBox.isChecked():
            blmValueString = self.boundLineEdit.text()
        else:
            blmValueString = "0"
        missingPropString = self.missingLineEdit.text()
        initialPropString = self.propLineEdit.text()

        extraOutputsBool = self.extraCheckBox.isChecked()

        if self.parallelCheckBox.isChecked():
            numParallelAnalyses = int(self.parallelListWidget.selectedItems()[0].text())
        else:
            numParallelAnalyses = 1

        checkMarxanInputValuesBool = cluz_functions2.checkMarxanInputValuesBool(numIterString, numRunString, blmValueString, missingPropString, initialPropString, numParallelAnalyses)
        if checkMarxanInputValuesBool == True:
            numIter = int(numIterString)
            numRun = int(numRunString)
            blmValue = float(blmValueString)
            missingProp = float(missingPropString)
            initialProp = float(initialPropString)

            cluz_functions2.createSpecDatFile(setupObject)
            setupObject = cluz_functions2.marxanUpdateSetupObject(setupObject, outputName, numIter, numRun, blmValue, extraOutputsBool, missingProp, initialProp)
            cluz_setup.updateClzSetupFile(setupObject)
            self.close()

            if numParallelAnalyses == 1:
                bestOutputFile, summedOutputFile = launchSingleMarxanAnalysis(setupObject, numIter, numRun, blmValue, missingProp, initialProp, outputName, extraOutputsBool)
            else:
                bestOutputFile, summedOutputFile = launchMultiMarxanAnalysis(setupObject, numIter, numRun, blmValue, missingProp, initialProp, outputName, extraOutputsBool, numParallelAnalyses)

            cluz_functions2.addBestMarxanOutputToPUShapefile(setupObject, bestOutputFile, "Best")
            cluz_functions2.addSummedMarxanOutputToPUShapefile(setupObject, summedOutputFile, "SF_Score")

            cluz_display.reloadPULayer(setupObject)
            cluz_display.removePreviousMarxanLayers()
            bestLayerName = "Best (" + outputName + ")"
            summedLayerName = "SF_Score (" + outputName + ")"
            cluz_display.displayBestOutput(setupObject, "Best", bestLayerName)
            cluz_display.displayGraduatedLayer(setupObject, "SF_Score", summedLayerName, 1) #1 is SF legend code

            targetsMetAction.setEnabled(True)
示例#5
0
    def saveAsSetupFile(self, setupObject):
        newSetupFilePath = QFileDialog.getSaveFileName(self, 'Save new CLUZ setup file', '*.clz')
        if newSetupFilePath != "":
            setupObject.decimalPlaces = int(self.precComboBox.currentText())
            setupObject.marxanPath = self.marxanLineEdit.text()
            setupObject.inputPath = self.inputLineEdit.text()
            setupObject.outputPath = self.outputLineEdit.text()
            setupObject.puPath = self.puLineEdit.text()
            setupObject.targetPath = self.targLineEdit.text()

            setupObject.setupPath = newSetupFilePath

            cluz_setup.checkStatusObjectValues(setupObject)
            if setupObject.setupStatus == "values_checked":
                cluz_setup.createAndCheckCLUZFiles(setupObject)
            if setupObject.setupStatus == "files_checked":
                cluz_setup.updateClzSetupFile(setupObject)
                setupPathLabelText = "Setup file location: " + str(newSetupFilePath)
                self.setupPathLabel.setText(setupPathLabelText)
                cluz_setup.checkAddPlanningUnit(setupObject)

        else:
            qgis.utils.iface.messageBar().pushMessage("CLUZ setup file name error", "The current CLUZ setup file path is incorrect.", QgsMessageBar.WARNING)