English

Problem: Grid disappears from a 3D scene when setting base height to Surface

Description

If you set 'Assign base heights by' to Surface on the 3D Theme Properties dialog box, the grid data disappears from the display.

Cause

The elevation, or Z values are stored in different units than the X and Y values. For example, if a grid's map units are decimal degrees and the elevation units are meters, the grid will be invisible.

Solution or Workaround

Apply a Z factor to convert the elevation value into the same units as the map units. The Z factor is the number of ground units in one Z unit.

  1. Create a new script window.

    A. Activate the Project window.
    B. Click the Scripts icon.
    C. Click New.

  2. Copu the following code into the new window.

    Code:
    v = av.getactivedoc
    g = v.getactivethemes.get(0)
    ext = g.returnextent
    theLatitude = ext.getbottom
    zFactor = ( 1 / (6370997*(theLatitude.Cos))*(Number.GetPi/180)) * 3600
    msgbox.info(zfactor.asstring,"")


    Note:
    This will calculate approximately .00001 for decimal degree grids. For 250K decimal second grids, you could modify the above, or use 0.1 or 0.2 as an initial z factor setting.

  3. Attach the script to a button on the View GUI.

    A. Compile the script.
    B. Switch to the Project window.
    C. Select Customize from the Project menu.
    D. On the Customize dialog box, click the Type dropdown arrow and click View.
    E. Select Buttons under Category.
    F. Click the New button.
    G. Double-click the Click property in the Customize dialog box.
    H. Type the name of the script in the Script Manager and click Select.
    I. Close the Customize dialog box.

    For more information, see "Customize dialog box" in ArcView Help.

  4. Open the view and make the grid theme active.
  5. Click the new button. Write down the number returned.
  6. Select 3D Properties from the Theme menu.
  7. Type the number from Step 5 into the Z Factor field and click OK.

Related Information