mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-18 00:03:05 -04:00
[processing] Remove ParamaterGeometryPredicate from SelectByLocation algorithm
This commit is contained in:
parent
09035a4dab
commit
ecb25c4105
@ -35,7 +35,6 @@ from qgis.core import QgsGeometry, QgsFeatureRequest
|
|||||||
from processing.core.GeoAlgorithm import GeoAlgorithm
|
from processing.core.GeoAlgorithm import GeoAlgorithm
|
||||||
from processing.core.parameters import ParameterSelection
|
from processing.core.parameters import ParameterSelection
|
||||||
from processing.core.parameters import ParameterVector
|
from processing.core.parameters import ParameterVector
|
||||||
from processing.core.parameters import ParameterGeometryPredicate
|
|
||||||
from processing.core.parameters import ParameterNumber
|
from processing.core.parameters import ParameterNumber
|
||||||
from processing.core.outputs import OutputVector
|
from processing.core.outputs import OutputVector
|
||||||
from processing.tools import dataobjects, vector
|
from processing.tools import dataobjects, vector
|
||||||
@ -59,6 +58,16 @@ class SelectByLocation(GeoAlgorithm):
|
|||||||
self.name, self.i18n_name = self.trAlgorithm('Select by location')
|
self.name, self.i18n_name = self.trAlgorithm('Select by location')
|
||||||
self.group, self.i18n_group = self.trAlgorithm('Vector selection tools')
|
self.group, self.i18n_group = self.trAlgorithm('Vector selection tools')
|
||||||
|
|
||||||
|
self.predicates = (
|
||||||
|
('intersects', self.tr('intersects')),
|
||||||
|
('contains', self.tr('contains')),
|
||||||
|
('disjoint', self.tr('disjoint')),
|
||||||
|
('equals', self.tr('equals')),
|
||||||
|
('touches', self.tr('touches')),
|
||||||
|
('overlaps', self.tr('overlaps')),
|
||||||
|
('within', self.tr('within')),
|
||||||
|
('crosses', self.tr('crosses')))
|
||||||
|
|
||||||
self.methods = [self.tr('creating new selection'),
|
self.methods = [self.tr('creating new selection'),
|
||||||
self.tr('adding to current selection'),
|
self.tr('adding to current selection'),
|
||||||
self.tr('removing from current selection')]
|
self.tr('removing from current selection')]
|
||||||
@ -67,9 +76,10 @@ class SelectByLocation(GeoAlgorithm):
|
|||||||
self.tr('Layer to select from')))
|
self.tr('Layer to select from')))
|
||||||
self.addParameter(ParameterVector(self.INTERSECT,
|
self.addParameter(ParameterVector(self.INTERSECT,
|
||||||
self.tr('Additional layer (intersection layer)')))
|
self.tr('Additional layer (intersection layer)')))
|
||||||
self.addParameter(ParameterGeometryPredicate(self.PREDICATE,
|
self.addParameter(ParameterSelection(self.PREDICATE,
|
||||||
self.tr('Geometric predicate'),
|
self.tr('Geometric predicate'),
|
||||||
left=self.INPUT, right=self.INTERSECT))
|
self.predicates,
|
||||||
|
multiple=True))
|
||||||
self.addParameter(ParameterNumber(self.PRECISION,
|
self.addParameter(ParameterNumber(self.PRECISION,
|
||||||
self.tr('Precision'),
|
self.tr('Precision'),
|
||||||
0.0, None, 0.0))
|
0.0, None, 0.0))
|
||||||
@ -118,20 +128,7 @@ class SelectByLocation(GeoAlgorithm):
|
|||||||
except:
|
except:
|
||||||
pass # already removed
|
pass # already removed
|
||||||
else:
|
else:
|
||||||
if predicate == 'intersects':
|
res = getattr(tmpGeom, predicate)(geom)
|
||||||
res = tmpGeom.intersects(geom)
|
|
||||||
elif predicate == 'contains':
|
|
||||||
res = tmpGeom.contains(geom)
|
|
||||||
elif predicate == 'equals':
|
|
||||||
res = tmpGeom.equals(geom)
|
|
||||||
elif predicate == 'touches':
|
|
||||||
res = tmpGeom.touches(geom)
|
|
||||||
elif predicate == 'overlaps':
|
|
||||||
res = tmpGeom.overlaps(geom)
|
|
||||||
elif predicate == 'within':
|
|
||||||
res = tmpGeom.within(geom)
|
|
||||||
elif predicate == 'crosses':
|
|
||||||
res = tmpGeom.crosses(geom)
|
|
||||||
if res:
|
if res:
|
||||||
selectedSet.append(feat.id())
|
selectedSet.append(feat.id())
|
||||||
break
|
break
|
||||||
|
Loading…
x
Reference in New Issue
Block a user