Automatic acreage calculation

3047
5
01-29-2016 08:11 AM
Status: Already Offered
Labels (1)
MarkWarren1
New Contributor II

In enterprise and file geodatabases, the Shape.STArea() and Shape.STLength() fields are automatically calculated after modifications. But for a lot of local government folks in the US working with land-related information, "acres" is a more important geometric measure than "square feet". But to keep this user-created field current after modifications, it always has to be recalculated manually or programmatically.  Forgetting to recalculate can lead to erroneous assessment results.  It would be nice if the automated geometry update of the Shape.STArea() field could be applied to other geometry fields in the geodatabase as well. 

5 Comments
RichardFairhurst
Because your data is in a Projected Coordinate System and using Linear Units, you can use the Attribute Assistant Add-In to automatically update an Acres field in a geodatabase feature class during an edit session.  You can download the Attribute Assistant Add-In as part of one of the Local Government Information Model templates, such as the Address Data Management template (press the Download button to install it).

For the initial one time set steps you need to copy the DynamicValue table from the sample geodatabase into your existing geodatabase.  Then you should add a record to the DynamicValue table with the following settings:

Table Name:  The name of the feature class that contains the Acres field you want to maintain.
Field Name: The name of the field that will be updated to hold the feature Acreage ​​values.
​Value Method:  EXPRESSION
Value Info:  [Shape.STArea​()] / 43560 (the formula to convert square feet to acres)
On Create:  True
On Change (Attribute):  False
​​On Change (Geometry):  True
Manual Only:  False
Rule Weight: Null or 1
Comment:  (Optionally you can explain the method ​​​settings and behaviors in more detail here),

To make the settings work you have to add the DynamicValue table to any map where you will edit the feature class, make the Attribute Assistant toolbar visible, start an edit session on the feature class, and verify that the Attribtue Assistant button is enabled (it has a green exclamation mark in the button, not a red exclamation mark).  Now whenever you finish creating the geometry for a new feature or modify an existing feature's geometry and finish its Edit Sketch, you will see the acres field you configured automatically update to reflect the current feature geometry.

If you manage Centerline data you should also copy the GenerateId, MasterStreetName, RoadDir and RoadType tables from the sample geodatabase into your existing geodatabase if you want to implement some of the other Attribute Assistant behaviors that are supported by the Address Data Management template.
BobWheeler

This is long overdue.

BrittanyGale

This is still sorely needed in 2021.  Come on ESRI developers!  You can do it! 

KoryKramer

As Richard Fairhurst pointed out in 2016, this has been possible with Attribute Assistant for a long time.

The new technology to accomplish this is Attribute Rules.  https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/an-overview-of-attribute-ru... 

Set up an attribute rule with a conversion calculation from the feature class' unit into acres:

KoryKramer_0-1627911050542.png

CalculateAcres_AttributeRule.gif

Here is a related blog: https://www.esri.com/arcgis-blog/products/arcgis-pro/data-management/get-to-the-point-automatically-...

 

SSWoodward
Status changed to: Already Offered