Design rule purpose

The purpose of this design rule is to identify crossings with existing linear features (roads, railways, power lines, water courses etc.) and minimize the cost and risk of such crossings. Crossings are disaggregated by type of feature crossed. There are various parameters that can be enforced on a crossing, by type - the method used, associated cost, minimum required crossing angle etc. Optioneer can use this information when generating options to suggest the best quality options to the user.

How to configure

Optioneer comes up with millions of possible option alignments when generating options; each of these options will likely interact with a lot of various existing linear features, especially when dealing with onshore cases close to urban areas.

The first operation that Optioneer performs is identification of crossings. Locations of crossings along the centerline are recorded as part of option parameters.

Not all crossings are equally important - crossing a little stream is a very different challenge to crossing a busy, multi-lane highway. Optioneer takes in the information provided in system config and the dataset to identify all crossing positions, numbers and parameters, disaggregated by crossing type.

Once correct crossings and their parameters are identified, Optioneer can evaluate if existing linear features are crossed correctly (i.e. within the required parameters on geometry of crossing) and what the associated costs and risks of crossings for a given option are.

Each crossing type has a lot of configurable parameters. Parameters of the crossings are summarised in diagrams below. More detail on configurable parameters are given in a further section in this document - see here.

Birds-eye view:

Showing the plane of linear feature cut by the crossing:

Important notes

  1. Calculation of the crossing angle is approximate and can sometimes be off by up to 5 degrees. This is due to a fast-crossing-detection method that Optioneer uses which is based on a down sampled map.

  2. Optioneer might struggle to find feasible solutions if a lot of complex linear features are packed in a small area; this is due to sampling resolution and the fact that Optioneer can't handle very fine adjustments of the route. If a complex crossing is part of the route, the best practice is to come up with a few scenarios that will guide Optioneer through the tricky area.

  3. Start and end points of the route shouldn't be placed in linear feature crossings.

Input / output summary

Input parameters

This design rule requires a specific dataset called 'linear_features'.

Please note: values below can be configured by-type of linear feature (as provided in the 'linear_features' dataset. If a given type of linear feature doesn't have a specific parameter set, the default values will be used (which are also configurable).


Default value


Min. crossing angle



Crossing cost (per individual crossing)


points (can be currency if the rest of the project is using currency as a measure)

Average level of linear feature


[enter negative for below ground]

Average width of linear feature



Crossing clearance required



Permitted crossing angle constraint violation (see note below)



'Permitted crossing angle constraint violation' parameter allows Optioneer engine to consider options that violate some crossing angle requirements and proceed with optimising these options and presenting results to the user. Thanks to this, Optioneer doesn't spend most of its runtime trying to find a very clever solution for a tricky situation, but comes up with an acceptable solution and develops the option further as a whole. The user can later use in-app tools to resolve issues manually.

Output parameters


Example value


Total number of crossings



Total cost of crossings



Number of crossings [by type]


crossings of [linear feature type]

Locations of crossings

N/A, see below for view in Optioneer and via Excel exports

location-at-index, by type


plot on Vertical Profile Chart and Map

Example offshore project in Optioneer - see Map Chart, Vertical Profile Chart and option metrics on the right-hand side.

Information shown in the screenshot above can be also exported for use outside of Optioneer:

Did this answer your question?