Maps SDK for C++ 1.0.0
Loading...
Searching...
No Matches
gem::RouteTerrainProfile Class Reference

RouteTerrainProfile object. More...

Inheritance diagram for gem::RouteTerrainProfile:
Collaboration diagram for gem::RouteTerrainProfile:

Public Member Functions

float getMinElevation () const noexcept
 Get terrain minimum elevation.
float getMaxElevation () const noexcept
 Get terrain maximum elevation.
int getMinElevationDistance () const noexcept
 Get terrain minimum elevation distance ( from route start ).
int getMaxElevationDistance () const noexcept
 Get terrain maximum elevation distance ( from route start ).
float getTotalUp () const noexcept
 Get total terrain elevation up.
float getTotalDown () const noexcept
 Get total terrain elevation down.
float getTotalUp (int distBegin, int distEnd) const noexcept
 Get total terrain elevation up for specified route section.
float getTotalDown (int distBegin, int distEnd) const noexcept
 Get total terrain elevation down for specified route section.
std::pair< FloatList, float > getElevationSamples (int countSamples) const noexcept
 Get elevation samples list.
std::pair< FloatList, float > getElevationSamples (int countSamples, int distBegin, int distEnd) const noexcept
 Get elevation samples list.
float getElevation (int distance) const noexcept
 Get elevation at the given distance in meters from departure point/start of route.
ClimbSectionList getClimbSections () const noexcept
 Get list of route climb sections.
SurfaceSectionList getSurfaceSections () const noexcept
 Get list of route surface sections.
RoadTypeSectionList getRoadTypeSections () const noexcept
 Get list of route type sections.
SteepSectionList getSteepSections (const FloatList &categs) const noexcept
 Get list of route sections which are abrupt, that is, they have a significant elevation change.

Detailed Description

RouteTerrainProfile object.

Implements share-read / copy-on-write Api object over IRouteTerrainProfile.

Member Function Documentation

◆ getClimbSections()

ClimbSectionList gem::RouteTerrainProfile::getClimbSections ( ) const
inlinenoexcept

Get list of route climb sections.

Climb sections are the difficult climbing parts of a route. The climb categories are defined in EGrade

If any of the climbing parts of a route is not at least Grade4 the list will be empty

Returns
List of climb sections

◆ getElevation()

float gem::RouteTerrainProfile::getElevation ( int distance) const
inlinenoexcept

Get elevation at the given distance in meters from departure point/start of route.

Parameters
[in]distanceDistance in meters from departure point/start of route.
Returns
error::KOutOfRange if distance is bigger than the route length, else elevation at the given distance

◆ getElevationSamples() [1/2]

std::pair< FloatList, float > gem::RouteTerrainProfile::getElevationSamples ( int countSamples) const
inlinenoexcept

Get elevation samples list.

Parameters
[in]countSamplesNumber of samples
Returns
pair (samples, resolution)

◆ getElevationSamples() [2/2]

std::pair< FloatList, float > gem::RouteTerrainProfile::getElevationSamples ( int countSamples,
int distBegin,
int distEnd ) const
inlinenoexcept

Get elevation samples list.

Parameters
[in]countSamplesNumber of samples
[in]distBeginBegin distance on route for sample interval
[in]distEndEnd distance on route for sample interval
Returns
pair (samples, resolution)

◆ getMaxElevation()

float gem::RouteTerrainProfile::getMaxElevation ( ) const
inlinenoexcept

Get terrain maximum elevation.

Returns
Terrain maximum elevation

◆ getMaxElevationDistance()

int gem::RouteTerrainProfile::getMaxElevationDistance ( ) const
inlinenoexcept

Get terrain maximum elevation distance ( from route start ).

Returns
Terrain maximum elevation distance

◆ getMinElevation()

float gem::RouteTerrainProfile::getMinElevation ( ) const
inlinenoexcept

Get terrain minimum elevation.

Returns
Terrain minimum elevation

◆ getMinElevationDistance()

int gem::RouteTerrainProfile::getMinElevationDistance ( ) const
inlinenoexcept

Get terrain minimum elevation distance ( from route start ).

Returns
Terrain minimum elevation distance

◆ getRoadTypeSections()

RoadTypeSectionList gem::RouteTerrainProfile::getRoadTypeSections ( ) const
inlinenoexcept

Get list of route type sections.

Each section has the start distance from route start and the road type ( see ERoadType ).

The end of the section is the distance from start of the next section or route total length ( for the last section )

Returns
List of road type sections

◆ getSteepSections()

SteepSectionList gem::RouteTerrainProfile::getSteepSections ( const FloatList & categs) const
inlinenoexcept

Get list of route sections which are abrupt, that is, they have a significant elevation change.

Parameters
[in]categsThe user list of steep categories. Each entry contains the max slope for the steep category as diffX / diffY.

A common steep categories list is { -16.f, -10.f, -7.f, -4.f, -1.f, 1.f, 4.f, 7.f, 10.f, 16.f }

A positive value is for an ascension category, a negative value if a descent category

Each section has the start distance from route start and the category ( index in user defined steep categories )

The end of the section is the distance from start of the next section or route total length ( for the last section )

Returns
List of steep sections

◆ getSurfaceSections()

SurfaceSectionList gem::RouteTerrainProfile::getSurfaceSections ( ) const
inlinenoexcept

Get list of route surface sections.

Each section has the start distance from route start and the surface type ( see ESurfaceType ).

The end of the section is the distance from start of the next section or route total length ( for the last section )

Returns
List of surface sections

◆ getTotalDown() [1/2]

float gem::RouteTerrainProfile::getTotalDown ( ) const
inlinenoexcept

Get total terrain elevation down.

Returns
Total terrain elevation down

◆ getTotalDown() [2/2]

float gem::RouteTerrainProfile::getTotalDown ( int distBegin,
int distEnd ) const
inlinenoexcept

Get total terrain elevation down for specified route section.

Parameters
[in]distBeginBegin distance on route for sample interval
[in]distEndEnd distance on route for sample interval
Returns
Total terrain elevation down

◆ getTotalUp() [1/2]

float gem::RouteTerrainProfile::getTotalUp ( ) const
inlinenoexcept

Get total terrain elevation up.

Returns
Total terrain elevation up

◆ getTotalUp() [2/2]

float gem::RouteTerrainProfile::getTotalUp ( int distBegin,
int distEnd ) const
inlinenoexcept

Get total terrain elevation up for specified route section.

Parameters
[in]distBeginBegin distance on route for sample interval
[in]distEndEnd distance on route for sample interval
Returns
Total terrain elevation up