[Qgis-user] QGIS - Vector layer with multiple entities
Edouard Bourgine
edouard.bourgine at acosol.fr
Thu Jun 24 07:42:56 PDT 2021
Hi,
Im running qgis 3.16 on w10.
I have two vector layers with multiple entities :
· One with each town borders (? Im note sure if this is the right
word) I mean the area for each zip code. (TOWN_LAYER) (polygon vector)
· The second with cropfields and meadows (polygon vector)
(FIELD_LAYER)
I want the total area of cropfield and Meadows in each Town from the first
layer. (Exemple : one town have 31 fields/meadows -> total town area is
55km² (i have that info) and cropfield/meadows area is 26km² (i need that
one for each town)
First i tried something like :
·
Sum(area(intersection($geometry,geometry(FIELD_LAYER_ID))),group_by
:=FIELD WITH SAME VALUE EVERYWHERE)
But it is not a valid expression (geometry(FIELD_LAYER_ID) dont work)
Some meadows span over several town. Some juste inside one.
Ive « cut » the FIELD_LAYER with the TOWN_LAYER
My first vector layer as a field specific and im looking for the formula
that would give me the right answer.
Ive tried :
· aggregate (layer :=FIELD_LAYER_ID, aggregate :=sum,expression
:=$area, filter := intersects($geometry, geometry(@parent)))
It doesnt work because the borders are overlapping : each fields just
touching the borders even if they belong to another town are included.
« Contains » instead of « intersects » doesnt work either because some
borders of the field are overlapping and those are not included.
Exemple with « count » instead of « sum »
A town have 31 fields spanning over 26km² : Intersects give me a total count
of 38 and 48km² and contains give me 12 and 4,7 km² because of borders
overlap.
I think the solution is with intersection, but i cant reach a valid
expression.
Another solution may be splitting the FIELD_LAYER in as much layer as town
(I did that) and batch process for each layer :
· sum($area,group_by := FIELD WITH SAME VALUE EVERYWHERE)
then get the result in the TOWN_LAYER.
But i dont know how to batch process it and get the result in the first
layer.
And for informations Im talking hundreds of towns and thousands of
fields/meadows entities so one by one calculation is not possible.
I hope I make sense and that someone know how to deal with that.
Thanks,
Edouard BOURGINE
Ingénieur Environnement
Tél/Fax : 03.83.22.69.09
Port : 06.63.12.99.63
ACOSOL
26 rue de lOrnain
54520 LAXOU
--
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20210624/5685e746/attachment.html>
More information about the Qgis-user
mailing list