Measurand recommends visualizing ShapeArray data in our ShapeArray™ Viewer application (formerly known as SAAView). However, many clients visualize the data using third party software. A DIY export file can be created when raw ShapeArray data is converted into Cartesian data with SAACR_raw2data. The DIY export file can be configured to contain various data values derived from the raw ShapeArray data. Of particular interest for recreating ShapeArray™ Viewer visualizations are the following export options.

NOTE: In the instructions below, ### represents a three digit number corresponding to a specific vertex of data in the DIY data file. For example,Sensor_X_001represents the X position for the first vertex in a Cartesian plane.

### Absolute Shape (Cumulative Deviation)

The **A****bsolute Shape (Cumulative Deviation)** export option represents the absolute shape. It is the XYZ positions of vertices without any reference subtracted. Z represents the absolute ShapeArray vertex positions in the vertical dimension, not a path length. This option will export the position of each vertex in a Cartesian plane relative to the reference vertex. It will include the following columns for each vertex in the ShapeArray:

**Sensor_X_###**- The position along the X axis of the vertex relative to the reference segment.**Sensor_Y_###**- The position along the Y axis of the vertex relative to the reference segment.**Sensor_Z_###**- The position along the Z axis of the vertex relative to the reference segment. Please note that this does not represent the segment length. This is the absolute Z position of the vertex.

### Incremental Deviation

The **Incremental Deviation** export option is difference in X and Y position between two ends of each segment, without any reference subtracted. It will export the deviation of each vertex from the position of the previous vertex. It will include the following columns for each vertex in the ShapeArray:

**Sensor_dX_###**- The position along the X axis of the vertex relative to the previous vertex.**Sensor_dY_###**- The position along the Y axis of the vertex relative to the previous vertex.**Sensor_Z_###**- The position along the Z axis of the vertex relative to the reference segment. Please note that this does not represent the segment length. This is the absolute Z position of the vertex.

NOTE: TheSensor_Z_###column is the same for both theXYZ: Cumulative Deviation (absolute position)anddiff (XY), Z: Incremental Deviation (expected by VDV)export options.

### Temperature

The **Temperature** export option will export the temperature measured in each segment with a temperature segment. It will include the following column of data for each segment in the ShapeArray.

**Sensor_temp_###**- The temperature measured by the temperature sensor in the corresponding segment. It will contain NaN for segments without temperature sensors.

How graphs are created vary based on the installation orientation of the ShapeArray. Instructions for recreating graphs for both vertically installed and horizontally installed ShapeArrays are included below. To jump to instructions for a specific orientation, please use the linked options below.

- Graphing Data from Vertically installed ShapeArrays
- Graphing Data from Horizontally installed ShapeArrays

# Reproducing ShapeArray™ Viewer Graphs For Vertical ShapeArrays

The following provides a brief description of how to properly plot the DIY data exported from SAACR_raw2data to reproduce the various visualizations in ShapeArray™ Viewer for vertically installed ShapeArrays. For vertically installed ShapeArrays, Z-axis data (e.g. Sensor_Z_###) is plotted on the vertical axis, while X-axis and Y-axis data (e.g. Sensor_X_### or Sensor_Y_###) is plotted on the horizontal axis.

## Cumulative Displacement

Cumulative Displacement is also referred to as Deformation. Displacement is calculated from the difference between a vertex’s initial deviation in a baseline reading and the deviation at the time of the new reading. Cumulative displacement is the sum of all displacements of all segments from the zero position to the current elevation. In ShapeArray™ Viewer, this graph shows the distance each vertex has moved from the baseline position.

To produce the **Cumulative Displacement (X)** graph:

- Calculate the difference between each sample’s
**Sensor_X_###**and the corresponding**Sensor_X_###**values in the first sample in the data set. - Create ordered (X, Y) pairs from the values calculated in the step 1 and the corresponding
**Sensor_Z_###**value for the current sample. E.g. (X,Y) ->*(result from step 1, Sensor_Z_###)* - Plot each of the ordered pairs on the graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

To produce the **Cumulative Displacement (Y)** graph:

- Calculate the difference between each sample’s
**Sensor_Y_###**and the corresponding**Sensor_Y_###**values in the first sample in the data set. - Create ordered (X, Y) pairs from the values calculated in the step 1 and the corresponding
**Sensor_Z_###**value. E.g.*(result from step 1, Sensor_Z_###)* - Plot each of the ordered pairs on the graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

## Absolute Shape (Cumulative Deviation)

Cumulative Deviation is also known as Absolute Shape. Cumulative Deviation is the sum of all deviations of all segments from the zero position to the current elevation. This effectively provides you with a view of the ShapeArray’s shape within the borehole.

To produce the **Absolute Shape (X)** graph:

- Create ordered (X, Y) pairs from the corresponding
**Sensor_X_###**and**Sensor_Z_###**values. E.g. (X, Y) ->*(Sensor_X_###, Sensor_Z_###)* - Plot each ordered pair as a point on graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

To produce the **Absolute Shape (Y)** graph:

- Create ordered (X, Y) pairs from the corresponding
**Sensor_Y_###**and**Sensor_Z_###**values. E.g. (X, Y) ->*(Sensor_Y_###, Sensor_Z_###)* - Plot each ordered pair as a point on graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

## Incremental Deviation

Each vertex’s deviation is a plot point on the graph. This shows the distance from an absolutely vertical position to the segment’s top vertex at each elevation.

To produce the **Incremental Deviation (X)** graph:

- Create ordered (X, Y) pairs from the corresponding
**Sensor_dX_###**and**Sensor_Z_###**values. E.g. (X, Y) ->*(Sensor_dX_###, Sensor_Z_###)* - Plot each ordered pair as a point on graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

To produce the **Incremental Deviation (Y)** graph:

- Create ordered (X, Y) pairs from the corresponding
**Sensor_dY_###**and**Sensor_Z_###**values. E.g. (X, Y) ->*(Sensor_dY_###, Sensor_Z_###)* - Plot each ordered pair as a point on graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

## Magnitude

The magnitude of deformation, regardless of direction, is graphed. Since the magnitude is directionless, only a single graph will contain data.

To produce the **Deformation Magnitude** graph:

- Calculate the difference between each sample’s Sensor_X_### and the corresponding Sensor_X_### values in the first sample in the data set. (i.e. calculate the cumulative displacement for the X-axis as described in the Deformation section above)
- Calculate the difference between each sample’s
**Sensor_Y_###**and the corresponding**Sensor_Y_###**values in the first sample in the data set. (i.e. calculate the cumulative displacement for the y-axis as described in the Deformation section above) - Calculate the square of each value from step 1.
- Calculate the square of each value from step 2.
- Calculate the sum of the corresponding values from steps 3 and 4. E.g.
*(Displacement_X_003^2 + Displacement_Y_003^2)* - Calculate the square roots of the values from step 5. E.g.
*Sqrt(result from step 5)* - Create ordered (X, Y) pairs from the values calculated in step 6 and the corresponding
**Sensor_Z_###**values. E.g. (X, Y) ->*(result from step 6, Sensor_Z_003)* - Plot each ordered pair as a point on graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

## Incremental Displacement

Displacement is calculated from the difference between a vertex’s initial deviation in a baseline reading and the deviation at the time of the new reading. This graph shows the displacement of each vertex.

To produce the **Incremental Displacement (X)** graph:

- Calculate the difference between each sample’s
**Sensor_dX_###**values and the corresponding**Sensor_dX_###**value in the first sample in the data set. - Create ordered (X, Y) pairs from the values calculated in the step 1 and the corresponding
**Sensor_Z_###**value for the current sample. E.g. (X, Y) ->*(result from step 1, Sensor_Z_###)* - Plot each of the ordered pairs on the graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

To produce the **Incremental Displacement (Y)** graph:

- Calculate the difference between each sample’s
**Sensor_dY_###**values and the corresponding**Sensor_dY_###**value in the first sample in the data set. - Create an ordered (X, Y) pair from the values calculated in the step 1 and the corresponding
**Sensor_Z_###**value. E.g. (X, Y) ->*(result from step 1, Sensor_Z_###)* - Plot each of the ordered pairs on the graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

Temperature

The **Temperature** graph shows the temperature measured by the temperature sensor in each segment.

To produce the **Temperature** graph:

- Create ordered (X, Y) pairs from the
**Sensor_Temp_###**and the corresponding**Sensor_Z_###**value. E.g. (X, Y) ->*(Sensor_Temp_###, Sensor_Z_###)* - Plot each of the ordered pairs on the graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

# Reproducing ShapeArray™ Viewer Graphs For Horizontal ShapeArrays

The following provides a brief description of how to properly plot the DIY data exported from SAACR_raw2data to reproduce the various visualizations in ShapeArray™ Viewer for horizontally installed ShapeArrays. For horizontally installed ShapeArrays, X-axis data (e.g. Sensor_X_###) is plotted on the vertical axis, while Z-axis (e.g. Sensor_Z_###) data is plotted on the horizontal axis. Y-axis data (e.g. Sensor_Y_###) is never plotted and will always be zeros in the DIY output files because ShapeArrays can only make 2-D measurements when installed horizontally.

## Cumulative Displacement

Cumulative Displacement is also referred to as Deformation. Displacement is calculated from the difference between a vertex’s initial deviation in a baseline reading and the deviation at the time of the new reading. Cumulative displacement is the sum of all displacements of all segments from the zero position to the current position along the ShapeArray's length. In ShapeArray™ Viewer, this graph shows the distance each vertex has moved from the baseline position.

To produce the **Cumulative Displacement (X)** graph:

- Calculate the difference between each sample’s
**Sensor_X_###**and the corresponding**Sensor_X_###**values in the first sample in the data set. - Create ordered (X, Y) pairs from the values calculated in the step 1 and the corresponding
**Sensor_Z_###**value for the current sample. E.g. (X, Y) ->*(Sensor_Z_###,**result from step 1*) - Plot each of the ordered pairs on the graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

## Absolute Shape (Cumulative Deviation)

Cumulative Deviation is also known as Absolute Shape. Cumulative Deviation is the sum of all deviations of all segments from the zero position to the current position along the ShapeArray's length. This effectively provides you with a view of the ShapeArray’s shape.

To produce the **Absolute Shape (X)** graph:

- Create ordered (X, Y) pairs from the corresponding
**Sensor_Z_###**and**Sensor_X_###**values. E.g. (X, Y) ->*(Sensor_Z_###, Sensor_X_###)* - Plot each ordered pair as a point on graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

## Incremental Deviation

Each vertex’s deviation is a plot point on the graph. This shows the distance from an absolutely horizontal position to a segment vertex furthest from the reference end at each position along the ShapeArray's length.

To produce the **Incremental Deviation (X)** graph:

- Create ordered (X, Y) pairs from the corresponding
**Sensor_Z_###**and**Sensor_dX_###**values. E.g. (X, Y) ->*(Sensor_Z_###, Sensor_dX_###)* - Plot each ordered pair as a point on graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

## Incremental Displacement

Displacement is calculated from the difference between a vertex’s initial deviation in a baseline reading and the deviation at the time of the new reading. This graph shows the displacement of each vertex.

To produce the **Incremental Displacement (X)** graph:

- Calculate the difference between each sample’s
**Sensor_dX_###**values and the corresponding**Sensor_dX_###**value in the first sample in the data set. - Create ordered (X, Y) pairs from the values calculated in the step 1 and the corresponding
**Sensor_Z_###**value for the current sample. E.g. (X, Y) ->*(Sensor_Z_###,**result from step 1*) - Plot each of the ordered pairs on the graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.

## Temperature

The **Temperature** graph shows the temperature measured by the temperature sensor in each segment.

To produce the **Temperature** graph:

- Create ordered (X, Y) pairs from the
**Sensor_Z_###**and the corresponding**Sensor_Temp_###**value. E.g. (X, Y) ->*(Sensor_Z_###, Sensor_Temp_###)* - Plot each of the ordered pairs on the graph.
- Draw a polyline through each of the plotted points.
- Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.