4

I calculated intersection between Layer 1 and Layer 2 using expression below:

area(
    intersection (
        $geometry, 
        collect_geometries(
            overlay_intersects ('layer1',$geometry)
        )
    )
)

And total area of polygon on Layer 2 using: $area

Given the fact that polygon drawn on Layer 2 is completely inside polygon from Layer 1 the area of intersection should equal the total area of polygon but for some reason that's not the case and I don't understand why and how to fix it.

Geometry situation

Attribute table

This question is a indirect follow-up to this thread: Calculating area of polygon intersection with condition

5
  • 4
    Probably one calculation was done using planimetric measuring, and the other took into account the ellipsoid.
    – Erik
    Commented Jan 9, 2023 at 8:03
  • So it has something to do with CRS or with the way both funtions are calculated? I made sure that both Layers and Project are using EPSG:2180, but that didn't do the trick.
    – Scrchd
    Commented Jan 9, 2023 at 8:07
  • 4
    Also check this: gis.stackexchange.com/a/348856/63384 for the difference between planimetric area area() and ellipsoidal area $area
    – ahmadhanb
    Commented Jan 9, 2023 at 8:18
  • 1
    and also this one of course : gis.stackexchange.com/questions/23355/…
    – Taras
    Commented Jan 9, 2023 at 8:21
  • @ahmadhanb This is what I was looking for, I should be using area($geometry) instead of $area. Please copy your comment as answer so I can accept it as solution.
    – Scrchd
    Commented Jan 9, 2023 at 8:25

1 Answer 1

5

As stated in my comment, check Using area() or $area function in QGIS, when the data (polygon) is stored in UTM? for the difference between planimetric area area() and ellipsoidal area $area for more information.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.