3

I have two polygon Layers, A and B correspondingly. The polygons of B are lying on top of layer A and also overlapping the polygons of A (I made an example of the attribute table for better understandings).

I want to keep track of how much percentage of polygon A has "value_1" in different categories in it ("value_1" is originally from polygon B).

Example. Let's say my attribute table looks like this:

A_ID  B_ID  area_a  area_b  %area  value_1 
1      1     100     30       30     2        
1      2     100     45       45     5
1      3     100     25       25     16

2      4     50      10       20     12
2      5     50      30       60     5
2      6     50      10       20     5

The Output should look like this:

ID_A  area_a  value_1 <10  value_1 <20
1       100     75%            25%
2       50      80%            20%  

I guess I have to dissolve "A_ID" but I don't know how to calculate the field 'value1_<10' and 'value1_<20' while dissolving. Any suggestions?

  • 1
    Hi, i dont have the license for doing this, so i tried the approach from @Keagan Allan. That worked for me. But thank you very much! – Skane Sep 5 at 14:32
1

Offhand, I think the best bet would be to classify your data before doing the dissolve.

As an example, creating a new field called "Classified", then select all values that meet your requirement. IE: Select where "Value1 < 10" and then create a value in the "Classified" field as "1" and select by attributes again where "Value_1" is greater than 10...and calculate the value in the "Classified" field as 10.

Run a Dissolve on the features, using the "ID" and "Classified" as the Dissolve fields, and then select to "SUM" in the stat. Use the "area_b" as the field for the sum.

This will replicate the table in the example you provided.

  • Thank you very much, that worked! – Skane Sep 5 at 14:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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