I am trying to calculate the volume of several TINs using the 3D Analyst of ArcGIS 10.5. My data can be found here: https://drive.google.com/open?id=1ERFdsqDGLH1a_FbxwawE_gPm0Au0Q9vT

enter image description here

For a start, I clipped the TIN data set to just one TIN and calculated the volume with reference plane = "BELOW" and height field = "None", which in my understanding means that ArcGIS takes the highest point of the TIN. The calculated volume seemed to check out.

However, when I take my whole data set (with about 300 TINs) through the same process the calculated volume for each TIN gets unreasonably large while the area only slightly differs.

Do I have to provide an input to the height field?

If I understand correctly, it would have to come from the attribute table of the input feature class. But I haven't figured out a way to extract the highest point of a TIN let alone save it as a new column in the attribute table of my shapefile.

Am I on the right track or do I need to do something completely different?

  • 1
    What tool(s) are you using specifically for calculating the volume? This should be fairly easy and I am sure this are just some Arcgis quirks you are missing. To get the highest point of a TIN, use TIN node and just get the highest Z value from each TIN.
    – alecsx
    Commented Oct 23, 2019 at 7:05
  • I'm using the "Polygon Volume" tool with the TIN and a corresponding shp. If I use "TIN node", the resulting attribute table does not differentiate between each TIN, it just counts nodes from highest to lowest. In my data, however, I need the highest value for each TIN separately to give them as input into the height field of the "Polygon Volume" tool. Commented Oct 23, 2019 at 12:19
  • 1
    Alright, unfortunately I do not have the time to try this on my machine. I know this works, but I remember using multipatch to complete the process. Anyway,to differentiate between nodes for each TIN, just do a spatial join with the polygons you are using(assuming they have a name, if not just use the objectID for naming), then just use SQL. If using TIN, doesn't work, try with rasters and CutFill.
    – alecsx
    Commented Oct 23, 2019 at 13:05

1 Answer 1


I think I found a solution that gives reasonable results for the volume:

I take the shapefile with the extents of the TINs and do Zonal Statistics to get the max height of each polygon.
Then I field join the result of the Zonal Statistics with the attribute table of the shapefile. Using "Polygon Volume" I can then calculate the volume of each TIN defining the max height column as the height field.

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.