# Calculating volume of several TINs in ArcGIS Desktop

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

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?

• 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. 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
• 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. Commented Oct 23, 2019 at 13:05

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`.