Event Value Layer Keyframe Import


Accepting a feature layer or standalone table with attributes defining the position of and attribute of an event (such as the location and magnitude of an earthquake), as well as a layer which to animate, an ArcScene animation which controls the size and location of a layer representing these events will be built.

Additional parameters control the filtering of events via their selection or time range, a height offset and\or z conversion, and which Layer Keyframe property to control (X, Y, or Z scaling).

After the events are imported as layer keyframes, a designated layer is cloned and added into a group layer for each feature group (such as an earthquake). Therefore, each event is bound to a layer animation track which defines how the feature in this animated layer will be positioned and sized over the course of the animation, or event time range.

How to use:

    Steps for adding a command/tool from a DLL:

  1. Register the DLL: sxEventValueKeyframeImport.dll. You can register a DLL on Windows by typing in the Start Menu\Run dialog box 'regsvr32' and the path to the dll file.
  2. In the Customize dialog, click on 'Add from file', and browse to select 'sxEventValueKeyframeImport.dll'.
  3. Under the Commands tab, find the '3D Analyst Developer Samples (Animation)' and drag the 'Point Tracking Animation Import' command onto a toolbar or menu. Dismiss the Customize dialog.

    Using the Tool:

  1. Start ArcScene and load the layers of interest. Run the 'Point Tracking Animation Import' command.
  2. Choose the 'Tracking Point Layer' from which to import the layer keyframes. Select the field names which specify:

    * the field with the date\time stamp in the (mm/dd/yy hh:mm:ss) format

    * Position of the event- specify to use either the feature geometry itself, or (as in the case of a standalone table) the fields where the location is defined

    * Height- specify to use either the geometry or an attribute for the Z value of the event; Z offset and conversion can also be specified

    * Time Range- the full range of records, or those records within a specific time range can be imported

    * Layer to animate- select a layer which will be cloned and bound to each animation track created (ie. a CAD drawing of a plane)

    * The Value scale - the attribute which the animation is based will be mulitplied by this value

    * The layer keyframe property in which to animate - a 3D feature or graphic such as an extruded point can be scaled in the Z plane. A polygon feature or graphic can be scaled in the X and Y plane.

    Note: since the sorting of a string field such as the specified date\time stamp field will put the date "12/31/02 22:00:00" before "12/31/02 3:00:00", it is suggested to limit the import records by applying and using a selection of the input source which can be successfully sorted by date. Additional, be aware of the time range of the imported records, since the speed in which the animation appears is proportional to the time range of the input data. Features representing events over several days, for example, may take an exceptional amount of time to animate in ArcScene. Again, a selection to the input data may be useful.


Requires: An ArcScene session with a properly formatted point layer with a temporal attribute, and a layer which to bind to the animation tracks and animate.

Difficulty: Intermediate

Visual Basic
File Description
basTrackingImport.bas A module containing the 'ImportEventValuePointsToLayerKeyframes' function and other supporting routines.
basTrackingEventImportTool.bas A module to format the parameters for, and run, the 'ImportEventValuePointsToLayerKeyframes' command.
frmPTTrackingImport.frm The main dialog for the command.
PTTrackingImportCMD.cls ICommand implementation for the command.
3D Analyst Developer Sample utilties This project also references shared code located in Visual Basic code modules. To compile this project, these files are necessary in the location: '<ARCGIS INSTALL PATH > \ArcObjects Developer Kit\Samples\3D Analyst\Utilities\ '.

Key CoClasses: AnimationTrack
Key Interfaces: IAnimationTrack, IKeyframe, IAnimationTracks
Key Members: IAnimationTrack::InsertKeyframe