mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
[processing] fixed behaviour of select algorithms in modeler
This commit is contained in:
parent
2e858c439c
commit
b390b3e778
@ -46,7 +46,6 @@ class SelectByLocation(GeoAlgorithm):
|
||||
|
||||
|
||||
def defineCharacteristics(self):
|
||||
self.allowOnlyOpenedLayers = True
|
||||
self.name = 'Select by location'
|
||||
self.group = 'Vector selection tools'
|
||||
self.addParameter(ParameterVector(self.INPUT, 'Layer to select from',
|
||||
|
@ -1059,7 +1059,6 @@ class mmqgisx_select_algorithm(GeoAlgorithm):
|
||||
RESULT = 'RESULT'
|
||||
|
||||
def defineCharacteristics(self):
|
||||
self.allowOnlyOpenedLayers = True
|
||||
self.name = 'Select by attribute'
|
||||
self.group = 'Vector selection tools'
|
||||
|
||||
@ -1087,8 +1086,7 @@ class mmqgisx_select_algorithm(GeoAlgorithm):
|
||||
def processAlgorithm(self, progress):
|
||||
|
||||
filename = self.getParameterValue(self.LAYERNAME)
|
||||
layer = dataobjects.getObjectFromUri(filename)
|
||||
|
||||
layer = dataobjects.getObjectFromUri(filename)
|
||||
attribute = self.getParameterValue(self.ATTRIBUTE)
|
||||
comparison = self.comparisons[self.getParameterValue(self.COMPARISON)]
|
||||
comparisonvalue = self.getParameterValue(self.COMPARISONVALUE)
|
||||
|
@ -36,6 +36,12 @@ from processing.tools.system import *
|
||||
|
||||
ALL_TYPES = [-1]
|
||||
|
||||
_loadedLayers = {}
|
||||
|
||||
def resetLoadedLayers():
|
||||
global _loadedLayers
|
||||
_loadedLayers = {}
|
||||
|
||||
def getSupportedOutputVectorLayerExtensions():
|
||||
formats = QgsVectorFileWriter.supportedFiltersAndFormats()
|
||||
exts = ['shp'] # shp is the default, should be the first
|
||||
@ -206,6 +212,9 @@ def getObjectFromUri(uri, forceLoad=True):
|
||||
|
||||
if uri is None:
|
||||
return None
|
||||
print _loadedLayers
|
||||
if uri in _loadedLayers:
|
||||
return _loadedLayers[uri]
|
||||
layers = getRasterLayers()
|
||||
for layer in layers:
|
||||
if layer.source() == uri:
|
||||
@ -228,11 +237,13 @@ def getObjectFromUri(uri, forceLoad=True):
|
||||
if layer.isValid():
|
||||
if prjSetting:
|
||||
settings.setValue('/Projections/defaultBehaviour', prjSetting)
|
||||
_loadedLayers[layer.source()] = layer
|
||||
return layer
|
||||
layer = QgsRasterLayer(uri, uri)
|
||||
if layer.isValid():
|
||||
if prjSetting:
|
||||
settings.setValue('/Projections/defaultBehaviour', prjSetting)
|
||||
_loadedLayers[layer.source()] = layer
|
||||
return layer
|
||||
if prjSetting:
|
||||
settings.setValue('/Projections/defaultBehaviour', prjSetting)
|
||||
|
Loading…
x
Reference in New Issue
Block a user