La Funzione in oggetto è parecchio interessante e ci permette di fare acrobazie in QGIS.
La funzione attualmente è così definita:
overlay_intersects(layer[,expression][,filter][,limit][,cache:=false][,min_overlap][,min_inscribed_circle_radius][,return_details][,sort_by_intersection_size])
per maggiori dettagli vai qui
Ho notato che ha un funzionamento anomalo (forse bug) quando utilizzo l’espressione per determinare la sovrapposizione tra poligoni (topologicamente corretti).
La sovrapposizione tra poligoni può restituire:
- una linea (quando sono perfettamente adiacenti lungo un lato)
- un poligono.
Nel caso di sovrapposizione che restituisce una linea, ho notato un comportamento strano, ovvero, se la sovrapposizione è caratterizzata da un solo segmento, allora calcola correttamente la lunghezza; ma nel caso la sovrapposizione avesse più segmenti, per esempio una linea a forma di L, restituisce solo la lunghezza del segmento più lungo.
Sotto un esempio:
Se la sovrapposizione tra i poligoni restituisse poligoni, allora noto altra anomalia, ovvero, i calcoli delle aree di sovrapposizione sono corretti solo se i poligoni sono definito Polygon, nel caso fossero MultiPolygon, restituiscevalori errati.
Sotto un esempio di sovrapposizione con MultiPolygon:
La selezione(colore giallo) è un multipoligono con due parti) l’area calcolata è solo quella indicata dalla freccia
Allego un progetto di esempio (usare le viste per visualizzare correttamente i due casi)
progetto_overlap.zip (35.9 KB)
Se qualcuno avesse tempo e voglia di guardare, magari poi, apriamo una issue.
saluti