Cómo usar qgis:selectbylocation en PyQGIS

El geoalgoritmo qgis:selectbylocation es una de las 103 opciones que pone a su disposición QGIS en la Processing Toolbox. Si se desea ejecutar desde la Python Console es conveniente ejecutar primero el comando:

    processing.alghelp(‘qgis:selectbylocation’)

para determinar cuales son los parámetros de entrada, la salida y, si los hay, las opciones de entrada de algunos o todos los parámetros de entrada. En este caso, la ejecución de la ayuda resulta en:

ALGORITHM: Select by location
	INPUT <ParameterVector>
	INTERSECT <ParameterVector>
	PREDICATE <ParameterGeometryPredicate>
	METHOD <ParameterSelection>
	OUTPUT <OutputVector>


METHOD(Modify current selection by)
	0 - creating new selection
	1 - adding to current selection
	2 - removing from current selection

Los Geometry Predicates son u’intersects’, u’contains’, u’disjoints’, u’equals’, u’touches’, u’overlaps’, u’within’ y u’crosses’; siendo imprescindible que vayan precedidos de la ‘u’ de ‘unicode’.

En el código siguiente se va a probar ‘within’ con el ‘METHOD 0’ (creating new selection).

mapcanvas = iface.mapCanvas()

layers = mapcanvas.layers()

processing.runalg('qgis:selectbylocation', layers[0], layers[1], u'within', 0)

Antes de ejecutar en la Python Console:

location1

Después de ejecutado el código en la Python Console:

location2

This entry was posted in Processing, PyQGIS, QGIS, Software Libre. Bookmark the permalink.

Leave a comment