Geologic Cross Section

August 28 2007 | 0 comments
Categories: 3D Mapping, Data Modeling

Is there a way to create a geologic cross section with the profile tool which matches the scale of the layout view? Thank you.

I think this is possible (that is to say it’s not impossible), though it certainly depends on your data. If you’ve got 3D for the surfaces of your various strata, I think you can use the 3D analyst and a few other tools with the new graphing functionality in 9.2 to get this done.

I’ll preface my experience is only in working with trails and generating profile graphs for trails.

The way I would do this is to create a new line feature class and use that for section lines. You’ll need to produce polylineZ data using the Interpolate Shape tool in the 3D Analyst. One section line will be the input relative to each strata (though if you have multiple profile graphs to create. Thinking about this, it would make more sense if the strata were stored as raster surfaces—that will result in equal lengths between vertexes of the polylineZ section lines that are produced from the Interpolate Shape tool.

Once you a complete set of section lines with Z values, the trick to graphing them is that you need to graph the Z values of their vertexes. Convert the section lines to Points with the Feature Vertices to Points tool (this will maintain the Zs).

However, to graph the Z values, you’ll need them in an attribute. Unfortunately, when we added the Calculate Geometry tool in 9.2, it did not include an option to do the Z value. So you’ll need to use the regular field calculator with the advanced option checked. Z values are inherently of type double, so you would need a new Double field in your attribute tables for the section lines.

Dim k as IPoint
Set k = [Shape]
n = k.z

Set the FieldName = to n.

(Note that even though the Shape field is no longer listed in the regular field calculator, the advanced expressions still work, though the same is not true when the advanced option is not checked.)

Now you can make graphs with the section lines. Each section line dataset would be a separate series in the graph. You could do line or area graphs depending on your preference. About the only easy thing here is that the Feature Vertices to Point tool writes the vertexes in order; though if you have trouble with that the graph tool allows you to sort the values as well.

The key bit with the graph is to stretch it so it is exactly as wide as your section line in the layout is long. What I do is draw a line graphic element on my layout along where my section feature is located. Then I check it’s length using the Size and position tab in the element properties dialog. Then I create a new graphic line that is horizontal; at the bottom of ArcMap’s window you will see feedback as you draw lines that tells you how long it is; use that to guide where you locate the second point.

With your graph window open, resize the window so it is as exactly as wide as you can eye-ball it with your graphic line in the background. Right click on the graph and choose Copy as Graphic. Then right-click in the layout and choose paste. You can bring your line to the front (graphic toolbar) and micro-adjust the size of the pasted graphic. The reason for two stages is that the pasted graphic only scales uniformly, so you have to have it close.

So, that’s a rather large nutshell, but that has worked for me. I tried using the Profile Graph tool in the 3D analyst and found that I could not scale the result in a useful or consistently comparable fashion.

Hope that helps,