I am creating a 3D subsoil model for display in ArcScene - I can get it displayed nicely as points but in order for the model to be easier to read I need it to be displayed as a raster.

Every point in my shapefile has an assigned lithology in the form of a number, a z-value, and x and y values. My plan was to build a raster from this shapefile to display in ArcMap, using the lithology field as the main display.

I however can't seem to work out how to convert it to a raster without losing all of the data! I have tried every combination of raster options I can think of! And I only ever come up with a raster with a value of either 0 or 3, or just some random numbers!!

There must be a way because I've seen it before - and I assume it is fairly simple! I just want to keep the z-values and the lithology values!

In the end, I hope to have a 3D subsoil model displayed in ArcScene - with different colours of the lithology at the different depths!!

  • What tool did you use to create the raster?
    – artwork21
    Apr 11, 2011 at 13:18
  • all of them! All of the statistics tools, and all of the tools which come with 3D analyst! I have tried all combinations i can think of! I think arcmap is freaking out because all of my points are on top of each other (im making a subsoil model) and it is getting confused that way.. but i cant think of a way round this!
    – Alice
    Apr 11, 2011 at 13:33

3 Answers 3


With your 3D point layer, add an additional numeric coded field that represents each subsoil type (e.g. subsoil A = 1, subsoil B = 2, subsoil C = 3...etc). Then use one of the 3D Analyst>Interpolate to Raster tools to interpolate that coded subsoil field. Next, run the same interpolation tool on your Z value field (I'm guessing this field has negative numbers, subsoil?). Use the Reclassify tool to reclassify the coded subsoil layer. For example, subsoil A you could reclassify all pixels to 1 that are between 1-1.5, subsoil B reclassify all pixels to 2 that are between 1.51-2...etc. In ArcScene go to the Properties>Base Heights tab of the Z surface raster layer and set the "Obtain heights for layer from surface" to the Z surface raster. Do the same base height set for the coded subsoil raster layer. You can then turn off the Z surface layer, and add vertical exaggeration if needed by going to the data frame>properties. This should display your soil lithology as a raster and in a negative 3D exaggeration.


I wrote a previous answer, suggesting a way of doing this, which I updated with a great suggestion from @whuber:

You need to convert your polygons into rasters (make sure that you set the raster extents to be sufficiently large that they include all of the polygons). When converting poygons to rasters, you can choose what the raster value is. One easy way to keep track of the various intersections could be to set the raster value to 1, 2, 4 (which is 2^0, 2^1, 2^2; Whuber pointed out in a comment that using powers of 2 is necessary, as my previous example of using 1,2,3 could have had an ambiguous solution). Then when you add raster 1 and 4 together (using spatial data) the intersection will have a value of 5 which is only due to combining raster 1 and raster 4.

I described it for polygons, but the same approach could be used for points.


If you're interested in the volume, not just the surface of the subsoil, you could use this:


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.