I am working on mapping pollutant concentrations in a pond from point-sampled data. There are 50 sampling locations in the pond (randomly dispersed), and at each location there are three sampling events (=150 total); one at the surface, one in the middle, one at the bottom.

I have created a TIN extent based on depth of pond, and now I would like to "fill" the pond by interpolating volumes of pollutant concentrations from the 150 sample points.

I am trying to do this by applying a spline interpolation through the three sampling events at each of the 50 locations, in order to produce 50 interpolated lines. From there i could apply kriging for each pixel down through the pond profile (although this way does ignore important spatial correlation).

I am stuck at the spline interpolation of the lines.

Is there a way to interpolate between points when the X,Y coordinates are all the same, but the Z coordinate changes?

In other words, how does one do vertical interpolation in 3D analyst?

  • 1
    Great question. This sounds like trilinear interpolation - if so do the algorithms on that page help? Apr 10, 2014 at 7:02
  • Thanks for the suggestion Stephen, It looks like trilinear interpolation is something I could end up using. I am unfamiliar with this method so I will have to look into it closely, but at the surface my only concern is this: does trilinear interpolation create an interpolated value for every point within the chosen extent? In other words, is the whole volume accounted for by the three linear interpolants of trilinear interpolation, or are there missing values within the produced cube?
    – Michael S
    Apr 10, 2014 at 9:46
  • Sorry, this is way beyond me - hopefully someone with more modelling experience can help. While researching this I came across LeapFrog3D which might help if you're able to purchase a new product Apr 10, 2014 at 22:38
  • One source of error in my project: I was in GCS as my coordinate system, when I should have been in a projected coordinate system which measures distances not by degrees but by defined lengths (meters). My elevation data were in meters, which when taken as degrees caused the cell size to be may too big for interpolation of a raster. Unfortunately I still get that error, even now! I might have to check out some other products (somewhat out of the scope of my project currently, but may well be necessary soon). Thanks!
    – Michael S
    Apr 13, 2014 at 2:13
  • Leapfrog is great. Fantastic actually - very polished interface and quite intuituve. I used the Leapfrog Mining version of the software which shares the same 3D math engine. It can do any sort of 3D interpolation with a multitude of parameters including anisotropy but at a cost of about $10000 / year. Apr 15, 2014 at 22:33

1 Answer 1


ArcScene is great for displaying 3D data and 3D analyst has some good 3D geoprocessing capabilities but as far as 3D editing goes it is VERY limited. You can construct 3D lines programmatically with ArcObjects but since ArcScene is not a true 3D editing environment you will not be able to create a 3D object, cross sections, vertical slices or manually create and edit data in 3D. TIN and Raster are 2.5D surfaces (as oppose to 3D mesh that can fully enclose a volume) but you need to create a vertical plane (using interpolation) not a 2.5 D surface. To my knowledge, this cannot be done in ArcGIS. At least not yet. You may have to do this outside of ArcGIS then bring the final product back in. A software that can do 3D interpolation will also most likely allow you to create a sectional slice of your final 3D object. An example of this is drillhole/mining exploration software which allows you to import down-hole survey and assay data which is basically a 3D cloud of points with attributes and it uses a value such as a gram-per-tonne of this or that mineral to interpolate 3D mineralization from this type data. The simpler of these methods is voxel gridding which uses 3D grid (cubes or voxels) to build the objects based on the input points value in 3D space and it's proximity to other points in the 3D space - i guess much like spline but in all 3 dimensions. The result is similar to what the gane of minecraft looks like which also uses some type of voxel technology. Geosoft Target which is somewhat compatible with ArcGIS can do voxel gridding. You can apply colour ramp to the voxel, create a sectional slice, export the slice or the entire voxel to any 3D output and visualize it in any other 3D software including ArcScene.

Another way I was able to create 3D objects from 3D surveys was in Leapfrog Mining which is hands down the best 3D interpolation software I personally used. You can intepolate 3D objects using attribute values at different resolutions (dense or course) using multitude of parameters. You can even create surfaces or other objects that effect your interpolation or guide the global anisotropy of the interpolation. (bias the interpolation in a certrain direction, volume, or using other 3D shape(s)) The options and parameters In Leapfrog are unsurpassed. The best part is that the "interpolants" are just mathematical formulas hence your entire model can be dynamic; appending the input data, or adjusting any parameters will recalculate the model and all its dependents, etc. Leapfrog also allows to manually create data and objects, drape imagery onto surfaces, import and visualize external data, obtain volumetric and other info from 3D objects, visualize, slice, extrude, merge intersect objects and export the model or any of its parts to a number of formats including 3D dxf mesh.

The downside is the cost. I believe our company pays around $10000 CAD per license per year.

There are other flavors of Leapfrog but they all share the same technology under the hood. The Hydro version may be more suitable for your purposes. There is also Geo which is a workflow upgrade to the Mining version and geothermal.


I just remembered that I used to crete cross sections in ArcMap by converting 3D DXF objects into clouds of XYZ points then flipping the coordinates and projecting them onto an XY plane effectively turning the data onto its side. I then used a definition query to only display a range of the points which only showed points within a certain slice - cross section. I would then digitize these into polygons using the snapping environment. I was able to flip some raster surfaces this way as well such as lidar surface for example. The disadvantage is that it this process is time consuming and not really on a true vertical plane, but only a projection of vertical data onto an XY plane. I was also able to only project data looking directly North, South, East or West but I did not have enough brains to figure out how to project alternate azimuths or inclines. I then begun Using Geosoft Target which made all this a piece of cake in comparison. However, just thinking of 3D point clouds - you may be able to turn your data (once you have your vertical lines) into a 3D point cloud then symbolize them in such a way that the symbology will emulate a voxel grid (3D cubes of different colors for your symbol categories) Since your points have XYZ values you can use a definition query to only show data within a certain easting range.

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.