Class RouterDbExtensions
Contains extension methods for the router db.
Inheritance
Inherited Members
Namespace: System.Dynamic.ExpandoObject
Assembly: cs.temp.dll.dll
Syntax
public static class RouterDbExtensionsMethods
AddAsVertex(RouterDb, RouterPoint)
Adds the router point as a vertex.
Declaration
public static uint AddAsVertex(this RouterDb routerDb, RouterPoint point)Parameters
| RouterDb
        routerDb 
 | 
| RouterPoint
        point 
 | 
Returns
| System.UInt32 
 | 
AddAsVertices(RouterDb, RouterPoint[])
Adds the router point as a vertex.
Declaration
public static uint[] AddAsVertices(this RouterDb routerDb, RouterPoint[] points)Parameters
| RouterDb
        routerDb 
 | 
| RouterPoint[]
        points 
 | 
Returns
| System.UInt32[] 
 | 
AddContracted(RouterDb, Profile, Boolean)
Creates a new contracted graph and adds it to the router db for the given profile.
Declaration
public static void AddContracted(this RouterDb db, Profile profile, bool forceEdgeBased = false)Parameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
| System.Boolean
        forceEdgeBased 
 | 
AddContracted(RouterDb, Profile, Boolean, CancellationToken)
Creates a new contracted graph and adds it to the router db for the given profile.
Declaration
public static void AddContracted(this RouterDb db, Profile profile, bool forceEdgeBased, CancellationToken cancellationToken)Parameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
| System.Boolean
        forceEdgeBased 
 | 
| CancellationToken
        cancellationToken 
 | 
AddContracted<T>(RouterDb, Profile, WeightHandler<T>, Boolean)
Creates a new contracted graph and adds it to the router db for the given profile.
Declaration
public static void AddContracted<T>(this RouterDb db, Profile profile, WeightHandler<T> weightHandler, bool forceEdgeBased = false)where T : structParameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| System.Boolean
        forceEdgeBased 
 | 
Type Parameters
| T 
 | 
AddContracted<T>(RouterDb, Profile, WeightHandler<T>, Boolean, CancellationToken)
Creates a new contracted graph and adds it to the router db for the given profile.
Declaration
public static void AddContracted<T>(this RouterDb db, Profile profile, WeightHandler<T> weightHandler, bool forceEdgeBased, CancellationToken cancellationToken)where T : structParameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| System.Boolean
        forceEdgeBased 
 | 
| CancellationToken
        cancellationToken 
 | 
Type Parameters
| T 
 | 
AddIslandData(RouterDb, Profile)
Adds and detects island data to improve resolving.
Declaration
public static void AddIslandData(this RouterDb db, Profile profile)Parameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
AddIslandData(RouterDb, Profile, Boolean)
Adds and detects island data to improve resolving.
Declaration
public static void AddIslandData(this RouterDb db, Profile profile, bool buildEdgeMeta)Parameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
| System.Boolean
        buildEdgeMeta 
 | 
AddIslandData(RouterDb, Profile, Boolean, CancellationToken)
Adds and detects island data to improve resolving.
Declaration
public static void AddIslandData(this RouterDb db, Profile profile, bool buildEdgeMeta, CancellationToken cancellationToken)Parameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
| System.Boolean
        buildEdgeMeta 
 | 
| CancellationToken
        cancellationToken 
 | 
BuildDualEdgePath<T>(RouterDb, WeightHandler<T>, EdgePath<T>)
Builds a non-dual edge path from a dual edge path taking into account the original router points.
Declaration
public static EdgePath<T> BuildDualEdgePath<T>(this RouterDb routerDb, WeightHandler<T> weightHandler, EdgePath<T> dualPath)where T : structParameters
| RouterDb
        routerDb 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| EdgePath<T>
        dualPath 
 | 
Returns
| EdgePath<T> 
 | 
Type Parameters
| T 
 | 
BuildDualEdgePath<T>(RouterDb, WeightHandler<T>, RouterPoint, RouterPoint, EdgePath<T>)
Builds a non-dual edge path from a dual edge path taking into account the original router points.
Declaration
public static EdgePath<T> BuildDualEdgePath<T>(this RouterDb routerDb, WeightHandler<T> weightHandler, RouterPoint source, RouterPoint target, EdgePath<T> dualPath)where T : structParameters
| RouterDb
        routerDb 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| RouterPoint
        source 
 | 
| RouterPoint
        target 
 | 
| EdgePath<T>
        dualPath 
 | 
Returns
| EdgePath<T> 
 | 
Type Parameters
| T 
 | 
BuildEdgePath<T>(RouterDb, WeightHandler<T>, RouterPoint, RouterPoint, List<UInt32>)
Builds an edge path from a path consisiting of only vertices.
Declaration
public static EdgePath<T> BuildEdgePath<T>(this RouterDb routerDb, WeightHandler<T> weightHandler, RouterPoint source, RouterPoint target, List<uint> vertexPath)where T : structParameters
| RouterDb
        routerDb 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| RouterPoint
        source 
 | 
| RouterPoint
        target 
 | 
| List<System.UInt32>
        vertexPath 
 | 
Returns
| EdgePath<T> 
 | 
Type Parameters
| T 
 | 
ExtractArea(RouterDb, Func<Coordinate, Boolean>, Boolean)
Extracts part of the routerdb defined by the isInside function.
Declaration
public static RouterDb ExtractArea(this RouterDb db, Func<Coordinate, bool> isInside, bool insideOnly = false)Parameters
| RouterDb
        db The routerdb to extract from. | 
| Func<Coordinate, System.Boolean>
        isInside The is inside function. | 
| System.Boolean
        insideOnly Don't keep vertices outside, even if they have a neighbour that is inside. | 
Returns
| RouterDb 
 | 
ExtractArea(RouterDb, Func<UInt32, Boolean>, Func<UInt32, UInt32, Boolean>)
Extracts part of the routerdb defined by the isInside function.
Declaration
public static RouterDb ExtractArea(this RouterDb db, Func<uint, bool> isInside, Func<uint, uint, bool> isEdgeInside)Parameters
| RouterDb
        db The routerdb to extract from. | 
| Func<System.UInt32, System.Boolean>
        isInside The is inside function, is the vertex to be included. Vertex won't be included if none of it's edge are. | 
| Func<System.UInt32, System.UInt32, System.Boolean>
        isEdgeInside The is inside function, is the edge to be included. | 
Returns
| RouterDb 
 | 
ExtractArea(RouterDb, Func<UInt32, Boolean>, Boolean)
Extracts part of the routerdb defined by the isInside function.
Declaration
public static RouterDb ExtractArea(this RouterDb db, Func<uint, bool> isInside, bool insideOnly = false)Parameters
| RouterDb
        db The routerdb to extract from. | 
| Func<System.UInt32, System.Boolean>
        isInside The is inside function. | 
| System.Boolean
        insideOnly Don't keep vertices outside, even if they have a neighbour that is inside. | 
Returns
| RouterDb 
 | 
ExtractArea(RouterDb, Single, Single, Single, Single)
Extracts part of the routerdb defined by the isInside function.
Declaration
public static RouterDb ExtractArea(this RouterDb db, float minLatitude, float minLongitude, float maxLatitude, float maxLongitude)Parameters
| RouterDb
        db The routerdb to extract from. | 
| System.Single
        minLatitude 
 | 
| System.Single
        minLongitude 
 | 
| System.Single
        maxLatitude 
 | 
| System.Single
        maxLongitude 
 | 
Returns
| RouterDb 
 | 
GetGeoJson(RouterDb, Boolean, Boolean, Boolean)
Gets all features inside the given bounding box and builds a geojson string.
Declaration
public static string GetGeoJson(this RouterDb db, bool includeEdges = true, bool includeVertices = true, bool includeProfileDetails = true)Parameters
| RouterDb
        db 
 | 
| System.Boolean
        includeEdges 
 | 
| System.Boolean
        includeVertices 
 | 
| System.Boolean
        includeProfileDetails 
 | 
Returns
| System.String 
 | 
GetGeoJsonAround(RouterDb, Single, Single, Single, Boolean, Boolean, Boolean)
Gets all features around the given location as geojson.
Declaration
public static string GetGeoJsonAround(this RouterDb db, float latitude, float longitude, float distanceInMeter = 250F, bool includeEdges = true, bool includeVertices = true, bool includeProfileDetails = true)Parameters
| RouterDb
        db 
 | 
| System.Single
        latitude 
 | 
| System.Single
        longitude 
 | 
| System.Single
        distanceInMeter 
 | 
| System.Boolean
        includeEdges 
 | 
| System.Boolean
        includeVertices 
 | 
| System.Boolean
        includeProfileDetails 
 | 
Returns
| System.String 
 | 
GetGeoJsonAround(RouterDb, UInt32, Single, Boolean, Boolean, Boolean)
Gets all features around the given vertex as geojson.
Declaration
public static string GetGeoJsonAround(this RouterDb db, uint vertex, float distanceInMeter = 250F, bool includeEdges = true, bool includeVertices = true, bool includeProfileDetails = true)Parameters
| RouterDb
        db 
 | 
| System.UInt32
        vertex 
 | 
| System.Single
        distanceInMeter 
 | 
| System.Boolean
        includeEdges 
 | 
| System.Boolean
        includeVertices 
 | 
| System.Boolean
        includeProfileDetails 
 | 
Returns
| System.String 
 | 
GetGeoJsonEdges(RouterDb, Boolean, Boolean, Boolean, UInt32[])
Gets a geojson containing the given edge and optionally it's neighbours.
Declaration
public static string GetGeoJsonEdges(this RouterDb db, bool neighbours = false, bool includeVertices = true, bool includeProfileDetails = true, params uint[] edgeIds)Parameters
| RouterDb
        db The router db. | 
| System.Boolean
        neighbours Flag to get neighbours or not. | 
| System.Boolean
        includeVertices Flag to get vertices or not. | 
| System.Boolean
        includeProfileDetails 
 | 
| System.UInt32[]
        edgeIds The edge id's to get. | 
Returns
| System.String 
 | 
GetGeoJsonIn(RouterDb, Single, Single, Single, Single, Boolean, Boolean, Boolean)
Gets all features inside the given bounding box and builds a geojson string.
Declaration
public static string GetGeoJsonIn(this RouterDb db, float minLatitude, float minLongitude, float maxLatitude, float maxLongitude, bool includeEdges = true, bool includeVertices = true, bool includeProfileDetails = true)Parameters
| RouterDb
        db 
 | 
| System.Single
        minLatitude 
 | 
| System.Single
        minLongitude 
 | 
| System.Single
        maxLatitude 
 | 
| System.Single
        maxLongitude 
 | 
| System.Boolean
        includeEdges 
 | 
| System.Boolean
        includeVertices 
 | 
| System.Boolean
        includeProfileDetails 
 | 
Returns
| System.String 
 | 
GetGeoJsonVertices(RouterDb, Boolean, Boolean, UInt32[])
Gets a geojson containing the given edge and optionally it's neighbours.
Declaration
public static string GetGeoJsonVertices(this RouterDb db, bool neighbours = false, bool includeProfileDetails = false, params uint[] vertexIds)Parameters
| RouterDb
        db The router db. | 
| System.Boolean
        neighbours Flag to get neighbours or not. | 
| System.Boolean
        includeProfileDetails Flag to get profile details or not. | 
| System.UInt32[]
        vertexIds The vertices to get. | 
Returns
| System.String 
 | 
GetGetRestrictions(RouterDb, Profile, Nullable<Boolean>)
Gets the get restriction function for the given profile.
Declaration
public static Func<uint, IEnumerable<uint[]>> GetGetRestrictions(this RouterDb db, Profile profile, bool ? first)Parameters
| RouterDb
        db The router db. | 
| Profile
        profile The vehicle profile. | 
| System.Nullable<System.Boolean>
        first When true, only restrictions starting with given vertex, when false only restrictions ending with given vertex already reversed, when null all restrictions are returned. | 
Returns
| Func<System.UInt32, IEnumerable<System.UInt32[]>> 
 | 
GetGetSimpleRestrictions(RouterDb, Profile)
Gets the simple restriction function for the given profile.
Declaration
public static Func<uint, uint> GetGetSimpleRestrictions(this RouterDb db, Profile profile)Parameters
| RouterDb
        db The router db. | 
| Profile
        profile The vehicle profile. | 
Returns
| Func<System.UInt32, System.UInt32> 
 | 
GetHasAnyRestriction(RouterDb)
Gets the has any restriction function.
Declaration
public static Func<uint, bool> GetHasAnyRestriction(this RouterDb db)Parameters
| RouterDb
        db The router db. | 
Returns
| Func<System.UInt32, System.Boolean> 
 | 
GetPathForEdge<T>(RouterDb, WeightHandler<T>, DirectedEdgeId, Boolean)
Generates an edge path for the given edge.
Declaration
public static EdgePath<T> GetPathForEdge<T>(this RouterDb routerDb, WeightHandler<T> weightHandler, DirectedEdgeId directedEdgeId, bool asSource)where T : structParameters
| RouterDb
        routerDb 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| DirectedEdgeId
        directedEdgeId 
 | 
| System.Boolean
        asSource 
 | 
Returns
| EdgePath<T> 
 | 
Type Parameters
| T 
 | 
GetPathForEdge<T>(RouterDb, WeightHandler<T>, RoutingEdge, Boolean, Boolean)
Generates an edge path for the given edge.
Declaration
public static EdgePath<T> GetPathForEdge<T>(this RouterDb routerDb, WeightHandler<T> weightHandler, RoutingEdge edge, bool edgeForward, bool asSource)where T : structParameters
| RouterDb
        routerDb 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| RoutingEdge
        edge 
 | 
| System.Boolean
        edgeForward 
 | 
| System.Boolean
        asSource 
 | 
Returns
| EdgePath<T> 
 | 
Type Parameters
| T 
 | 
GetPathForEdge<T>(RouterDb, WeightHandler<T>, Int64, Boolean)
Generates an edge path for the given edge.
Declaration
public static EdgePath<T> GetPathForEdge<T>(this RouterDb routerDb, WeightHandler<T> weightHandler, long directedEdgeId, bool asSource)where T : structParameters
| RouterDb
        routerDb 
 | 
| WeightHandler<T>
        weightHandler 
 | 
| System.Int64
        directedEdgeId 
 | 
| System.Boolean
        asSource 
 | 
Returns
| EdgePath<T> 
 | 
Type Parameters
| T 
 | 
GetProfileAndMeta(RouterDb, UInt32, UInt32)
Returns one attribute collection containing both the profile and meta tags.
Declaration
public static IAttributeCollection GetProfileAndMeta(this RouterDb db, uint profileId, uint meta)Parameters
| RouterDb
        db 
 | 
| System.UInt32
        profileId 
 | 
| System.UInt32
        meta 
 | 
Returns
| IAttributeCollection 
 | 
GetRestrictions(RouterDb, Profile)
Gets the restriction collection for the given profile.
Declaration
public static RestrictionCollection GetRestrictions(this RouterDb db, Profile profile)Parameters
| RouterDb
        db The router db. | 
| Profile
        profile The vehicle profile. | 
Returns
| RestrictionCollection 
 | 
HasComplexRestrictions(RouterDb, IEnumerable<String>)
Returns true if this db contains complex restrictions for the given vehicle types.
Declaration
public static bool HasComplexRestrictions(this RouterDb db, IEnumerable<string> vehicleTypes)Parameters
| RouterDb
        db 
 | 
| IEnumerable<System.String>
        vehicleTypes 
 | 
Returns
| System.Boolean 
 | 
HasComplexRestrictions(RouterDb, Profile)
Returns true if this db contains complex restrictions for the given profile.
Declaration
public static bool HasComplexRestrictions(this RouterDb db, Profile profile)Parameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
Returns
| System.Boolean 
 | 
HasComplexRestrictions(RouterDb, String)
Returns true if this db contains complex restrictions for the given vehicle type.
Declaration
public static bool HasComplexRestrictions(this RouterDb db, string vehicleType)Parameters
| RouterDb
        db 
 | 
| System.String
        vehicleType 
 | 
Returns
| System.Boolean 
 | 
HasIslandData(RouterDb, Profile)
Returns true if the routerdb already has island data for the given profile.
Declaration
public static bool HasIslandData(this RouterDb db, Profile profile)Parameters
| RouterDb
        db The router db. | 
| Profile
        profile The profile. | 
Returns
| System.Boolean True if there is island data. | 
HasRestrictions(RouterDb, String)
Returns true if this db contains restrictions for the given vehicle type.
Declaration
public static bool HasRestrictions(this RouterDb db, string vehicleType)Parameters
| RouterDb
        db 
 | 
| System.String
        vehicleType 
 | 
Returns
| System.Boolean 
 | 
LocationOnNetwork(RouterDb, UInt32, UInt16)
Returns the location on the network.
Declaration
public static Coordinate LocationOnNetwork(this RouterDb db, uint edgeId, ushort offset)Parameters
| RouterDb
        db 
 | 
| System.UInt32
        edgeId 
 | 
| System.UInt16
        offset 
 | 
Returns
| Coordinate 
 | 
Supports(RouterDb, Profile)
Returns true if the given profile is supported.
Declaration
public static bool Supports(this RouterDb db, Profile profile)Parameters
| RouterDb
        db 
 | 
| Profile
        profile 
 | 
Returns
| System.Boolean 
 | 
SupportsAll(RouterDb, IProfileInstance[])
Returns true if all of the given profiles are supported.
Declaration
public static bool SupportsAll(this RouterDb db, params IProfileInstance[] profiles)Parameters
| RouterDb
        db 
 | 
| IProfileInstance[]
        profiles 
 | 
Returns
| System.Boolean 
 | 
SupportsAll(RouterDb, Profile[])
Returns true if all of the given profiles are supported.
Declaration
public static bool SupportsAll(this RouterDb db, params Profile[] profiles)Parameters
| RouterDb
        db 
 | 
| Profile[]
        profiles 
 | 
Returns
| System.Boolean 
 | 
WriteGeoJson(RouterDb, Stream, Single, Single, Single, Single, Boolean, Boolean, Boolean)
Gets all features inside the given bounding box and writes them as a geojson string.
Declaration
public static void WriteGeoJson(this RouterDb db, Stream stream, float minLatitude, float minLongitude, float maxLatitude, float maxLongitude, bool includeEdges = true, bool includeVertices = true, bool includeProfileDetails = true)Parameters
| RouterDb
        db 
 | 
| Stream
        stream 
 | 
| System.Single
        minLatitude 
 | 
| System.Single
        minLongitude 
 | 
| System.Single
        maxLatitude 
 | 
| System.Single
        maxLongitude 
 | 
| System.Boolean
        includeEdges 
 | 
| System.Boolean
        includeVertices 
 | 
| System.Boolean
        includeProfileDetails 
 | 
WriteGeoJson(RouterDb, TextWriter, Boolean, Boolean, Boolean)
Gets all features inside the given bounding box and writes them as a geojson string.
Declaration
public static void WriteGeoJson(this RouterDb db, TextWriter writer, bool includeEdges = true, bool includeVertices = true, bool includeProfileDetails = true)Parameters
| RouterDb
        db 
 | 
| TextWriter
        writer 
 | 
| System.Boolean
        includeEdges 
 | 
| System.Boolean
        includeVertices 
 | 
| System.Boolean
        includeProfileDetails 
 | 
WriteGeoJson(RouterDb, TextWriter, Single, Single, Single, Single, Boolean, Boolean, Boolean)
Gets all features inside the given bounding box and writes them as a geojson string.
Declaration
public static void WriteGeoJson(this RouterDb db, TextWriter writer, float minLatitude, float minLongitude, float maxLatitude, float maxLongitude, bool includeEdges = true, bool includeVertices = true, bool includeProfileDetails = true)Parameters
| RouterDb
        db 
 | 
| TextWriter
        writer 
 | 
| System.Single
        minLatitude 
 | 
| System.Single
        minLongitude 
 | 
| System.Single
        maxLatitude 
 | 
| System.Single
        maxLongitude 
 | 
| System.Boolean
        includeEdges 
 | 
| System.Boolean
        includeVertices 
 | 
| System.Boolean
        includeProfileDetails 
 |