# Which buildings have access to nature where more than 50% of the nature area is closer than 3km?

Geographic Information Systems Asked by Selma on January 5, 2021

I have 1) a file with all the residential buildings in a small municipality and 2) a file with all the surrounding green areas.

I’m having a hard time solving this because the residential buildings are so many that doing a buffer for individual buildings produces way too many overlapping circles. In spite of this, I tried following this tutorial Percentage of polygon in one shapefile within polygon of another . I used the overlap analysis and set the green areas as input layer, and the 3km buffer around residential buildings as the overlay layer. But in the attribute table the analysis returns a column with the area percentage where all the values are 99 or 100. Which makes me think that the analysis isn’t performed on each individual buffered circle, but on the whole shape instead. I tried the other way around as well (buffer layer as input and green areas as overlay) but the percentage values it returns are very small and none larger than 49%, which can’t be right either.

I have also tried performing a 3km buffer on the green areas and see which buildings it intersects with but that doesn’t give the full picture since there are other buildings that have access to less than 100% of the green area within 3km.

Here is a screenshot of my layers.

Step 0: Add an ID to your buildings (most likely using $id in the field calculator). Step 1: Buffer your buildings, don't dissolve the buffers (as you already did). Step 2: Calculate the areas of your nature reserves (use the field calculator and $area).

Step 3 (optional): Use select by location to select all buffers which touch a nature reserve.

Step 4: Use intersect with the buffers as the first layer, and the nature areas as the second. You may use only the selected features, if the process would take too long otherwise.

Step 5: For every intersected buffer, where the remainung buffer-area is at least half as large as the total area of the nature reserve, note a 1 in the attribute table, every other buffer gets a 0. Do this by running if(\$area >= "total area"*0.5,1,0) on the intersected layer. You have to replace the term in " with the name of your column with the corresponding value.

Step 6: Use join attributes table (aka join by value/field) to join the column you created in step 5 to your original buildings based on the common ID they share. Now every building which has access to at least 50 % of a nature area has a 1 in its attributes.

Correct answer by Erik on January 5, 2021