Debug (line 260 of RequestHandler.php): Testing '$Action//$ID/$OtherID' with '' on DenshamTechnology\SilverStripe\IGI\Website\PageTypes\ArticlePageController

Debug (line 267 of RequestHandler.php): Rule '$Action//$ID/$OtherID' matched to action 'handleAction' on DenshamTechnology\SilverStripe\IGI\Website\PageTypes\ArticlePageController. Latest request params: array ( 'Action' => NULL, 'ID' => NULL, 'OtherID' => NULL, )

Debug (line 184 of RequestHandler.php): Action not set; using default action method name 'index'

Metis Staging Upload - IGI

Metis Staging Upload

Overview

Well information and sample data that have been project merged in Transform, and thus given identity in the Metis system, can be uploaded to the central Staging database. The upload step uses a wizard that helps to ensure data is not duplicated on the Staging database and that newly added analyses are merged with the correct existing samples and analyses. 


Usage:  Metis Tools --> Merge and Upload to Staging...


How to use in practice

In the project merge we bring together one or more candidate rows to create project wells and project samples. Project wells are shown as well artefacts, and project samples are just samples (rows) in the spreadsheet. You can tell whether a sample is a candidate sample by inspecting the Sam status.Metis property - an empty value implies a candidate sample, but if the string "Metis sample" is shown you are looking at a project sample.

Only project wells and project samples will be considered for uploading to the Staging database.

The Staging merge and upload proceeds somewhat differently to the project merge. In this case the aim is to find 'similar' wells and samples on the Staging database, when comparing each project well and sample in the Transform project. The process works on wells, and then on samples, similarly to the project merge.

Well merge and upload

When looking to upload and merge data from Transform to the Staging database we first find potential matches between the wells in the project and those on Staging based on:

  • Well name.Well (a cleaned version, with only alpha-numeric characters and converted to lower case)

or

  • Lat.Well, Long.Well (something close - within 0.001 decimal degrees in both)

These criteria are then used to select the Staging wells with which the project well might merge.

Once the potential matches have been retrieved the matches are given a score based on the weighted sum of:

  • Well name.Well (50%, based on the edit distance divided by the string length - that is the number of characters that need to be changed to map the staging name to the project name divided by the length of the longest string)
  • Lat.Well, Long.Well (50%, based on the one divided by the square of the great arc distance from the staging well to project well, with a value of 1 if the distance is zero, falling to zero at greater than 150m distance)

Thus the merge will select a subset of plausible wells and then rank them by their similarity, shown in the % (score) column.

The user will be presented with options depending on outcome of the matching and ranking. Users will always be informed of the implication of all actions, especially any merge conflicts when attempting to merge samples / wells with differences in other properties than the ranking criteria. 

Sample merge and upload

Well samples

When finding potential matches between samples associated with wells in the project and those on Staging we first ensure the samples are in the same well and then compare:

  • Name.Sample (a cleaned version, with only alpha-numeric characters and converted to lower case)

or

  • Base MD.Sample (something close - within 0.1 meter)

or

  • Top MD.Sample (something close - within 0.1 meter)

These criteria are then used to select the Staging samples with which the project sample might merge.

Once the potential matches have been retrieved the matches are given a score based on the weighted sum of:

  • Name.Sample  (25%, based on the edit distance divided by the string length - that is the number of characters that need to be changed to map the staging name to the project name divided by the length of the longest string)
  • Base MD.Sample (30%, based on the one divided by the square of the distance from the staging sample depth to project sample depth, with a value of 1 if the distance is zero, falling to zero at greater than 0.1 m distance - this is low because the most likely cause is arithmetic error / rounding error from feet -> meters conversion)
  • Top MD.Sample (30%, based on the one divided by the square of the distance from the staging sample depth to project sample depth, with a value of 1 if the distance is zero, falling to zero at greater than 0.1 m distance - this is low because the most likely cause is arithmetic error / rounding error from feet -> meters conversion)
  • Type.Sample (8%, based on the edit distance divided by the string length - that is the number of characters that need to be changed to map the staging name to the project name divided by the length of the longest string)
  • Lith.Geol (7%, based on the edit distance divided by the string length - that is the number of characters that need to be changed to map the staging name to the project name divided by the length of the longest string)

Thus the Staging merge will select a subset of plausible samples and then rank them by their similarity, shown in the % (score) column.

The user will presented with options depending on outcome of the matching and ranking. Users will always be informed of the implication of all actions, especially any merge conflicts when attempting to merge samples / wells with differences in other properties than the ranking criteria. 

Non-well samples

The merging of non-well samples proceeds similarly, but the criteria are slightly different. The potential matches are based on:

  • Name.Sample (a cleaned version, with only alpha-numeric characters and converted to lower case)

or

  • Lat.Sample, Long.Sample (something close - within 0.001 decimal degrees in both)

and the scoring is based on:

  • Name.Sample  (45%, based on the edit distance divided by the string length - that is the number of characters that need to be changed to map the staging name to the project name divided by the length of the longest string)
  • Lat.Sample, Long.Sample(45%, based on the one divided by the square of the great arc distance from the staging well to project well, with a value of 1 if the distance is zero, falling to zero at greater than 150m distance)
  • Type.Sample (10%, based on the edit distance divided by the string length - that is the number of characters that need to be changed to map the staging name to the project name divided by the length of the longest string