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 RouterDbExtensions
Methods
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 : struct
Parameters
|
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 : struct
Parameters
|
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 : struct
Parameters
|
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 : struct
Parameters
|
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 : struct
Parameters
|
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 : struct
Parameters
|
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 : struct
Parameters
|
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 : struct
Parameters
|
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
|