contains

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.

Sintassi

contains(geometry a, geometry b)

Argomenti

  • geometry a una geometria
  • geometry b una geometria

Esempi

  • 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

../../_images/contains1.png

nota bene

osservazioni

Usando algoritmo Seleziona per espressione presente in strumenti di processing oppure https://docs.qgis.org/2.18/en/_images/mIconExpressionSelect.pngicona (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

../../_images/contains2.png

seleziono tutti i comuni contains (contenuti) nella provincia con pk_uid46 (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)