with 'in_bearing' and 'out_bearing' to get flatbuffers schema javascript friendly. Added a cucumber test for flatbuffers support.
		
			
				
	
	
		
			110 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			1.8 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: [float];
 | |
|     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: [short];
 | |
|     classes: [string];
 | |
|     entry: [bool];
 | |
|     in_bearing: uint;
 | |
|     out_bearing: uint;
 | |
|     lanes: [Lane];
 | |
| }
 | |
| 
 | |
| table Step {
 | |
|     distance: float;
 | |
|     duration: float;
 | |
|     polyline: string;
 | |
|     coordinates: [Position];
 | |
|     weight: float;
 | |
|     name: string;
 | |
|     ref: string;
 | |
|     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 left side.
 | |
| }
 | |
| 
 | |
| table Leg {
 | |
|     distance: double;
 | |
|     duration: double;
 | |
|     weight: double;
 | |
|     summary: string;
 | |
|     annotations: Annotation;
 | |
|     steps: [Step];
 | |
| }
 | |
| 
 | |
| table RouteObject {
 | |
|     distance: float;
 | |
|     duration: float;
 | |
|     weight: float;
 | |
|     weight_name: string;
 | |
|     confidence: float; //Used only by 'Match' service
 | |
|     polyline: string;
 | |
|     coordinates: [Position];
 | |
|     legs: [Leg];
 | |
| } |