def setCreateMarxanInputFiles(self, setupObject): messageStringList = [] if self.targetBox.isChecked(): cluz_functions2.createSpecDatFile(setupObject) messageStringList.append("spec.dat") if self.puBox.isChecked(): cluz_functions2.createPuDatFile(setupObject) messageStringList.append("pu.dat") if self.boundBox.isChecked(): if self.boundextBox.isChecked() and self.boundextBox.isEnabled(): extEdgeBool = True else: extEdgeBool = False cluz_functions2.createBoundDatFile(setupObject, extEdgeBool) qgis.utils.iface.mainWindow().statusBar().showMessage("") messageStringList.append("bound.dat") if len(messageStringList) > 0: messageString = "" for aString in messageStringList: messageString += aString + ", " finalMessageString = messageString[:-2] qgis.utils.iface.messageBar().pushMessage("Marxan files:", "The following files have been produced: " + finalMessageString, QgsMessageBar.INFO, 3) self.close()
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)