Para ampliar la consulta en esta respuesta con una regla de "área", es decir, considerar el valor solo si la intersección es mayor que cierto valor, considere una consulta ligeramente ajustada:
SELECT a.*, GROUP_CONCAT(b.info) AS concat_b_info
FROM "Layer_B" AS b, "Layer_A" As a
WHERE ST_INTERSECTS(a.geometry, b.geometry)
AND ST_AREA(ST_INTERSECTION(a.geometry, b.geometry)) > 80000000
GROUP BY a.id
O considere en la Calculadora de Campos la siguiente expresión:
aggregate(
layer:='Layer_B',
aggregate:='concatenate',
expression:="info",
concatenator:=',',
filter:=(intersects($geometry,geometry()) AND area(intersection($geometry,geometry())) > 80000000)
)
Tenga en cuenta que la función 'area'
Devuelve el área de un objeto de polígono geométrico. Los cálculos son siempre planimétricos en el Sistema de Referencia Espacial (SRS) de esta geometría, y las unidades del área devuelta coincidirán con las unidades para el SRS. Esto difiere de los cálculos realizados por la función $area, que realizará cálculos elipsoidales basados en el elipsoide del proyecto y la configuración de unidad de área.
Cuando sea necesario calcular adicionalmente las áreas de las entidades superpuestas, use esto
SELECT a.*, GROUP_CONCAT(b.info) AS concat_b_info,
GROUP_CONCAT(round(ST_AREA(ST_INTERSECTION(a.geometry, b.geometry)), 4)) AS a_b_areas
-- GROUP_CONCAT(round(ST_AREA(b.geometry), 4)) AS b_areas
FROM "Layer_B" AS b, "Layer_A" As a
WHERE ST_INTERSECTS(a.geometry, b.geometry)
AND ST_AREA(ST_INTERSECTION(a.geometry, b.geometry)) > 80000000
GROUP BY a.id
o en la Calculadora de Campos con un nuevo campo para los valores de área:
aggregate(
layer:='Layer_B',
aggregate:='concatenate',
expression:=to_string(round(area(intersection($geometry,geometry())),4)),
# expression:=to_string(round(area($geometry),4)),
concatenator:=',',
filter:=(intersects($geometry,geometry()) AND area(intersection($geometry,geometry())) > 80000000)
)