Accessing road topology in the SDK
The eeGeo 3D Maps streamed by the mobile Platform contains navigation graph data.
The Platform makes this navigation data available to Apps for the purpose of animating 3D objects and visualising routes.
It should be noted that this data is not suitable for real world routing applications such as turn by turn navigation.
In this section:
Navigation Graph Structure
Navigation graph data is stored in Eegeo::Resource::Roads::NavigationGraph objects.
Each NavigationGraph object contains the navigation graph for a particular cell of the world.
These graphs consist of a number of Eegeo::Resources::Roads::NavigationGraphRoad objects which are optionally connected together at their end points.
NavigationGraphRoad objects are used to represent transport networks of types other than roads. For instance, rail networks also consist of NavigationGraphRoad objects.
NavigationGraphRoad objects have the following properties:
- Each NavigationGraphRoad consists of N vertices where N >= 2. These vertices are indexed 0 to N-1 inclusive.
- The end vertex with index 0 is known as the “From” of the road.
- The end vertex with index N-1 is known as the “To” end.
- NavigationGraphRoads only link to other NavigationGraphRoads at their end vertices (i.e. at the vertices with indices 0 and N-1).
- The vertex numbering and the “From” / “To” ends do not indicate the directions that vehicles can travel along the road. This information is available via the NavigationGraphRoad.GetRoadDirection() method.
Links between NavigationGraphs
Links to NavigationGraphRoads in adjacent cells are formed by NavigationGraphLink objects. These are obtained by calling NavigationGraphRoad.GetConnectionFromCell() and NavigationGraphRoad.GetConnectionToCell().
A detailed description of the navigation graph data, with examples and the associated API points is shown in the diagram below: