Verifica se una geometria ne contiene un'altra. Restituisce vero (1) se, e solo se, nessun punto della geometria b giace all'esterno della geometria a, ed almeno un punto dell'interno di b si trova all'interno di a.
contains(geometry a, geometry b)
- geometry a una geometria
- geometry b una geometria
contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'POINT(0.5 0.5 )' ) ) → vero
contains( geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ), geom_from_wkt( 'LINESTRING(3 3, 4 4, 5 5)' ) ) → falso
--
Usando algoritmo Seleziona per espressione
presente in strumenti di processing oppure (ctrl+F3):
espressione usata:
contains(geometry(get_feature( 'province_rt_rt','pk_uid','46')),$geometry)
dove:
- geometry a è
geometry(get_feature( 'province_rt_rt','pk_uid','46'))
- geometry b è
$geometry
seleziono tutti i comuni contains
(contenuti) nella provincia con pk_uid
46 (Lucca)
PS: potrei anche negare (NOT
) l'espressione per selezionare il complementare (tutti i comuni tranne quelli contenuti nella provincia di Lucca).
NOT contains(geometry(get_feature( 'province_rt_rt','pk_uid','46')),$geometry)