Surface Descriptions¶
Use this dialog to define how surfaces are constructed, such as a road surface in a road project.
Where to Find the Dialog¶
In the toolbox, select SFI Properties..., then the Road Body tab, and the Surface Descriptions table.
Preview¶
The dialog includes a dedicated window for previewing surface descriptions, and you can change which profile to view. Surface descriptions can be displayed either against real physical layers or against fictitious physical layers.
Zooming is not available in the preview window. In cross-section editing, there is also a preview directly in the cross-section, where you can zoom and, for example, measure distances. Material types are also updated when editing the table. You can also change the profile number in the dialog, and the cross-section will update accordingly.
Note
If you add new surfaces, for example in a user-defined layer, they must be sorted for the preview to work. Use Sort from the context menu (right-click) in the surface list to resolve this.
Layers¶
Click New... to create a new surface description for a layer. You can choose between predefined or user-defined layers.
When importing a VIPS project, the program automatically creates the layer 0: Road Surface and adds the surfaces from the VIPS road surface table.
Reference Surface and Reference Height¶
The reference surface specifies which surface the vertical curvature refers to. The reference height indicates the height of the reference surface relative to the vertical curvature.
Usually, surface 1.01 is the reference surface with reference height 0. See the examples below.
Info
In this case, the height at the starting point of the surface applies, while in other functions, it is the endpoint.

Example without median. Red circle = Vertical curvature, surface numbers on left and right sides

Example with median (0-surfaces). Red circle = Vertical curvature, surface numbers on left and right sides
Trimming Against Layers¶
Layer numbers indicate the construction order of the layers. You can trim a layer against other layers that are built before it, i.e., against layers with lower layer numbers. You can also choose different layers on the left and right sides.
Cut and fill surfaces are normally defined to trim against the strata (- in the width field in the surface table). With Trim, you can override this and make the surfaces cut against the trim layer, even if the trim layer is above the stratum, for example.
Starting Point for Construction¶
For layers other than the surface, you can also start construction at points other than the center point.
Options are:
- Center point
- Surface in layer
- Extra line
For all options, you can also set an offset.
If you select Surface in layer, the layer must be built first. The construction order is tunnel, surface, superstructure, trench, deep blasting, and extra layer (user-defined). Note that for the Surface in layer option, the starting point is where the surface ends.
Extra lines can be added to the SFI model using the Extra Lines... command.
Edit Reference Height...¶
You can allow the reference height to vary along the centerline. This option is used, for example, in ditches.
Edit Surface Boundary...¶
This option is active for the manual calculation method. With surface boundary, you can override the values given in the table for a surface.
See the corresponding dialog help for a detailed description.
Edit 3D Lines...¶
This option is active when you have selected the combined calculation method (Manual/3D Lines).
See the corresponding dialog help for a detailed description.
Description of Surfaces¶
The program uses the same numbering of surfaces as VIPS.

The figure shows an example of a road profile in soil and rock.
See the dedicated section for a more detailed description of VIPS Surfaces.
There are two list windows describing the surfaces in the layer. The left window contains the surfaces with descriptions, while the right contains the surface shapes. Each surface will typically have a varying description along the centerline.
To activate a field in the table for editing, press [F2] or click with the left mouse button. In edit mode, you can move between columns with [Tab] and [Shift]+[Tab]. Similarly, you can switch rows with [Up Arrow] and [Down Arrow]. Note that the arrow keys can also be used to move between fields when not in edit mode.
When the surface is entered with text, its shape is described with Width and Slope from profile to profile.
Note
The Get Surfaces from 3D Lines button becomes active when working with the combined method. You can then create all surfaces with a single keystroke. A prerequisite is that you have assigned surface codes to the 3D lines.

Surfaces obtained from 3D lines (lines represented by red dots)
If you use surface boundary for a surface, it will be checked for this. You define the surface boundary with the Edit Surface Boundary... option. The extra line used for the surface boundary will then override the table values in the right column.

Here, surface boundary is checked for Shoulder
When working with the combined method, you can also, for surface groups 1-3, decide whether to use 3D line or table values for width and slope. You set this by clicking in the column.

Here, using 3D line is checked
You can also calculate table values from the 3D lines. Select the surface and find the option on the right mouse button.
There is also a special character for width and slope. If the surfaces for cut and fill (5.01, 6.01, and 7.01) should extend until they meet the corresponding layer, you must enter a - (hyphen) in the width field.

A hyphen in the Width field indicates that surface 5.01 should extend until it meets the corresponding layer
If you want the surface to inherit the slope from the inner surface, you can enter - in the slope field. The slope of the inner surface will then be written in parentheses, for example, -(0.03).
Changes in width and slope are interpolated for intermediate profiles. Note that the program will retrieve values from the surface boundary table or minimum ditch depth if these exist for the surface.
Interpolation
| Profile | Width | Slope |
|---|---|---|
| 100 | 1 | 0 |
| 200 | 2 | 0 |
In this case, profile 150 will get the value 1.5.
Avoid Interpolation
You can avoid interpolated values in an interval with the following solution:
| Profile | Width | Slope |
|---|---|---|
| 100 | 1 | 0 |
| 199.99 | 1 | 0 |
| 200 | 2 | 0 |
Avoid Values in Interval
You can avoid getting values for this surface in an interval with the following solution:
| Profile | Width | Slope |
|---|---|---|
| 100 | 1 | 1 |
| 100.01 | - | - |
| 200 | 2 | 0 |
When a value in the slope column is in parentheses, for example, -(-0.27), it means the value is inherited from another surface. You can find which surface by looking backward. The value is inherited from the first surface that has a value for this profile.
What Does "Override" Mean in the Type Column?¶
The import routine in Gemini Terrain compares the calculated VIPS road surface with the VIPS road surface table. In some cases, these do not match in the VIPS project. This may mean that another criterion has overridden the road surface table. The road surface table, together with the extra criterion, has produced the final calculated road surface in the VIPS project.
Since Gemini Terrain does not handle this criterion, these situations must be resolved differently. The program solves this by adding new values to the road surface table for the relevant profiles. You can then build the Gemini road surface to match the VIPS road surface in these profiles. The new values are marked with Override in the Type column.
Attention
Pay attention to the Type column if you create intermediate profiles and build surfaces where you do not have VIPS profiles. Override may then produce unwanted results.
When the program searches for values for a surface in a profile, it does so as follows:
- Tries to find an "Override value" with an exact match on the profile number.
- If there is no VIPS theoretical road surface layer in the profile, the program tries to interpolate values based on the Override values of the neighbors (the profile is between two Override values).
- If a VIPS theoretical road surface layer exists, or interpolation based on the Override values above was not possible, the following is done:
- If a surface boundary is given, the program tries to retrieve values based on this (surface boundary is only used for the road surface layer).
- If no surface boundary is given, the program tries to interpolate values based on the original values (without override).
- If this is also not possible, there is no value for this surface in this profile.
No VIPS Theoretical Road Surface Layer in Profile 125
| Profile | Width | Slope | Type |
|---|---|---|---|
| 100 | 2.5 | 0 | |
| 120 | 1 | Override | |
| 130 | 2 | Override | |
| 200 | 2.5 | 0 |
In this case, profile 125 will get the value 1.5, and profile 135 will get the value 2.5.
VIPS Theoretical Road Surface Layer in Profile 125
| Profile | Width | Slope | Type |
|---|---|---|---|
| 100 | 2.5 | 0 | |
| 120 | 1 | Override | |
| 130 | 2 | Override | |
| 200 | 2.5 | 0 |
In this case, profile 125 will get the value 2.5, and profile 135 will get the value 2.5.