2

So I've been tasked with automating a formerly manual process in model builder in which I'm trying to calculate land area.

In the former manual process the feature class was brought into ArcMap and the dataframe's projection was switched from a Lambert conformal conic projection to a Albers equal area conic projection. The area was then calculated through the Calculate Geometry dialog in the attribute table.

To replicate this in a model I use the Project tool which creates a new feature class in the Albers projection and then the Calculate Field tool using !shape.area@SQUAREKILOMETERS! as the expression.

Generally speaking this all works fine. The issue that comes up is that in comparing previous results from the manual process to the automated process there are slight differences in the calculated area. Most of the time this is on the order of a fraction of a square meter in some features with the difference for the whole feature class hovering around 1 square meter total.

Is there a reason for this difference? Is one method more correct than the other? My thought is that it has something to do with tolerances and vertices snapping to different locations during projection of the feature class but I'm not sure.

Ultimately the difference is miniscule but there is a difference and I'm wondering why?

2
  • I wonder if it might be a rounding error of some sort. One or the other of the methods may result in a reduced number of places after the decimal that though small is enough to accumulate to a change in the area calculation. What format is your output feature class? So, I don't think it is vertices being snapped to different locations, but instead, the coordinate values being slightly different due to one or the other method rounding the value to a less precise number. Commented May 17, 2016 at 17:27
  • There is probably another algorhitm used. Don´t know how it is calculated with the Python !shape.area! calculation. But i guess the Calculate Geometry is different from that, probably also using C# and maybe also different number definitions (single precision vs double?). Anyway if you want to read about how it is done in the second case here is a link to an explanation: support.esri.com/fr/knowledgebase/techarticles/detail/24650
    – Matte
    Commented May 17, 2016 at 17:37

1 Answer 1

2

This is happening because in your manual workflow your feature class has a different coordinate system than the data frame, so there is a transformation on-the-fly going on.

However, in your automated workflow you are reprojecting the feature class and then calculating area.

Depending on the shape & size of the polygon, and the location, these two different methods will result in slightly different values.

For example: Here's how two differently projected feature classes will calculate different areas depending on the data frame coordinate system

2
  • Based on that description, can we say that the automated method is the more accurate method? Or is there not enough information to know for sure?
    – Baltok
    Commented May 17, 2016 at 22:43
  • 2
    Depends on whether their projection function is using the correct transformation (if it's needed). That being said, the automated method would be more accurate of the two, because it is projecting the geometry into a coordinate system that is better suited for calculating area AND it's not doing it on-the-fly.
    – alexGIS
    Commented May 17, 2016 at 23:26

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.