3

A common task I have is to take a site area that encompasses several different properties and make a map showing how much of each property is within the site boundary. Then I calculate the proportion of each property compared to the site area. The properties are all single part polygons in a feature (white lines) and the site area is a single polygon (red line).

Site boundary in red and property lines in white

I made a ModelBuilder tool to automate this, but I can't figure out a good way to automatically calculate the total site area and then use that number in the field calculator to calculate the property proportion for each property.

The model uses the intersect tool to create a feature clipping each property to the site boundary and calculates the area of each property within the site boundary. This is where I need help. Currently, I have a model parameter to manually input the total site area. ModelBuilder uses this value to calculate the property proportion for each property with the equation below.

simple property proportion equation

To lower risk of mistakes, I want to automatically sum the property areas calculated from the intersect tool and use that number as the total site area to calculate property proportion. This way I know that the property proportions will add up to 100% and I don't have to calculate the total site area myself to input manually.

ModelBuilder screenshot

I'm using ArcMap 10.8 and am not familiar with Pyhton (unfortunately).

3
  • You need to describe your datasets a little more, edit your question, include some images. Does your data have multi properties in multiple sites for example? Or is it some properties in a single site polygon?
    – Hornbydd
    Aug 14 at 14:44
  • I don't follow where you're having problems. You calculate a value and then need to get the value for the next tool? desktop.arcgis.com/en/arcmap/latest/tools/modelbuilder-toolbox/…
    – KHibma
    Aug 14 at 18:57
  • Thanks for the feedback. I edited the original post. Bottom line: I just want to automatically sum the total area of the intersect output and use that value in a field calculator expression to divide each property area by that total area.
    – David
    Aug 15 at 8:46

1 Answer 1

1

You were very close to completing the model, you just needed to add a couple more tools to the model.

You need to be aware that the intersect transfers over the area of the polygons before the actual intersect, especially if your output is a shapefile, so typically you need to recompute the new areas created by the cutting up process of the intersect.

A better model would be this:

Model

The Get Field Value tool is a model only tool and allows you to extract a value from the first row, in this case the area of the site (which is a shapefile of just 1 polygon).

The model then intersects the site and parcel data, deletes out any area fields, recomputes a new area for the polygon (which is now the result of the intersect), adds a proportion field and computes the proportion into it.

The field calculate uses inline variable substitution to create the correct calculate:

[POLY_AREA] / %Site Area%

%Site Area% is the output of the get field value tool.

As a side note I would recommend you DO NOT change the name of the tool, the text you see in the yellow box, as then you have no idea what the tool is. Changing the name of the inputs/outputs is OK.

1
  • Good tip. I added in the Get Field Value tool and it works fine. I just wish I could add up the intersect areas so I'm sure it adds up to 100% because the SHAPE_Area for the site boundary may not always be correct. But now I can use this and just watch out for that. Also, I think the intersect tool does recalculate areas in a new "Shape_Area" field. It also keeps the old area field so, I just needed to make sure I selected the correct one. Thanks!
    – David
    Aug 25 at 13:31

Your Answer

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

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