122 lines
2.0 KiB
Plaintext
122 lines
2.0 KiB
Plaintext
|
include "waypoint.fbs";
|
||
|
namespace osrm.engine.api.fbresult;
|
||
|
|
||
|
table Metadata {
|
||
|
datasource_names: [string];
|
||
|
}
|
||
|
|
||
|
table Annotation {
|
||
|
distance: [uint];
|
||
|
duration: [uint];
|
||
|
datasources: [uint];
|
||
|
nodes: [uint];
|
||
|
weight: [uint];
|
||
|
speed: [double];
|
||
|
metadata: Metadata;
|
||
|
}
|
||
|
|
||
|
enum ManeuverType: byte {
|
||
|
Turn,
|
||
|
NewName,
|
||
|
Depart,
|
||
|
Arrive,
|
||
|
Merge,
|
||
|
OnRamp,
|
||
|
OffRamp,
|
||
|
Fork,
|
||
|
EndOfRoad,
|
||
|
Continue,
|
||
|
Roundabout,
|
||
|
Rotary,
|
||
|
RoundaboutTurn,
|
||
|
Notification,
|
||
|
ExitRoundabout,
|
||
|
ExitRotary
|
||
|
}
|
||
|
|
||
|
enum Turn: byte {
|
||
|
None,
|
||
|
UTurn,
|
||
|
SharpRight,
|
||
|
Right,
|
||
|
SlightRight,
|
||
|
Straight,
|
||
|
SlightLeft,
|
||
|
Left,
|
||
|
SharpLeft
|
||
|
}
|
||
|
|
||
|
table StepManeuver {
|
||
|
location: Position;
|
||
|
bearing_before: ushort;
|
||
|
bearing_after: ushort;
|
||
|
type: ManeuverType;
|
||
|
modifier: Turn;
|
||
|
exit: ubyte;
|
||
|
}
|
||
|
|
||
|
table Lane {
|
||
|
indications: [Turn];
|
||
|
valid: bool;
|
||
|
}
|
||
|
|
||
|
table Intersection {
|
||
|
location: Position;
|
||
|
bearings: [ushort];
|
||
|
classes: [string];
|
||
|
entry: [bool];
|
||
|
in: uint;
|
||
|
out: uint;
|
||
|
lanes: [Lane];
|
||
|
}
|
||
|
|
||
|
table Polyline {
|
||
|
polyline: [Position];
|
||
|
}
|
||
|
|
||
|
union Geometry {
|
||
|
polyline: string,
|
||
|
polyline6: string,
|
||
|
coordinates: Polyline
|
||
|
}
|
||
|
|
||
|
table Step {
|
||
|
distance: double;
|
||
|
duration: double;
|
||
|
geometry: Geometry;
|
||
|
name: string;
|
||
|
ref: uint;
|
||
|
pronunciation: string;
|
||
|
destinations: [string];
|
||
|
exits: [string];
|
||
|
mode: string;
|
||
|
maneuver: StepManeuver;
|
||
|
intersections: [Intersection];
|
||
|
rotary_name: string;
|
||
|
rotary_pronunciation: string;
|
||
|
driving_side: bool; //Where true stands for the right side.
|
||
|
}
|
||
|
|
||
|
table Leg {
|
||
|
distance: double;
|
||
|
duration: double;
|
||
|
weight: double;
|
||
|
summary: string;
|
||
|
annotations: Annotation;
|
||
|
steps: [Step];
|
||
|
}
|
||
|
|
||
|
table RouteObject {
|
||
|
distance: double;
|
||
|
duration: double;
|
||
|
weight: double;
|
||
|
weight_name: string;
|
||
|
confidence: double; //Used only by 'Match' service
|
||
|
geometry: Geometry;
|
||
|
legs: [Leg];
|
||
|
}
|
||
|
|
||
|
table Route{
|
||
|
routes: [RouteObject];
|
||
|
waypoints: [Waypoint];
|
||
|
}
|