Skip to content

Latest commit

 

History

History
56 lines (33 loc) · 1.51 KB

within.md

File metadata and controls

56 lines (33 loc) · 1.51 KB

Funzione within

Controlla qualora una geometria sia interna ad un'altra. Restituisce 1 (vero) se la geometria a è completamente contenuta nella_ geometria b_.

Sintassi

within(geometry a, geometry b)

Argomenti

  • geometry a una geometria
  • geometry b una geometria

Esempi

  • within( geom_from_wkt( 'POINT( 0.5 0.5)' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))' ) ) → 1
  • within( geom_from_wkt( 'POINT( 5 5 )' ), geom_from_wkt( 'POLYGON((0 0, 0 1, 1 1, 1 0, 0 0 ))' ) ) → 0

nota bene

--

osservazioni

Usando algoritmo Seleziona per espressione presente in strumenti di processing oppure icona (ctrl+F3):

espressione usata:

within($geometry,geometry(get_feature( 'province_rt_rt','pk_uid','53')))

dove:

  • geometry a è $geometry
  • geometry b è geometry(get_feature( 'province_rt_rt','pk_uid','53'))

seleziono tutti i comuni within (contenuti) nella provincia con pk_uid53 (Grosseto)

PS: potrei anche negare (NOT) l'espressione per selezionare il complementare (tutti i comuni tranne quelli contenuti nella provincia di Grosseto).

NOT within($geometry,geometry(get_feature( 'province_rt_rt','pk_uid','53')))

Altro esempio con condizione sulle etichette

CASE WHEN within( $geometry,
geometry(get_feature('poligono','id',1))) = 1
THEN 'INTERNO'
ELSE 'NON INTERNO'
END