def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting(self.name(), 'ACTIVATE_GRASS7',
                                         self.tr('Activate'), True))
     if isWindows() or isMac():
         ProcessingConfig.addSetting(Setting(
             self.name(),
             Grass7Utils.GRASS_FOLDER, self.tr('GRASS7 folder'),
             Grass7Utils.grassPath(), valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(Setting(
         self.name(),
         Grass7Utils.GRASS_LOG_COMMANDS,
         self.tr('Log execution commands'), False))
     ProcessingConfig.addSetting(Setting(
         self.name(),
         Grass7Utils.GRASS_LOG_CONSOLE,
         self.tr('Log console output'), False))
     ProcessingConfig.addSetting(Setting(
         self.name(),
         Grass7Utils.GRASS_HELP_PATH,
         self.tr('Location of GRASS docs'),
         Grass7Utils.grassHelpPath()))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #2
0
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting(self.name(), 'ACTIVATE_R',
                                         self.tr('Activate'), False))
     ProcessingConfig.addSetting(Setting(
         self.name(), RUtils.RSCRIPTS_FOLDER,
         self.tr('R Scripts folder'), RUtils.defaultRScriptsFolder(),
         valuetype=Setting.MULTIPLE_FOLDERS))
     if isWindows():
         ProcessingConfig.addSetting(Setting(
             self.name(),
             RUtils.R_FOLDER, self.tr('R folder'), RUtils.RFolder(),
             valuetype=Setting.FOLDER))
         ProcessingConfig.addSetting(Setting(
             self.name(),
             RUtils.R_LIBS_USER, self.tr('R user library folder'),
             RUtils.RLibs(), valuetype=Setting.FOLDER))
         ProcessingConfig.addSetting(Setting(
             self.name(),
             RUtils.R_USE64, self.tr('Use 64 bit version'), False))
     ProviderActions.registerProviderActions(self, self.actions)
     ProviderContextMenuActions.registerProviderContextMenuActions(self.contextMenuActions)
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #3
0
    def initialize():
        # Add the basic providers
        Processing.addProvider(QGISAlgorithmProvider())
        Processing.addProvider(ModelerOnlyAlgorithmProvider())
        Processing.addProvider(GdalOgrAlgorithmProvider())
        Processing.addProvider(LidarToolsAlgorithmProvider())
        Processing.addProvider(OTBAlgorithmProvider())
        Processing.addProvider(RAlgorithmProvider())
        Processing.addProvider(SagaAlgorithmProvider())
        Processing.addProvider(GrassAlgorithmProvider())
        Processing.addProvider(Grass7AlgorithmProvider())
        Processing.addProvider(ScriptAlgorithmProvider())
        Processing.addProvider(TauDEMAlgorithmProvider())
        Processing.addProvider(Processing.modeler)
        Processing.modeler.initializeSettings()

        # And initialize
        AlgorithmDecorator.loadClassification()
        ProcessingLog.startLogging()
        ProcessingConfig.initialize()
        ProcessingConfig.readSettings()
        RenderingStyles.loadStyles()
        Processing.loadFromProviders()
        
        # Inform registered listeners that all providers' algorithms have been loaded
        Processing.fireAlgsListHasChanged()
Beispiel #4
0
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting(self.name(), 'ACTIVATE_GDAL',
                                         self.tr('Activate'), True))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting(self.name(), 'ACTIVATE_GRASS7',
                                         self.tr('Activate'), True))
     if isMac():
         ProcessingConfig.addSetting(Setting(
             self.name(),
             Grass7Utils.GRASS_FOLDER, self.tr('GRASS7 folder'),
             Grass7Utils.grassPath(), valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(Setting(
         self.name(),
         Grass7Utils.GRASS_LOG_COMMANDS,
         self.tr('Log execution commands'), False))
     ProcessingConfig.addSetting(Setting(
         self.name(),
         Grass7Utils.GRASS_LOG_CONSOLE,
         self.tr('Log console output'), False))
     ProcessingConfig.addSetting(Setting(
         self.name(),
         Grass7Utils.GRASS_HELP_PATH,
         self.tr('Location of GRASS docs'),
         Grass7Utils.grassHelpPath()))
     # Add a setting for using v.external instead of v.in.ogr
     # But set it to False by default because some algorithms
     # can't be used with external data (need a solid v.in.ogr).
     ProcessingConfig.addSetting(Setting(
         self.name(),
         Grass7Utils.GRASS_USE_VEXTERNAL,
         self.tr('For vector layers, use v.external (faster) instead of v.in.ogr'),
         False))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #6
0
def initializeMenus():
    for provider in Processing.providers:
        for alg in provider.algs:
            d = defaultMenuEntries.get(alg.commandLineName(), "")
            setting = Setting("Menus", "MENU_" + alg.commandLineName(), alg.name, d)
            ProcessingConfig.addSetting(setting)

    ProcessingConfig.readSettings()
Beispiel #7
0
 def initialize():
     if "model" in [p.getName() for p in Processing.providers]:
         return
     # Add the basic providers
     for c in AlgorithmProvider.__subclasses__():
         Processing.addProvider(c())
     # And initialize
     ProcessingConfig.initialize()
     ProcessingConfig.readSettings()
     RenderingStyles.loadStyles()
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting(self.name(),
                                         ModelerUtils.MODELS_FOLDER, self.tr('Models folder', 'ModelerAlgorithmProvider'),
                                         ModelerUtils.defaultModelsFolder(), valuetype=Setting.MULTIPLE_FOLDERS))
     ProviderActions.registerProviderActions(self, self.actions)
     ProviderContextMenuActions.registerProviderContextMenuActions(self.contextMenuActions)
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
    def load(self):
        ProcessingConfig.settingIcons[self.name()] = self.icon()

        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.CIRCUITSCAPE_ACTIVE,
                                            self.tr("Activate"),
                                            False))
        if isWindows():
            ProcessingConfig.addSetting(Setting(self.name(),
                                                circuitscapeUtils.CIRCUITSCAPE_DIRECTORY,
                                                self.tr("Circuitscape directory"),
                                                circuitscapeUtils.circuitscapeDirectory(),
                                                valuetype=Setting.FOLDER))

        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.CIRCUITSCAPE_VERBOSE,
                                            self.tr("Log commands output"),
                                            False))

        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.FOUR_NEIGHBOURS,
                                            self.tr("Connect raster cells to 4 neighbors instead of 8"),
                                            False))
        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.AVERAGE_CONDUCTANCE,
                                            self.tr("Use average conductance instead of resistance for connections between cells"),
                                            False))
        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.PREEMPT_MEMORY,
                                            self.tr("Preemptively release memory when possible"),
                                            False))
        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.MAX_CURRENT_MAPS,
                                            self.tr("Write maximum of current maps"),
                                            False))
        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.CUM_MAX_MAPS,
                                            self.tr("Write cumulative & maximum current maps only"),
                                            False))
        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.ZERO_FOCAL,
                                            self.tr("Set focal nodes currents to zero"),
                                            False))
        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.LOG_TRANSFORM,
                                            self.tr("Log-transform current maps"),
                                            False))
        ProcessingConfig.addSetting(Setting(self.name(),
                                            circuitscapeUtils.COMPRESS_OUTPUT,
                                            self.tr("Compress output grids"),
                                            False))

        ProcessingConfig.readSettings()
        self.refreshAlgorithms()
        return True
Beispiel #10
0
 def initialize():
     if "model" in [p.id() for p in QgsApplication.processingRegistry().providers()]:
         return
     # Add the basic providers
     for c in QgsProcessingProvider.__subclasses__():
         p = c()
         Processing.BASIC_PROVIDERS.append(p)
         QgsApplication.processingRegistry().addProvider(p)
     # And initialize
     ProcessingConfig.initialize()
     ProcessingConfig.readSettings()
     RenderingStyles.loadStyles()
Beispiel #11
0
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting(self.name(), 'ACTIVATE_GDAL',
                                         self.tr('Activate'), True))
     ProcessingConfig.addSetting(Setting(
         self.name(),
         GdalUtils.GDAL_HELP_PATH,
         self.tr('Location of GDAL docs'),
         GdalUtils.gdalHelpPath()))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #12
0
 def setUpClass(cls):
     start_app()
     from processing.core.Processing import Processing
     Processing.initialize()
     ProcessingConfig.setSettingValue("OTB_ACTIVATE", True)
     ProcessingConfig.setSettingValue(OtbSettings.FOLDER, OTB_INSTALL_DIR)
     ProcessingConfig.setSettingValue(OtbSettings.APP_FOLDER, os.path.join(OTB_INSTALL_DIR, 'lib', 'otb', 'applications'))
     ProcessingConfig.readSettings()
     # Refresh OTB Algorithms after settings are changed.
     for p in QgsApplication.processingRegistry().providers():
         if p.id() == "otb":
             p.refreshAlgorithms()
     cls.descrFolder = os.path.join(OTB_INSTALL_DIR, 'share', 'otb', 'description')
     cls.cleanup_paths = []
    def load(self):

        ProcessingConfig.settingIcons[self.name()] = self.icon()
	# Activate provider by default
        ProcessingConfig.addSetting(
            Setting(self.name(), 'VISIBILITY_ANALYSIS_ACTIVATED',
                                    'Activate', True))
        ProcessingConfig.addSetting(
            Setting(self.name(), 'MEMORY_BUFFER_SIZE',
                                    'Memory buffer size (mega-pixels)', 100))
									
        ProcessingConfig.readSettings()
        self.refreshAlgorithms()
        return True
 def load(self):
     """In this method we add settings needed to configure our
     provider.
     """
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     # Deactivate provider by default
     ProcessingConfig.addSetting(Setting(self.name(), 'ACTIVATE_EXAMPLE',
                                         'Activate', False))
     ProcessingConfig.addSetting(Setting('Example algorithms',
                                         ExampleAlgorithmProvider.MY_DUMMY_SETTING,
                                         'Example setting', 'Default value'))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #15
0
def initializeMenus():
    for provider in Processing.providers:
        for alg in provider.algs:
            d = defaultMenuEntries.get(alg.commandLineName(), "")
            setting = Setting(menusSettingsGroup, "MENU_" + alg.commandLineName(),
                              "Menu path", d)
            ProcessingConfig.addSetting(setting)
            setting = Setting(menusSettingsGroup, "BUTTON_" + alg.commandLineName(),
                              "Add button", False)
            ProcessingConfig.addSetting(setting)
            setting = Setting(menusSettingsGroup, "ICON_" + alg.commandLineName(),
                              "Icon", "", valuetype=Setting.FILE)
            ProcessingConfig.addSetting(setting)

    ProcessingConfig.readSettings()
Beispiel #16
0
def initializeMenus():
    for provider in QgsApplication.processingRegistry().providers():
        for alg in provider.algorithms():
            d = defaultMenuEntries.get(alg.id(), "")
            setting = Setting(menusSettingsGroup, "MENU_" + alg.id(),
                              "Menu path", d)
            ProcessingConfig.addSetting(setting)
            setting = Setting(menusSettingsGroup, "BUTTON_" + alg.id(),
                              "Add button", False)
            ProcessingConfig.addSetting(setting)
            setting = Setting(menusSettingsGroup, "ICON_" + alg.id(),
                              "Icon", "", valuetype=Setting.FILE)
            ProcessingConfig.addSetting(setting)

    ProcessingConfig.readSettings()
Beispiel #17
0
 def initialize():
     if "model" in [p.id() for p in QgsApplication.processingRegistry().providers()]:
         return
     # Add the basic providers
     for c in QgsProcessingProvider.__subclasses__():
         p = c()
         if p.id() in ('native', '3d'):
             # c++ providers are already registered
             continue
         if QgsApplication.processingRegistry().addProvider(p):
             Processing.BASIC_PROVIDERS.append(p)
     # And initialize
     ProcessingConfig.initialize()
     ProcessingConfig.readSettings()
     RenderingStyles.loadStyles()
Beispiel #18
0
    def load(self):
        ProcessingConfig.settingIcons[self.name()] = self.icon()
        ProcessingConfig.addSetting(Setting(self.name(),
                                            ScriptUtils.SCRIPTS_FOLDERS,
                                            self.tr("Scripts folder(s)"),
                                            ScriptUtils.defaultScriptsFolder(),
                                            valuetype=Setting.MULTIPLE_FOLDERS))

        ProviderActions.registerProviderActions(self, self.actions)
        ProviderContextMenuActions.registerProviderContextMenuActions(self.contextMenuActions)

        ProcessingConfig.readSettings()
        self.refreshAlgorithms()

        return True
Beispiel #19
0
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting("SAGA", 'ACTIVATE_SAGA',
                                         self.tr('Activate'), True))
     ProcessingConfig.addSetting(Setting("SAGA",
                                         SagaUtils.SAGA_IMPORT_EXPORT_OPTIMIZATION,
                                         self.tr('Enable SAGA Import/Export optimizations'), False))
     ProcessingConfig.addSetting(Setting("SAGA",
                                         SagaUtils.SAGA_LOG_COMMANDS,
                                         self.tr('Log execution commands'), True))
     ProcessingConfig.addSetting(Setting("SAGA",
                                         SagaUtils.SAGA_LOG_CONSOLE,
                                         self.tr('Log console output'), True))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #20
0
    def removeProvider(provider):
        """Use this method to remove a provider.

        This method should be called when unloading a plugin that
        contributes a provider.
        """
        try:
            provider.unload()
            Processing.providers.remove(provider)
            ProcessingConfig.readSettings()
            Processing.updateAlgsList()
        except:
            # This try catch block is here to avoid problems if the
            # plugin with a provider is unloaded after the Processing
            # framework itself has been unloaded. It is a quick fix
            # before I found out how to properly avoid that.
            pass
Beispiel #21
0
    def addProvider(provider, updateList=False):
        """Use this method to add algorithms from external providers.
        """

        # Note: this might slow down the initialization process if
        # there are many new providers added. Should think of a
        # different solution
        try:
            provider.initializeSettings()
            Processing.providers.append(provider)
            ProcessingConfig.readSettings()
            if updateList:
                Processing.updateAlgsList()
        except:
            ProcessingLog.addToLog(ProcessingLog.LOG_ERROR,
                Processing.tr('Could not load provider: %s\n%s')
                % (provider.getDescription(), unicode(sys.exc_info()[1])))
            Processing.removeProvider(provider)
Beispiel #22
0
 def initialize():
     if "model" in [p.id() for p in QgsApplication.processingRegistry().providers()]:
         return
     # Add the basic providers
     for c in [
         QgisAlgorithmProvider,
         Grass7AlgorithmProvider,
         GdalAlgorithmProvider,
         SagaAlgorithmProvider,
         ScriptAlgorithmProvider,
         ModelerAlgorithmProvider
     ]:
         p = c()
         if QgsApplication.processingRegistry().addProvider(p):
             Processing.BASIC_PROVIDERS.append(p)
     # And initialize
     ProcessingConfig.initialize()
     ProcessingConfig.readSettings()
     RenderingStyles.loadStyles()
Beispiel #23
0
def initializeMenus():
    for m in defaultMenuEntries.keys():
        alg = QgsApplication.processingRegistry().algorithmById(m)
        if alg is None or alg.id() != m:
            QgsMessageLog.logMessage(Processing.tr('Invalid algorithm ID for menu: {}').format(m), Processing.tr('Processing'))

    for provider in QgsApplication.processingRegistry().providers():
        for alg in provider.algorithms():
            d = defaultMenuEntries.get(alg.id(), "")
            setting = Setting(menusSettingsGroup, "MENU_" + alg.id(),
                              "Menu path", d)
            ProcessingConfig.addSetting(setting)
            setting = Setting(menusSettingsGroup, "BUTTON_" + alg.id(),
                              "Add button", False)
            ProcessingConfig.addSetting(setting)
            setting = Setting(menusSettingsGroup, "ICON_" + alg.id(),
                              "Icon", "", valuetype=Setting.FILE)
            ProcessingConfig.addSetting(setting)

    ProcessingConfig.readSettings()
Beispiel #24
0
    def addProvider(provider, updateList=True):
        """Use this method to add algorithms from external providers.
        """

        if provider.getName() in [p.getName() for p in algList.providers]:
            return
        try:
            provider.initializeSettings()
            Processing.providers.append(provider)
            ProcessingConfig.readSettings()
            provider.loadAlgorithms()
            Processing.actions[provider.getName()] = provider.actions
            Processing.contextMenuActions.extend(provider.contextMenuActions)
            algList.addProvider(provider)
        except:
            ProcessingLog.addToLog(
                ProcessingLog.LOG_ERROR,
                Processing.tr("Could not load provider: %s\n%s") % (provider.getDescription(), traceback.format_exc()),
            )
            Processing.removeProvider(provider)
Beispiel #25
0
    def addProvider(provider, updateList=True):
        """Use this method to add algorithms from external providers.
        """

        # Note: this might slow down the initialization process if
        # there are many new providers added. Should think of a
        # different solution
        try:
            provider.initializeSettings()
            Processing.providers.append(provider)
            ProcessingConfig.readSettings()
            if updateList:
                Processing.updateAlgsList()
            algListWatcher.providerAdded.emit(provider.getName())
        except:
            ProcessingLog.addToLog(
                ProcessingLog.LOG_ERROR,
                Processing.tr('Could not load provider: %s\n%s')
                % (provider.getDescription(), traceback.format_exc()))
            Processing.removeProvider(provider)
Beispiel #26
0
 def initialize():
     if "model" in [p.id() for p in QgsApplication.processingRegistry().providers()]:
         return
     # Add the basic providers
     for c in [
         QgisAlgorithmProvider,
         Grass7AlgorithmProvider,
         GdalAlgorithmProvider,
         OtbAlgorithmProvider,
         SagaAlgorithmProvider,
         ScriptAlgorithmProvider,
         ModelerAlgorithmProvider,
         ProjectProvider
     ]:
         p = c()
         if QgsApplication.processingRegistry().addProvider(p):
             Processing.BASIC_PROVIDERS.append(p)
     # And initialize
     ProcessingConfig.initialize()
     ProcessingConfig.readSettings()
     RenderingStyles.loadStyles()
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting("SAGA", 'ACTIVATE_SAGA',
                                         self.tr('Activate'), True))
     if (isWindows() or isMac()):
         ProcessingConfig.addSetting(Setting("SAGA",
                                             SagaUtils.SAGA_FOLDER, self.tr('SAGA folder'),
                                             '',
                                             valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(Setting("SAGA",
                                         SagaUtils.SAGA_IMPORT_EXPORT_OPTIMIZATION,
                                         self.tr('Enable SAGA Import/Export optimizations'), False))
     ProcessingConfig.addSetting(Setting("SAGA",
                                         SagaUtils.SAGA_LOG_COMMANDS,
                                         self.tr('Log execution commands'), True))
     ProcessingConfig.addSetting(Setting("SAGA",
                                         SagaUtils.SAGA_LOG_CONSOLE,
                                         self.tr('Log console output'), True))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #28
0
 def load(self):
     group = self.name()
     ProcessingConfig.settingIcons[group] = self.icon()
     ProcessingConfig.addSetting(Setting(group, OtbUtils.ACTIVATE, self.tr('Activate'), True))
     ProcessingConfig.addSetting(Setting(group, OtbUtils.FOLDER,
                                         self.tr("OTB folder"),
                                         OtbUtils.otbFolder(),
                                         valuetype=Setting.FOLDER,
                                         validator=self.validateOtbFolder
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbUtils.APP_FOLDER,
                                         self.tr("OTB application folder"),
                                         OtbUtils.appFolder(),
                                         valuetype=Setting.MULTIPLE_FOLDERS,
                                         validator=self.validateAppFolders
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbUtils.SRTM_FOLDER,
                                         self.tr("SRTM tiles folder"),
                                         OtbUtils.srtmFolder(),
                                         valuetype=Setting.FOLDER
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbUtils.GEOID_FILE,
                                         self.tr("Geoid file"),
                                         OtbUtils.geoidFile(),
                                         valuetype=Setting.FOLDER
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbUtils.MAX_RAM_HINT,
                                         self.tr("Maximum RAM to use"),
                                         OtbUtils.maxRAMHint(),
                                         valuetype=Setting.STRING
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbUtils.LOGGER_LEVEL,
                                         self.tr("Logger level"),
                                         OtbUtils.loggerLevel(),
                                         valuetype=Setting.STRING,
                                         validator=self.validateLoggerLevel
                                         ))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #29
0
 def load(self):
     group = self.name()
     ProcessingConfig.settingIcons[group] = self.icon()
     ProcessingConfig.addSetting(Setting(group, OtbSettings.ACTIVATE, self.tr('Activate'), True))
     ProcessingConfig.addSetting(Setting(group, OtbSettings.FOLDER,
                                         self.tr("OTB folder"),
                                         OtbUtils.otbFolder(),
                                         valuetype=Setting.FOLDER,
                                         validator=self.validateOtbFolder
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbSettings.APP_FOLDER,
                                         self.tr("OTB application folder"),
                                         OtbUtils.appFolder(),
                                         valuetype=Setting.MULTIPLE_FOLDERS,
                                         validator=self.validateAppFolders
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbSettings.SRTM_FOLDER,
                                         self.tr("SRTM tiles folder"),
                                         OtbUtils.srtmFolder(),
                                         valuetype=Setting.FOLDER
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbSettings.GEOID_FILE,
                                         self.tr("Geoid file"),
                                         OtbUtils.geoidFile(),
                                         valuetype=Setting.FOLDER
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbSettings.MAX_RAM_HINT,
                                         self.tr("Maximum RAM to use"),
                                         OtbUtils.maxRAMHint(),
                                         valuetype=Setting.STRING
                                         ))
     ProcessingConfig.addSetting(Setting(group, OtbSettings.LOGGER_LEVEL,
                                         self.tr("Logger level"),
                                         OtbUtils.loggerLevel(),
                                         valuetype=Setting.STRING,
                                         validator=self.validateLoggerLevel
                                         ))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #30
0
    def addProvider(provider, updateList=True):
        """Use this method to add algorithms from external providers.
        """

        if provider.id() in [p.id() for p in QgsApplication.processingRegistry().providers()]:
            return
        try:
            provider.initializeSettings()
            Processing.providers.append(provider)
            ProcessingConfig.readSettings()
            provider.loadAlgorithms()
            Processing.actions[provider.id()] = provider.actions
            Processing.contextMenuActions.extend(provider.contextMenuActions)
            algList.addProvider(provider)
        except:
            ProcessingLog.addToLog(
                ProcessingLog.LOG_ERROR,
                Processing.tr('Could not load provider: {0}\n{0}').format(
                    provider.name(), traceback.format_exc()
                )
            )
            Processing.removeProvider(provider)
Beispiel #31
0
 def load(self):
     """In this method we add settings needed to configure our
     provider.
     """
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(
         Setting(self.name(), 'LASTOOLS_ACTIVATED', 'Activate', True))
     ProcessingConfig.addSetting(
         Setting(self.name(),
                 'LASTOOLS_FOLDER',
                 'LAStools folder',
                 "C:\LAStools",
                 valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(
         Setting(self.name(),
                 'WINE_FOLDER',
                 'Wine folder',
                 "",
                 valuetype=Setting.FOLDER))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(
         Setting(self.name(), 'ACTIVATE_TauDEM', self.tr('Activate'), True))
     ProcessingConfig.addSetting(
         Setting(self.name(),
                 TauDEMUtils.TAUDEM_FOLDER,
                 self.tr('TauDEM command line tools folder'),
                 TauDEMUtils.taudemPath(),
                 valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(
         Setting(self.name(),
                 TauDEMUtils.MPIEXEC_FOLDER,
                 self.tr('MPICH2/OpenMPI bin directory'),
                 TauDEMUtils.mpiexecPath(),
                 valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(
         Setting(self.name(), TauDEMUtils.MPI_PROCESSES,
                 self.tr('Number of MPI parallel processes to use'), 2))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #33
0
    def initialize():
        # Add the basic providers
        Processing.addProvider(QGISAlgorithmProvider())
        Processing.addProvider(ModelerOnlyAlgorithmProvider())
        Processing.addProvider(GdalOgrAlgorithmProvider())
        Processing.addProvider(LidarToolsAlgorithmProvider())
        Processing.addProvider(OTBAlgorithmProvider())
        Processing.addProvider(RAlgorithmProvider())
        Processing.addProvider(SagaAlgorithmProvider())
        Processing.addProvider(GrassAlgorithmProvider())
        Processing.addProvider(Grass7AlgorithmProvider())
        Processing.addProvider(ScriptAlgorithmProvider())
        Processing.addProvider(TauDEMAlgorithmProvider())
        Processing.modeler.initializeSettings()

        # And initialize
        AlgorithmDecorator.loadClassification()
        ProcessingLog.startLogging()
        ProcessingConfig.initialize()
        ProcessingConfig.readSettings()
        RenderingStyles.loadStyles()
        Processing.loadFromProviders()
Beispiel #34
0
    def load(self):
        """
        Called when first loading provider
        """
        ProcessingConfig.settingIcons[self.name()] = self.icon()
        ProcessingConfig.addSetting(Setting(
            self.name(), RUtils.RSCRIPTS_FOLDER,
            self.tr('R scripts folder'), RUtils.default_scripts_folder(),
            valuetype=Setting.MULTIPLE_FOLDERS))

        ProcessingConfig.addSetting(Setting(self.name(), RUtils.R_USE_USER_LIB,
                                            self.tr('Use user library folder instead of system libraries'), True))
        ProcessingConfig.addSetting(Setting(
            self.name(),
            RUtils.R_LIBS_USER, self.tr('User library folder'),
            RUtils.r_library_folder(), valuetype=Setting.FOLDER))

        ProcessingConfig.addSetting(Setting(
            self.name(),
            RUtils.R_REPO, self.tr('Package repository'),
            "http://cran.at.r-project.org/", valuetype=Setting.STRING))

        ProcessingConfig.addSetting(Setting(
            self.name(),
            RUtils.R_FOLDER, self.tr('R folder'), RUtils.r_binary_folder(),
            valuetype=Setting.FOLDER))

        if RUtils.is_windows():
            ProcessingConfig.addSetting(Setting(
                self.name(),
                RUtils.R_USE64, self.tr('Use 64 bit version'), False))

        ProviderActions.registerProviderActions(self, self.actions)
        ProviderContextMenuActions.registerProviderContextMenuActions(self.contextMenuActions)
        ProcessingConfig.readSettings()
        self.refreshAlgorithms()
        self.r_version = RUtils.get_r_version()
        return True
Beispiel #35
0
    def load(self):
        with QgsRuntimeProfiler.profile('Grass Provider'):
            ProcessingConfig.settingIcons[self.name()] = self.icon()
            if self.activateSetting:
                ProcessingConfig.addSetting(
                    Setting(self.name(), self.activateSetting,
                            self.tr('Activate'), True))
            ProcessingConfig.addSetting(
                Setting(self.name(), Grass7Utils.GRASS_LOG_COMMANDS,
                        self.tr('Log execution commands'), False))
            ProcessingConfig.addSetting(
                Setting(self.name(), Grass7Utils.GRASS_LOG_CONSOLE,
                        self.tr('Log console output'), False))
            ProcessingConfig.addSetting(
                Setting(self.name(), Grass7Utils.GRASS_HELP_PATH,
                        self.tr('Location of GRASS docs'),
                        Grass7Utils.grassHelpPath()))
            # Add settings for using r.external/v.external instead of r.in.gdal/v.in.ogr
            # but set them to False by default because the {r,v}.external implementations
            # have some bugs on windows + there are algorithms that can't be used with
            # external data (need a solid r.in.gdal/v.in.ogr).
            # For more info have a look at e.g. https://trac.osgeo.org/grass/ticket/3927
            ProcessingConfig.addSetting(
                Setting(
                    self.name(), Grass7Utils.GRASS_USE_REXTERNAL,
                    self.
                    tr('For raster layers, use r.external (faster) instead of r.in.gdal'
                       ), False))
            ProcessingConfig.addSetting(
                Setting(
                    self.name(), Grass7Utils.GRASS_USE_VEXTERNAL,
                    self.
                    tr('For vector layers, use v.external (faster) instead of v.in.ogr'
                       ), False))
            ProcessingConfig.readSettings()
            self.refreshAlgorithms()

        return True
Beispiel #36
0
    def initialize():
        # Add the basic providers
        Processing.addProvider(QGISAlgorithmProvider(), updateList=False)
        Processing.addProvider(ModelerOnlyAlgorithmProvider(), updateList=False)
        Processing.addProvider(GdalOgrAlgorithmProvider(), updateList=False)
        Processing.addProvider(LidarToolsAlgorithmProvider(), updateList=False)
        Processing.addProvider(OTBAlgorithmProvider(), updateList=False)
        Processing.addProvider(RAlgorithmProvider(), updateList=False)
        Processing.addProvider(SagaAlgorithmProvider(), updateList=False)
        Processing.addProvider(GrassAlgorithmProvider(), updateList=False)
        Processing.addProvider(Grass7AlgorithmProvider(), updateList=False)
        Processing.addProvider(ScriptAlgorithmProvider(), updateList=False)
        Processing.addProvider(TauDEMAlgorithmProvider(), updateList=False)
        Processing.addProvider(PreconfiguredAlgorithmProvider(), updateList=False)
        Processing.addProvider(Processing.modeler, updateList=False)
        Processing.modeler.initializeSettings()

        # And initialize
        AlgorithmClassification.loadClassification()
        ProcessingConfig.initialize()
        ProcessingConfig.readSettings()
        RenderingStyles.loadStyles()
        Processing.loadFromProviders()
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting(self.name(),
                                         prepairUtils.PREPAIR_ACTIVE,
                                         self.tr("Activate"),
                                         False))
     ProcessingConfig.addSetting(Setting(self.name(),
                                         prepairUtils.PREPAIR_EXECUTABLE,
                                         self.tr("prepair executable"),
                                         prepairUtils.prepairPath(),
                                         valuetype=Setting.FILE))
     ProcessingConfig.addSetting(Setting(self.name(),
                                         prepairUtils.PPREPAIR_EXECUTABLE,
                                         self.tr("pprepair executable"),
                                         prepairUtils.prepairPath(),
                                         valuetype=Setting.FILE))
     ProcessingConfig.addSetting(Setting(self.name(),
                                         prepairUtils.PREPAIR_VERBOSE,
                                         self.tr("Log commands output"),
                                         False))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(
         Setting(self.name(), 'ACTIVATE_GRASS7', self.tr('Activate'), True))
     if isWindows() or isMac():
         ProcessingConfig.addSetting(
             Setting(self.name(),
                     Grass7Utils.GRASS_FOLDER,
                     self.tr('GRASS7 folder'),
                     Grass7Utils.grassPath(),
                     valuetype=Setting.FOLDER))
     ProcessingConfig.addSetting(
         Setting(self.name(), Grass7Utils.GRASS_LOG_COMMANDS,
                 self.tr('Log execution commands'), False))
     ProcessingConfig.addSetting(
         Setting(self.name(), Grass7Utils.GRASS_LOG_CONSOLE,
                 self.tr('Log console output'), False))
     ProcessingConfig.addSetting(
         Setting(self.name(), Grass7Utils.GRASS_HELP_PATH,
                 self.tr('Location of GRASS docs'),
                 Grass7Utils.grassHelpPath()))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #39
0
    def initialize():
        # Add the basic providers
        Processing.addProvider(QGISAlgorithmProvider(), updateList=False)
        Processing.addProvider(ModelerOnlyAlgorithmProvider(), updateList=False)
        Processing.addProvider(GdalOgrAlgorithmProvider(), updateList=False)
        Processing.addProvider(LidarToolsAlgorithmProvider(), updateList=False)
        Processing.addProvider(OTBAlgorithmProvider(), updateList=False)
        Processing.addProvider(RAlgorithmProvider(), updateList=False)
        Processing.addProvider(SagaAlgorithmProvider(), updateList=False)
        Processing.addProvider(GrassAlgorithmProvider(), updateList=False)
        Processing.addProvider(Grass7AlgorithmProvider(), updateList=False)
        Processing.addProvider(ScriptAlgorithmProvider(), updateList=False)
        Processing.addProvider(TauDEMAlgorithmProvider(), updateList=False)
        Processing.addProvider(Processing.modeler, updateList=False)
        Processing.modeler.initializeSettings()

        # And initialize
        AlgorithmClassification.loadClassification()
        ProcessingConfig.initialize()
        ProcessingConfig.readSettings()
        RenderingStyles.loadStyles()
        Processing.loadFromProviders()
        # Inform registered listeners that all providers' algorithms have been loaded
        Processing.fireAlgsListHasChanged()
 def load(self):
     ProcessingConfig.settingIcons[self.name()] = self.icon()
     ProcessingConfig.addSetting(Setting(self.name(), self.OPENGXT_ACTIVATED, 'Activate', True))
     ProcessingConfig.readSettings()
     self.refreshAlgorithms()
     return True
Beispiel #41
0
    def initialize():
        if "model" in [p.id() for p in QgsApplication.processingRegistry().providers()]:
            return

        with QgsRuntimeProfiler.profile('Initialize'):

            # add native provider if not already added
            if "native" not in [p.id() for p in QgsApplication.processingRegistry().providers()]:
                QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms(QgsApplication.processingRegistry()))

            # add 3d provider if available and not already added
            if "3d" not in [p.id() for p in QgsApplication.processingRegistry().providers()]:
                try:
                    from qgis._3d import Qgs3DAlgorithms
                    QgsApplication.processingRegistry().addProvider(Qgs3DAlgorithms(QgsApplication.processingRegistry()))
                except ImportError:
                    # no 3d library available
                    pass

            # Add the basic providers
            for c in [
                QgisAlgorithmProvider,
                GdalAlgorithmProvider,
                ScriptAlgorithmProvider,
                ModelerAlgorithmProvider,
                ProjectProvider
            ]:
                p = c()
                if QgsApplication.processingRegistry().addProvider(p):
                    Processing.BASIC_PROVIDERS.append(p)

            if QgsApplication.platform() == 'external':
                # for external applications we must also load the builtin providers stored in separate plugins
                try:
                    from grassprovider.Grass7AlgorithmProvider import Grass7AlgorithmProvider
                    p = Grass7AlgorithmProvider()
                    if QgsApplication.processingRegistry().addProvider(p):
                        Processing.BASIC_PROVIDERS.append(p)
                except ImportError:
                    pass

                try:
                    from otbprovider.OtbAlgorithmProvider import OtbAlgorithmProvider
                    p = OtbAlgorithmProvider()
                    if QgsApplication.processingRegistry().addProvider(p):
                        Processing.BASIC_PROVIDERS.append(p)
                except ImportError:
                    pass

                try:
                    from sagaprovider.SagaAlgorithmProvider import SagaAlgorithmProvider
                    p = SagaAlgorithmProvider()
                    if QgsApplication.processingRegistry().addProvider(p):
                        Processing.BASIC_PROVIDERS.append(p)
                except ImportError:
                    pass

            # And initialize
            ProcessingConfig.initialize()
            ProcessingConfig.readSettings()
            RenderingStyles.loadStyles()