creating volume from total station

1981
8
Jump to solution
03-05-2014 11:00 AM
MitchellAllen
New Contributor
I have some total station points in x,y,z (.txt) file that I want to make a 3D shape and create a volume from.  The points are taken in small basins (as small as 50 gallons) and I do not need any spatial reference to the surrounding area, just strictly trying to find volume of a 3D surface made from these points.  So far I've kind of figured out some of the tools to use, like Surface Volume Analyst in the 3D analyst toolbar, but I'm having trouble putting it all into a process from start to finish.  Can any pros here help make sense of this?  I have no problem getting the points into ArcGIS, but I am having trouble correctly interpolating and making a surface that I can then calculate volume from.  Also, I'm using ArcMap 10.1.  Thanks for any comments!

Mitchell
Tags (2)
0 Kudos
1 Solution

Accepted Solutions
MichaelStead
Occasional Contributor III
Make sure you do it from TIN. If you look at the area part of the volume/area outputs from a raster and compare it to the polygonal area you will see there is a significant difference. I don't have any links, but it has to do with Arc ignoring some of the peripheral cells. If you make a 10 x 10 x 10 cube and run the Volume/Area tool on it, it will tell you it is 81 square units of area. On a square it is apparent it has ignore 1 row and 1 column... on irregular geometry it is difficult to know what it might have done....

Also, just add your text file, convert to 3d event theme, and use this as an input in the TIN tool. You might have to create a polygon to use as an extent clip.... maybe going the way crafty762 suggests avoids this..... not sure, but I don't think so. Probably have to create that manually unless you have something that create a concave hull polygon.

View solution in original post

0 Kudos
8 Replies
WilliamCraft
MVP Regular Contributor
I have some total station points in x,y,z (.txt) file that I want to make a 3D shape and create a volume from.  The points are taken in small basins (as small as 50 gallons) and I do not need any spatial reference to the surrounding area, just strictly trying to find volume of a 3D surface made from these points.  So far I've kind of figured out some of the tools to use, like Surface Volume Analyst in the 3D analyst toolbar, but I'm having trouble putting it all into a process from start to finish.  Can any pros here help make sense of this?  I have no problem getting the points into ArcGIS, but I am having trouble correctly interpolating and making a surface that I can then calculate volume from.  Also, I'm using ArcMap 10.1.  Thanks for any comments!

Mitchell


You are correct in that the Surface Volume tools from the 3D Analyst toolbar will get you the surface volume you're looking to create.  Surface volume requires a raster DEM, terrain, or TIN as an input. 

Here's one way to do it with a TIN (at a high level) based on your XYZ input text file as your starting point:

1. ASCII 3D to Feature Class (3D Analyst toolbar or GP toolset) - this gets you a "3D aware" feature class
http://resources.arcgis.com/en/help/main/10.1/index.html#/ASCII_3D_To_Feature_Class/00q9000000410000...

2. Create TIN (3D Analyst toolbar or GP toolset) - using your "3D aware" feature class, this generates the TIN; otherwise, use the Terrain Wizard in ArcCatalog to achieve this step
http://resources.arcgis.com/en/help/main/10.1/index.html#//00q90000001v000000

3. Surface Volume (3D Analyst toolbar or GP toolset) - calculates your surface volume from the input TIN in step 2
http://resources.arcgis.com/en/help/main/10.1/index.html#//00q900000027000000
0 Kudos
MichaelStead
Occasional Contributor III
Make sure you do it from TIN. If you look at the area part of the volume/area outputs from a raster and compare it to the polygonal area you will see there is a significant difference. I don't have any links, but it has to do with Arc ignoring some of the peripheral cells. If you make a 10 x 10 x 10 cube and run the Volume/Area tool on it, it will tell you it is 81 square units of area. On a square it is apparent it has ignore 1 row and 1 column... on irregular geometry it is difficult to know what it might have done....

Also, just add your text file, convert to 3d event theme, and use this as an input in the TIN tool. You might have to create a polygon to use as an extent clip.... maybe going the way crafty762 suggests avoids this..... not sure, but I don't think so. Probably have to create that manually unless you have something that create a concave hull polygon.
0 Kudos
MitchellAllen
New Contributor
Thanks for your response!  I converted the xyz points to a "3D aware" feature class like you said and created the TIN.  One question, why does it look completely different from the feature class created just by uploading my points through "display xy data" and then "export as feature class"??  What is the main difference with something that is "3D aware"? 

Also, is there a way that I can view the map in 3D? Would I have to have another program?  Thanks again for your help, I was able to create the map I needed, just wanting to know why it is different so it makes more sense to me! 

Mitchell
0 Kudos
MichaelStead
Occasional Contributor III
Add it in ArcScene and play around with vertical exageration if you want to make things more obvious....
I never use 3d polygons, but I would expect them to be equivalent to a TIN... so I am not sure why you would even do that. Just import the x,y,z, to an event them in ArcGIS.... create a polygon around the points (like a fence tight to the outermost points....depending on what you are actually modelling... but you need a "zero" line or some sort of boundary). Use the 3d points and the polygon as inputs in Create Tin. Use the z values of the points as a mass points type, and use Null and hard clip on the polygon. There is likely more to it than that, but not sure what your data looks like.
0 Kudos
WilliamCraft
MVP Regular Contributor
Thanks for your response!  I converted the xyz points to a "3D aware" feature class like you said and created the TIN.  One question, why does it look completely different from the feature class created just by uploading my points through "display xy data" and then "export as feature class"??  What is the main difference with something that is "3D aware"? 

Also, is there a way that I can view the map in 3D? Would I have to have another program?  Thanks again for your help, I was able to create the map I needed, just wanting to know why it is different so it makes more sense to me! 

Mitchell


What I meant by "3D aware" was simply that the output from step 1 would be a feature class with a field for Z values, mainly because you are using X, Y, and Z values from your text file as input.  It's certainly not a technical term 🙂  I am not sure why it looks different than the alternative workflow you described; however if you're aiming for surface volume then I'd stick with the 3D Analyst tools (either from the 3D Analyst toolbar or from the 3D Analyst geoprocessing toolset in ArcToolbox). 

You can view 3D data in a product called ArcScene. 

If the workflow I provided gave you the output you wanted, please mark the correct answer with the green check.  Also remember to up-vote helpful answers from others in this thread.
0 Kudos
MitchellAllen
New Contributor
So this is my finding.  In order to make sure I was actually finding the correct volume of a shape, I just started making up coordinates in xyz format for random shapes with known, small volumes (cubes, wedges, etc.).  Any time I convert ASCII 3D to feature class it creates very random shapes, and the volumes are off.  When I just import as .csv, display xyz data, export as feature class then create TIN from that, it gives me the correct volumes.  I wish I knew why it was different, but I don't understand every single feature of what I'm doing so it's hard to say without someone else looking at it. 

mstead, so far I haven't even had to create a polygon around the points, it automatically clips on the outermost points.  With less than perfect shapes, though, I may have to collect my data in a way that I know where the edges are.  Thanks for all the help!

Mitchell
0 Kudos
MichaelStead
Occasional Contributor III
The clipping to the shape may not be necessary. In order to get the correct output for the volume of a lake below the surface I always clip the TIN to the polygonal extent of the lake and set my plane as slightly above 0... say 0.00001. If you set it at 0 you will find it doesn't include the surface in the volume calculation. If you leave the meaningless TIN faces that have been created between some of the outermost points this might not work, but you could set you plane at some slight negative value and estimate the ignored volume based on an area and a depth. Then add this volume (the top x units of depth multiplied by the surface area) to the volume calcullated by the tool. I usually do this all with the "Area and Volume" tool (add from Customize>Customize Mode>Commands>3D Analyst>Area and Volume...). It may be that the cut fill toolbox tool no longer has all these issues, but I suspect it still does.
0 Kudos
MitchellAllen
New Contributor
Thanks for all of your help.  I have to do this for 30 something small basins dug in the ground to calculate volume change over time from sediment accumulation.  Instead of using a known perimeter (like your lake perimeter) to clip, I'm just going to create a perimeter for each basin when I collect my baseline data and I will use that to clip the TIN every single time.  Both of you helped me greatly.  I appreciate it!

Mitchell
0 Kudos