Measurand recommends visualizing ShapeArray data in our SAAView application. 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 SAAView 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_001 represents the X position for the first vertex in a Cartesian plane.


XYZ: Cumulative Deviation (absolute position)

The XYZ: Cumulative Deviation (absolute position) 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.


diff (XY), Z: Incremental Deviation (expected by VDV)

The diff (XY), Z: Incremental Deviation (expected by VDV) 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: The Sensor_Z_### column is the same for both the XYZ: Cumulative Deviation (absolute position) and diff (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.



Reproducing SAAView Graphs


The following provides a brief description of how to properly plot the DIY data exported from SAACR_raw2data to reproduce the various visualizations in SAAView.



Deformation (CumDisplacement) dx, dy

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 SAAView, this graph shows the distance each vertex has moved from the baseline position.


To produce the XcumulativeDisplacement graph:

  1. Calculate the difference between each sample’s Sensor_X_### and the corresponding Sensor_X_### values in the first sample in the data set.
  2. 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. (result from step 1, Sensor_Z_###)
  3. Plot each of the ordered pairs on the graph.
  4. Draw a polyline through each of the plotted points.
  5. Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.


To produce the YcumulativeDisplacement graph:

  1. Calculate the difference between each sample’s Sensor_Y_### and the corresponding Sensor_Y_### values in the first sample in the data set.
  2. 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_###)
  3. Plot each of the ordered pairs on the graph.
  4. Draw a polyline through each of the plotted points.
  5. Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.



Absolute Shape (CumDeviation) x, y

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 XAbsolute graph:

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


To produce the YAbsolute graph:

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



Incremental Deviation diffx, diffy

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 XIncremental Deviation graph:

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


To produce the YIncremental Deviation graph:

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



Magnitude sqrt(dx^2+dy^2)

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


To produce the XdefMagnitude graph:

  1. Calculate the square of each Sensor_X_### value.
  2. Calculate the square of each Sensor_Y_### value.
  3. Calculate the sum of the corresponding values from steps 1 and 2. E.g. (Sensor_X_003^2 + Sensor_Y_003^2)
  4. Calculate the square roots of the values from step 3. E.g. Sqrt(result from step 3)
  5. Create ordered (X, Y) pairs from the values calculated in step 4 and the corresponding Sensor_Z_### values. E.g. (result from step 4, Sensor_Z_003)
  6. Plot each ordered pair as a point on graph.
  7. Draw a polyline through each of the plotted points.
  8. Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.



Incremental Displacement d(diffx), d(diffy)

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 XIncrementalDisplacement graph:

  1. Calculate the difference between each sample’s Sensor_dX_### values and the corresponding Sensor_dX_### value in the first sample in the data set.
  2. 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. (result from step 1, Sensor_Z_###)
  3. Plot each of the ordered pairs on the graph.
  4. Draw a polyline through each of the plotted points.
  5. Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.


To produce the YIncrementalDisplacement graph:

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



Shear (IncDisplacement / Length, %)

Shows Displacement over Segment Length by Percentage.


To produce the XShear graph:

  1. Calculate the difference between each sample’s Sensor_dX_### values and the corresponding Sensor_dX_### values from the initial reading.
  2. In each sample, subtract the previous segment’s Sensor_Z_### value from each Sensor_Z_### value and multiply the result by 1,000. E.g. [(Sensor_Z_003 - Sensor_Z_002) x 1000]. Repeat this step for all Sensor_Z_### values in the sample.
  3. Divide the result of step 1 by the result of step 2 and multiply by 100. E.g. [(result of step 1 / result of step 2) x 100]
  4. Create ordered (X, Y) pairs from the values calculated in step 3 and the corresponding Sensor_Z_### values in the sample. E.g. (result from step 3, Sensor_Z_###)
  5. Plot each of the ordered pairs on the graph.
  6. Draw a polyline through each of the plotted points.
  7. Repeat this process for each sample taken from the ShapeArray. Plot each line in a different colour.


To produce the YShear graph:

  1. Calculate the difference between each sample’s Sensor_dY_### values and the corresponding Sensor_dY_### values from the initial reading.
  2. In each sample, subtract the previous segment’s Sensor_Z_### value from each Sensor_Z_### value and multiply the result by 1,000. E.g. [(Sensor_Z_003 - Sensor_Z_002) x 1000]. Repeat this step for all Sensor_Z_### values in the sample.
  3. Divide the result of step 1 by the result of step 2 and multiply by 100. E.g. [(result of step 1 / result of step 2) x 100]
  4. Create ordered (X, Y) pairs from the values calculated in step 3 and the corresponding Sensor_Z_### values in the sample. E.g. (result from step 3, Sensor_Z_###)
  5. Plot each of the ordered pairs on the graph.
  6. Draw a polyline through each of the plotted points.
  7. 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. The same data is graphed and presented in both XTemperature and YTemperature.


To produce the XTemperature and YTemperature graphs:

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