Iterative Levelling

Use the Iterative Levelling menu option (geogxnet.dll(Geosoft.GX.Levelling.IterativeLevelling;Run))* to level ties to flight lines, then flight lines to ties, until the process converges.

Iterative Levelling dialog options

Channel to level:

Select an item from the list of channels. An existing channel is required.

Script Parameter: ITERATIVE_LEVELLING.INPUT_CHANNEL

Output levelled channel:

Enter the name of the output levelled channel. The channel may be an existing channel in the list, or a new channel.

Script Parameter:  ITERATIVE_LEVELLING.OUTPUT_CHANNEL

Iterations:

Enter the number of times to cycle through the levelling procedure. Each iteration first levels the tie lines to the flight lines, then the flight lines to the tie lines. Enter a value from 0 to 5. If zero is entered, no levelling is performed; instead, the current mis-tie values are determined based on the intersection table locations, and the standard deviation is displayed. Entering zero can also be used to set up the intersection table if none is defined, and also set up the intersection mask channel (see below) if none is defined, before doing any actual levelling. Normally convergence is reached in about 2 iterations.

Script Parameter:  ITERATIVE_LEVELLING.ITERATIONS (default 2).

Intersection table:

Enter the name of the tie/flight line intersection table or database. Considerable time can be saved if this has already been calculated, but if the entered table file does not exist, a new intersection Geosoft Database (*.gdb) will be computed based on the current data. At the completion of this method, the mis-tie values in the database will be updated to the final values of the levelled data. If a table file (e.g. YourName.tbl) is input, then it is converted to an intersection database (YourName_Intersection.gdb) and the database is used and updated during the iterative levelling process.

ScScript Parameter: ITERATIVE_LEVELLING.TABLE (default Intersection.gdb)

Pause between iterations

Check this box to pause between iterations. If checked, then before the levelling begins the initial standard deviation of the absolute value of the mis-ties is calculated and displayed. Then, after each iteration the new standard deviation of the (absolute values of the) mis-ties is calculated and displayed, and the user is prompted whether to proceed to the next iteration, or exit the process. This is useful if it is decided that the results have converged and further iterations would be pointless. If left unchecked, the process will proceed to completion and the preset number of iterations will be performed.

ScScript Parameter: ITERATIVE_LEVELLING.USER_INTERRUPT (0:No, 1: Yes, default 1)

../image/morebutton.jpg 

Click this button to display additional gridding parameters.

Maximum gradient (Z/fid):

Only intersections with both line and tie-line gradients less that this limit will be considered. (if the value is left at 0.0, then all are used). Normally, you should include all intersections until you have gained enough experience with the data and survey system to establish reasonable limits. This parameter works on conjunction with the intersection mask channel; in order for an intersection to be used, it must be passed by this test and have the corresponding value in the mask channel be non-dummy.

Script Parameter: XLEVEL.MAXGRADIENT (default 0 - pass all)

Output difference channel:

Upon completion of the levelling the difference between the survey lines and tie lines is written to this channel. It is also used during the levelling process to store the current mis-tie values.

Script Parameter: XLEVEL.ERROR (default: CROSS_DIFF)

Output cross-level channel:

The optional output channel in which to place the final cross level values, after the levelling is completed. These are the values of the crossing lines at the intersections with the line being viewed. The level channel is not required, but it can be useful to view the tie line levels graphically in profile when determining the acceptance of each intersection.

Script Parameter: XLEVEL.LEVEL (default: CROSS_LEVEL)

Output cross-gradient channel:

The optional output channel in which to place the gradient of the tie line at the intersection point. These are the final gradient values, after the levelling has been completed. This channel is also not required, but this information can be used to decide if a suspicious tie point is located in a high gradient along the crossing line.

Script Parameter: XLEVEL.CROSS (default: CROSS_GRAD)

Trend order:

Order of difference trend polynomial. Normally use a 0 order. If you can clearly see a trend in the cross difference channel, you may consider a first or higher order trend.

Script Parameter: STATLEV.TREND

Output trend channel:

Optional output trend channel. If specified, the modeled final trend will be placed in a channel so that it can be displayed compared to the cross-difference channel. This is a good way to verify that a reasonable trend has been defined for the levelling correction.

Script Parameter: STATLEV.OUTTR

Application Notes

The Iterative Levelling GX combines the operations of the INTERSCT, XLEVEL, STATLEV GXs in a single operation which levels the tie lines to the flight lines, and the flight lines to the ties, until the process converges to a final solution. Before the initial levelling, and after each iteration, the standard deviation of the mis-tie values at the intersections is displayed, allowing the user to track the convergence to the final solution, and also to end the process if a solution is deemed to be achieved before the full number of iterations is reached.

Detailed description of the Iterative Levelling Process

Pre-processing

1. The original data channel to be levelled is copied to the final output channel.

2. If the intersections have not been calculated, then an intersection database is created. If the intersections have already been calculated, but stored in the old-style TBL file, the table is converted to an intersection database for subsequent use.

3. The XLEVEL GX is run to load the mis-tie values into the Tie lines in the flight database.

3. The initial standard deviation of the absolute values of the mis-tie values for the Tie lines is calculated and (optionally) displayed to the user.

Iterative Processing

1. The final output channel data is copied into a temporary channel, which for each iteration, becomes the new "starting" data channel. This copying process ensures that the original data is never altered.

2. The STATLEV GX is run to level the Tie lines to the flight lines. The results are stored in the output levelled channel.

3. The intersection database is updated with the new mis-tie values.

4. The XLEVEL GX is run to load the mis-tie values into the Flight lines of the flight database.

5. The STATLEV GX is run to level the Flight lines to the tie lines. The results are stored in the ouput levelled channel.

6. The intersection database is updated with the new mis-tie values.

7. The XLEVEL GX is run to load the mis-tie values into the Tie lines of the flight database.

8. The new standard deviation of the absolute values of the mis-tie values for the Tie lines is calculated and (optionally) displayed to the user.

9. Depending on whether the maximum number of iterations has been reached, or the user has decided to continue, the procedure 1-8 is repeated.

Final Processing

1. The final mis-tie values are loaded into the Tie lines of the flight database.

Intersection Databases

The Geosoft database can be used to store the intersections information. This has several benefits:

1. The exact intersections locations can be plotted to a map using the normal mapping and symbol methods.

2. Quantities such as the mis-tie or gradient values can be easily gridded for display.

3. Intersections are sorted by Tie Line, instead of appearing as a single long list.

To create an intersections database, simply run the Levelling Intersections GX and specify a file of type (*.GDB) as the output intersection table. The XLEVEL GX recognizes both the original *.tbl file format and the new Geosoft Database file as inputs. Each Tie in the intersection table gets its own line in the Geosoft Database file, containing all the line intersections with that tie line.

To create an intersection database, simply run the INTERSCT.GX and specify a file of type (*.GDB) as the output intersection table. The XLEVEL GX now recognizes both the original *.tbl file format and the new Geosoft Database file as inputs. Each Tie in the intersection table gets its own line in the Geosoft database file, containing all the line intersections with that tie line.

The channels of the intersection database:

X

X coordinate of the intersection

Y

Y coordinate of the intersection

TIE

Tie line number

TIE_FID

Tie line fiducial

TIE_LEVEL

Tie line reading

TIE_GRAD

Tie line gradient (per fiducial)

LINE

Line number

LINE_FID

Line fiducial

LINE_LEVEL

Line reading

LINE_GRAD

Line gradient (per fiducial)

CROSS_DIFF

Miss-tie value (LINE_LEVEL - TIE_LEVEL). Note that when the XLEVEL GX is used to extract mis-tie values to the flight database using the "Level Lines" option, the resulting CROSS_DIFF values in the flight database are of the opposite sign, i.e. TIE_LEVEL - LINE_LEVEL.

MASK

The MASK channel is used to select/deselect individual intersections. Any row of data where the mask channel is set to a dummy is excluded when the XLEVEL GX is called. Its operation is completely independent from the use of the maximum gradient parameter (see above).

Excluding Individual Intersections

By using an intersection database instead of an intersection table (*.TBL) file, it is possible to exclude individual "bad" intersections from the levelling procedure. Both the INTERSCT GX (which locates the tie/flight intersections) and the XLEVEL GX (which loads mis-tie values into the flight database in anticipation of the levelling operation) can operate with either a table file or a Geosoft Database (*.GDB). To de-select an intersection, simply deselect the appropriate line in the intersection database by changing the "MASK" channel value for 1 to dummy "*", or simply delete the row of data for that intersection. In that case, the XLEVEL GX operation will skip that intersection when loading the mis-tie values into the flight database.

There are several ways to create the intersection database (*.gdb) from an existing intersection table (*.tbl). You can select a table as input and a database as output in the INTERSCT.GX, or you can simply enter a table as input in this Iterative Levelling GX, and it will be directly converted to the Geosoft database format (retaining the file name, but with the new "gdb" extension), before the levelling begins. You can run this method with zero iterations initially, then inspect and modify the database as required before running this method with one or more iterations to do the actual levelling.

*The GX tool will search in the "...\Geosoft\Desktop Applications \gx" folder. The GX.Net tools, however, are embedded in the geogxnet.dll located in the "...\Geosoft\Desktop Applications \bin" folder. If running this GX interactively, bypassing the menu, first change the folder to point to the "bin" folder, then supply the GX.Net tool in the specified format.