mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-17 00:04:02 -04:00
Resurrect select by attribute algorithm
This commit is contained in:
parent
4e93f8d038
commit
3a9a0efc33
@ -64,6 +64,7 @@ from .RandomExtract import RandomExtract
|
|||||||
from .RandomExtractWithinSubsets import RandomExtractWithinSubsets
|
from .RandomExtractWithinSubsets import RandomExtractWithinSubsets
|
||||||
from .RegularPoints import RegularPoints
|
from .RegularPoints import RegularPoints
|
||||||
from .SaveSelectedFeatures import SaveSelectedFeatures
|
from .SaveSelectedFeatures import SaveSelectedFeatures
|
||||||
|
from .SelectByAttribute import SelectByAttribute
|
||||||
from .SimplifyGeometries import SimplifyGeometries
|
from .SimplifyGeometries import SimplifyGeometries
|
||||||
from .Smooth import Smooth
|
from .Smooth import Smooth
|
||||||
from .SpatialiteExecuteSQL import SpatialiteExecuteSQL
|
from .SpatialiteExecuteSQL import SpatialiteExecuteSQL
|
||||||
@ -99,7 +100,6 @@ from .VectorSplit import VectorSplit
|
|||||||
# from .SpatialJoin import SpatialJoin
|
# from .SpatialJoin import SpatialJoin
|
||||||
# from .DeleteDuplicateGeometries import DeleteDuplicateGeometries
|
# from .DeleteDuplicateGeometries import DeleteDuplicateGeometries
|
||||||
# from .TextToFloat import TextToFloat
|
# from .TextToFloat import TextToFloat
|
||||||
# from .SelectByAttribute import SelectByAttribute
|
|
||||||
# from .GridLine import GridLine
|
# from .GridLine import GridLine
|
||||||
# from .Gridify import Gridify
|
# from .Gridify import Gridify
|
||||||
# from .HubDistancePoints import HubDistancePoints
|
# from .HubDistancePoints import HubDistancePoints
|
||||||
@ -202,7 +202,6 @@ class QGISAlgorithmProvider(QgsProcessingProvider):
|
|||||||
# ExtractByLocation(),
|
# ExtractByLocation(),
|
||||||
# SpatialJoin(),
|
# SpatialJoin(),
|
||||||
# DeleteDuplicateGeometries(), TextToFloat(),
|
# DeleteDuplicateGeometries(), TextToFloat(),
|
||||||
# SelectByAttribute(),
|
|
||||||
# GridLine(), Gridify(), HubDistancePoints(),
|
# GridLine(), Gridify(), HubDistancePoints(),
|
||||||
# HubDistanceLines(), HubLines(),
|
# HubDistanceLines(), HubLines(),
|
||||||
# GeometryConvert(), FieldsCalculator(),
|
# GeometryConvert(), FieldsCalculator(),
|
||||||
@ -266,6 +265,7 @@ class QGISAlgorithmProvider(QgsProcessingProvider):
|
|||||||
RandomExtractWithinSubsets(),
|
RandomExtractWithinSubsets(),
|
||||||
RegularPoints(),
|
RegularPoints(),
|
||||||
SaveSelectedFeatures(),
|
SaveSelectedFeatures(),
|
||||||
|
SelectByAttribute(),
|
||||||
SimplifyGeometries(),
|
SimplifyGeometries(),
|
||||||
Smooth(),
|
Smooth(),
|
||||||
SpatialiteExecuteSQL(),
|
SpatialiteExecuteSQL(),
|
||||||
|
@ -28,14 +28,14 @@ __revision__ = '$Format:%H$'
|
|||||||
from qgis.core import (QgsApplication)
|
from qgis.core import (QgsApplication)
|
||||||
from qgis.PyQt.QtCore import QVariant
|
from qgis.PyQt.QtCore import QVariant
|
||||||
from qgis.core import (QgsExpression,
|
from qgis.core import (QgsExpression,
|
||||||
QgsProcessingUtils)
|
QgsProcessingUtils,
|
||||||
|
QgsProcessingParameterVectorLayer,
|
||||||
|
QgsProcessingParameterField,
|
||||||
|
QgsProcessingParameterEnum,
|
||||||
|
QgsProcessingParameterString,
|
||||||
|
QgsProcessingOutputVectorLayer)
|
||||||
from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
|
from processing.algs.qgis.QgisAlgorithm import QgisAlgorithm
|
||||||
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
|
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
|
||||||
from processing.core.parameters import ParameterVector
|
|
||||||
from processing.core.parameters import ParameterTableField
|
|
||||||
from processing.core.parameters import ParameterSelection
|
|
||||||
from processing.core.parameters import ParameterString
|
|
||||||
from processing.core.outputs import OutputVector
|
|
||||||
|
|
||||||
|
|
||||||
class SelectByAttribute(QgisAlgorithm):
|
class SelectByAttribute(QgisAlgorithm):
|
||||||
@ -82,15 +82,15 @@ class SelectByAttribute(QgisAlgorithm):
|
|||||||
self.tr('does not contain')
|
self.tr('does not contain')
|
||||||
]
|
]
|
||||||
|
|
||||||
self.addParameter(ParameterVector(self.INPUT,
|
self.addParameter(QgsProcessingParameterVectorLayer(self.INPUT, self.tr('Input layer')))
|
||||||
self.tr('Input Layer')))
|
|
||||||
self.addParameter(ParameterTableField(self.FIELD,
|
|
||||||
self.tr('Selection attribute'), self.INPUT))
|
|
||||||
self.addParameter(ParameterSelection(self.OPERATOR,
|
|
||||||
self.tr('Operator'), self.i18n_operators))
|
|
||||||
self.addParameter(ParameterString(self.VALUE, self.tr('Value')))
|
|
||||||
|
|
||||||
self.addOutput(OutputVector(self.OUTPUT, self.tr('Selected (attribute)'), True))
|
self.addParameter(QgsProcessingParameterField(self.FIELD,
|
||||||
|
self.tr('Selection attribute'), parentLayerParameterName=self.INPUT))
|
||||||
|
self.addParameter(QgsProcessingParameterEnum(self.OPERATOR,
|
||||||
|
self.tr('Operator'), self.i18n_operators))
|
||||||
|
self.addParameter(QgsProcessingParameterString(self.VALUE, self.tr('Value')))
|
||||||
|
|
||||||
|
self.addOutput(QgsProcessingOutputVectorLayer(self.OUTPUT, self.tr('Selected (attribute)')))
|
||||||
|
|
||||||
def name(self):
|
def name(self):
|
||||||
return 'selectbyattribute'
|
return 'selectbyattribute'
|
||||||
@ -99,11 +99,11 @@ class SelectByAttribute(QgisAlgorithm):
|
|||||||
return self.tr('Select by attribute')
|
return self.tr('Select by attribute')
|
||||||
|
|
||||||
def processAlgorithm(self, parameters, context, feedback):
|
def processAlgorithm(self, parameters, context, feedback):
|
||||||
fileName = self.getParameterValue(self.INPUT)
|
layer = self.parameterAsVectorLayer(parameters, self.INPUT, context)
|
||||||
layer = QgsProcessingUtils.mapLayerFromString(fileName, context)
|
|
||||||
fieldName = self.getParameterValue(self.FIELD)
|
fieldName = self.parameterAsString(parameters, self.FIELD, context)
|
||||||
operator = self.OPERATORS[self.getParameterValue(self.OPERATOR)]
|
operator = self.OPERATORS[self.parameterAsEnum(parameters, self.OPERATOR, context)]
|
||||||
value = self.getParameterValue(self.VALUE)
|
value = self.parameterAsString(parameters, self.VALUE, context)
|
||||||
|
|
||||||
fields = layer.fields()
|
fields = layer.fields()
|
||||||
|
|
||||||
@ -135,4 +135,4 @@ class SelectByAttribute(QgisAlgorithm):
|
|||||||
raise GeoAlgorithmExecutionException(expression.parserErrorString())
|
raise GeoAlgorithmExecutionException(expression.parserErrorString())
|
||||||
|
|
||||||
layer.selectByExpression(expression_string)
|
layer.selectByExpression(expression_string)
|
||||||
self.setOutputValue(self.OUTPUT, fileName)
|
return {self.OUTPUT: parameters[self.INPUT]}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user