Temporal data in separate tables
A lot of times, temporal data is stored in different tables for better data management and to avoid data redundancy. This is particularly useful for data, which doesn't change geographically over time. For instance, the streamflow data collected over time can be stored in different tables, one containing the geographic location of the stream gages and the other containing the discharge values for the gages over time.
To visualize such data, you can create a one-to-one, many-to-one, or one-to-many join using the techniques described below.
One-to-one or many-to-one table relationships
For a given feature class layer or table, you might want to visualize temporal information stored in a separate table. To visualize this information, the table must be joined to the feature class layer or to the base table. For a one-to-one or a many-to-one relationship between the feature class layer's attribute table or the base table and the table containing the information you want to join, you can run the Add Join geoprocessing tool to join the information to the feature class layer or base table for use in the time visualization.
One-to-many table relationships
With a one-to-many relationship, such as in the example below, you can use the Make Query Table geoprocessing tool to join the tables together in memory. The tool creates a layer or table with multiple representations of the same features or rows through time. Accessing the information in the output in-memory table or layer can be more efficient, since the information does not have to be read from disk.
In the Make Query Table tool, click the Input Tables drop-down arrow and click the layers or tables you want to join.
In the above example, the Stations feature class and the Temperature table would be added. The tables to be joined must be contained within the same geodatabase.
Choose the fields you want to appear in the output table. If you want the result to be a layer, you must select the SHAPE field as one of the fields.
In the above example, you might choose one of the following:
- In the Expression box, enter a join statement using a shared attribute that will be used to append the second table (Temperature table in the example) to the first table (Stations feature class in the example), such as Stations.StationID = Temperature.StationID.
Click the Key Field Options drop-down arrow and click USE_KEY_FIELDS.
The key fields list will be used to define the dynamic objectID column.
- Choose the ID column to use (Temperature.OBJECTID in this example) as the unique ID of the table. This must be a field with unique values for each row.
Click OK to run the tool.
A layer (or table if no SHAPE field is selected) is created containing the joined fields.
- Open the attribute table to examine the fields. Each feature or row is repeated for each time slice (in the example, five times).
Enable time on the layer or table with newly joined fields and set the time field that was joined as the Start Time Field. In this example, you would choose the Temperature.Date_1 field.
Creating indexes can help speed up queries against your data and increase the performance of your animation.