예제 #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 loadSetupFile(self, setupObject):
        setupPathLabelText = QFileDialog.getOpenFileName(self, 'Select CLUZ setup file', '*.clz')
        if setupPathLabelText != "":

            cluz_setup.updateSetupObjectFromSetupFile(setupObject, setupPathLabelText)
            cluz_setup.checkStatusObjectValues(setupObject)
            if setupObject.setupStatus == "values_checked":
                cluz_setup.createAndCheckCLUZFiles(setupObject)

            if setupObject.setupStatus == "files_checked":
                setupObject.setupAction = "blank"
                setupPathLabelText = os.path.abspath(setupPathLabelText)
                setupPathLabelText = "Setup file location: " + str(setupPathLabelText)
                self.setupPathLabel.setText(setupPathLabelText)

                self.marxanLineEdit.setText(os.path.abspath(setupObject.marxanPath))
                self.inputLineEdit.setText(os.path.abspath(setupObject.inputPath))
                self.outputLineEdit.setText(setupObject.outputPath)
                self.puLineEdit.setText(setupObject.puPath)
                self.targLineEdit.setText(setupObject.targetPath)

                numberList = [0, 1, 2, 3, 4, 5]
                precValue = setupObject.decimalPlaces
                if precValue > 5:
                    qgis.utils.iface.messageBar().pushMessage("Decimal precision value problem", "The number of decimal places specified in the CLUZ setup file cannot be more than 5. The specified value has been changed to 5.", QgsMessageBar.WARNING)
                    precValue = 5
                indexValue = numberList.index(precValue)
                self.precComboBox.setCurrentIndex(indexValue)

                cluz_setup.checkAddPlanningUnit(setupObject)
예제 #3
0
def troubleShootCLUZFiles(setupObject):
    cluz_setup.checkStatusObjectValues(setupObject)
    targetFileFine, targetFeatIDSet = checkTargetCsvFile(setupObject)
    puvspr2FileFine, puvspr2PuIDSet, puvspr2FeatIDSet, puvspr2RowNum, puvspr2RecCountDict = checkPuvspr2DatFile(setupObject)
    sporderFileFine, sporderPuIDSet, sporderFeatIDSet, sporderRowNum, sporderRecCountDict = checkSporderDatFile(setupObject)
    puFileFine, puPuIDSet = checkPuShapeFile(setupObject)

    progressMessage = "Comparing the files..."
    qgis.utils.iface.mainWindow().statusBar().showMessage(progressMessage)
    idValuesNotDuplicated = True

    idValuesNotDuplicated = checkIDsMatchInTargetTableAndPuvspr2(targetFeatIDSet, puvspr2FeatIDSet, idValuesNotDuplicated)
    idValuesNotDuplicated = checkIDsMatchInPULayerAndPuvspr2(puvspr2PuIDSet, puPuIDSet, idValuesNotDuplicated)

    abundDatFilesSame = True
    if puvspr2PuIDSet != sporderPuIDSet or puvspr2FeatIDSet != sporderFeatIDSet or puvspr2RowNum != sporderRowNum or puvspr2RecCountDict != sporderRecCountDict:
        qgis.utils.iface.messageBar().pushMessage("puvspr2.dat and sporder.dat: ", "The two files do not contain the same data. Delete the sporder.dat file in the input folder and CLUZ will create a new one in the correct format.", QgsMessageBar.WARNING)
        abundDatFilesSame = False

    if targetFileFine == True and puvspr2FileFine == True and puFileFine == True and idValuesNotDuplicated == True and abundDatFilesSame == True:
        if setupObject.setupStatus == "files_checked":
            cluz_setup.makeTargetDict(setupObject)
            qgis.utils.iface.messageBar().pushMessage("Status: ", "No problems were found and the Target table has been updated to ensure it reflects the current data.", QgsMessageBar.INFO)
        else:
            qgis.utils.iface.messageBar().pushMessage("Status: ", "No problems were found.", QgsMessageBar.INFO)

    progressMessage = "CLUZ Troubleshoot files completed"
    qgis.utils.iface.mainWindow().statusBar().showMessage(progressMessage)
예제 #4
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)
예제 #5
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)
예제 #6
0
    def loadSetupFile(self, setupObject):
        setupPathLabelText = QFileDialog.getOpenFileName(
            self, 'Select CLUZ setup file', '*.clz')
        if setupPathLabelText != "":

            cluz_setup.updateSetupObjectFromSetupFile(setupObject,
                                                      setupPathLabelText)
            cluz_setup.checkStatusObjectValues(setupObject)
            if setupObject.setupStatus == "values_checked":
                cluz_setup.createAndCheckCLUZFiles(setupObject)

            if setupObject.setupStatus == "files_checked":
                setupObject.setupAction = "blank"
                setupPathLabelText = os.path.abspath(setupPathLabelText)
                setupPathLabelText = "Setup file location: " + str(
                    setupPathLabelText)
                self.setupPathLabel.setText(setupPathLabelText)

                self.marxanLineEdit.setText(
                    os.path.abspath(setupObject.marxanPath))
                self.inputLineEdit.setText(
                    os.path.abspath(setupObject.inputPath))
                self.outputLineEdit.setText(setupObject.outputPath)
                self.puLineEdit.setText(setupObject.puPath)
                self.targLineEdit.setText(setupObject.targetPath)
                self.setPrecValue(setupObject.decimalPlaces)

                cluz_setup.checkAddPULayer(setupObject)
예제 #7
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)