NDEVR
API Documentation
ElevationServiceabstract

For a given coordinate, determines the elevation at that coordinate. More...

Inheritance diagram for ElevationService:
[legend]
Collaboration diagram for ElevationService:
[legend]

Public Member Functions

virtual void postRequest (const ElevationRequest &request)=0
 Posts an asynchronous elevation request to the service for processing.

Static Public Member Functions

static ElevationRequest ConvertToLatLon (const ElevationRequest &request)
 Converts the coordinate locations in the given request to latitude/longitude values.
static ElevationServicePrimaryService ()
 Returns the primary ElevationService instance registered for the application.
static void SetPrimaryService (ElevationService *elevation_service)
 Sets the primary ElevationService instance for the application.
static Buffer< LineElevationRequestSplitRequestsIfNeeded (const Buffer< LineElevationRequest > &requests, uint04 max_samples)
 Splits polyline elevation requests that exceed the maximum sample count into smaller sub-requests.

Static Protected Attributes

static ElevationServices_primary_service
 The singleton primary elevation service instance.

Detailed Description

For a given coordinate, determines the elevation at that coordinate.


Definition at line 41 of file ElevationService.h.

Member Function Documentation

◆ ConvertToLatLon()

ElevationRequest ElevationService::ConvertToLatLon ( const ElevationRequest & request)
static

Converts the coordinate locations in the given request to latitude/longitude values.


Parameters
[in]requestThe elevation request whose locations will be converted.
Returns
A new ElevationRequest with locations expressed in latitude/longitude coordinates.

◆ postRequest()

virtual void ElevationService::postRequest ( const ElevationRequest & request)
pure virtual

Posts an asynchronous elevation request to the service for processing.


Parameters
[in]requestThe elevation request containing locations and callback information.

Implemented in GeoTiffElevationService, and OpenElevationService.

◆ PrimaryService()

ElevationService * ElevationService::PrimaryService ( )
static

Returns the primary ElevationService instance registered for the application.


Returns
Pointer to the primary ElevationService, or nullptr if none has been set.

◆ SetPrimaryService()

void ElevationService::SetPrimaryService ( ElevationService * elevation_service)
static

Sets the primary ElevationService instance for the application.


Parameters
[in]elevation_serviceThe ElevationService to register as the primary service.

◆ SplitRequestsIfNeeded()

Buffer< LineElevationRequest > ElevationService::SplitRequestsIfNeeded ( const Buffer< LineElevationRequest > & requests,
uint04 max_samples )
static

Splits polyline elevation requests that exceed the maximum sample count into smaller sub-requests.


Parameters
[in]requestsThe polyline elevation requests to potentially split.
[in]max_samplesThe maximum number of samples allowed per individual request.
Returns
A buffer of LineElevationRequest objects, each within the max_samples limit.
Note
It is unclear whether the split requests are subdivided by polyline segment or by sample count redistribution across the original polyline geometry.

The documentation for this class was generated from the following file: