Show / Hide Table of Contents

C# Profile

Defining a C# based profile works pretty much the same as the Lua Profiles alternative but it has the disadvantage of not being embeddable in the RouterDb.

Factor and Speed

Define a vehicle can be done by implementing the Vehicle class and overriding the one method FactorAndSpeed:

/// <summary>
/// Calculates a factor and speed and adds keys to the given whitelist that are relevant.
/// </summary>
/// <returns>A non-zero factor and speed when the edge with the given attributes is usefull for this vehicle.</returns>
FactorAndSpeed FactorAndSpeed(IAttributeCollection attributes, Whitelist whitelist);

The FactorAndSpeed struct defines:

  • Speed: The speed in m/s over the edge with the given attributes.
  • Factor: The factor, in the default case 1/Speed.
  • Direction:
    • 0: Bidirectional.
    • 1: Oneway in the direction of the edge.
    • 2: Oneway agains the direction of the edge.

When Factor > 0 the edge is considered routable.

Back to top Built by Itinero, MIT licensed.