Ask A Cartographer

topographic profile without vertical exaggeration

May 07 2009 | 0 comments
Categories: 3D Mapping

The profile tool in 3D Analyst does not appear to be able to create a profile without vertical exaggeration. It seems the technique outlined here gets towards what I would like to do, but I cannot understand how to use the VB script to pull Z values into the attribute table. I keep getting a syntax error and the script will not run. Using X tools pro I'm able to pull the Z values into the attribute table. I still have an issue with vertical exaggeration. X & Y axis are not using the same scale and I cannot seem to find anywhere in the chart properties to fix this.



Mapping Center Answer:

So, first, I am a little confused.  The Profile Graph tool on the 3D Analyst toolbar produces a graph based on a selected Polyline Z feature.  So, the way you would set up a profile is to create a 2D line feature class, draw (editing) the lines across your surface and store that feature class.  Then use the Interpolate Shape tool to convert those section lines to polyline Zs.  This is where you would set a vertical exaggeration.

The result is a graph in a window.  This graph has no particular scalar relation to your data.  It's up to you to change the shape of the window so it fits the circumstances you want to convey. 

You don't need VBScript to do what you want (get the Z values in a table); do this instead:

1.  Once you've got the polyline Z shapes, use the Feature Vertices to Point tool to create a point dataset.  This will give you a Point Z feature class.

2.  Add a double field to the result called ZValue (or whatever you want to call it).

3.  Calculate the field using and advanced field calculate statement:

Dim pPoint As IPoint
Set pPoint = [Shape]
dblZ = pPoint.Z

set the value to = dblZ

I just tested that in 9.3 and it worked.


If you would like to post a comment, please login.

Contact Us | Legal | Privacy |