Ask A Cartographer

Dynamic 3D Symbology?

September 20 2010 | 0 comments
Categories: 3D Mapping, Symbology

I'm making a map that displays the weight problem in PA and I'd like to make a little 3D Man who will inflate based upon a value, in this case Percentage of people overweight. Anyone have any clue how I would do this?

Mapping Center Answer:

There are a few ways to represent your 3D Man symbol, depending on whether you'd like the end product to be a 2D map (ArcMap) or a 3D map (ArcScene or ArcGlobe).

Starting with your 3D Man symbol, you can either make one from scratch (e.g., using SketchUp) or import an existing 3D model (for example, a SketchUp or Collada file) to use as your 3D symbol.

A quick search of the SketchUp 3D Warehouse turned up a number of qualified 3D people, including a rotund fast food clown I've used in the images below (by Max Grueter). Assuming you already have point data that includes an attribute for % overweight, you can import your 3D Man into ArcMap using the Symbol Property Editor. Set your symbol Type to 3D Marker Symbol and click Import to select your 3D model file (SketchUp v6 or Collada file formats are most common).

To size the 3D symbol in ArcMap, use the Advanced drop-down menu on the Symbology tab of the Layer Properties, and specify your % overweight field. Depending on your reference scale, you may need to add a factor in to increase or decrease the size of the symbol using the expression builder (the calculator symbol), such as "[Overweight_pct]*10". Here is an example using Pennsylvania county centroids and fabricated obesity data:

2D clown

For a 3D map in ArcGlobe, the above approach still applies. One additional step you have to take is to check the Scale 3D symbols with distance option in the Globe Display tab of the Layer Properties menu. You may also need to use a much larger scaling factor (perhaps even in the thousands) before the symbols are visible:

3D clown

If you want all your symbols to be the same height but different "weights", you can specify the X,Y dimensions of your 3D symbol independent of the Z dimension in the Symbol Property Editor by un-checking the Keep aspect ratio option. However, if you use this approach you will need to create a set of symbol classes and adjust the X,Y dimensions incrementally for each class. I've used 5 classes in the example image below:

3D clown with x,y

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

Contact Us | Legal | Privacy |