Maria GDK 5.0.0.737
Documentation of native code in develop branch
Loading...
Searching...
No Matches
Maria::ElevationDataLayer Class Reference

#include <MElevationDataLayer.h>

Public Member Functions

 ElevationDataLayer (int layerId, std::shared_ptr< Maria::SystemTicker >systemTicker, std::shared_ptr< Maria::TileCache > tileCache, ElevationDataType dataType=ElevationDataType::Undefined)
 
std::shared_ptr< Maria::ElevationTileDataloadSync (const Maria::TileId &tileId)
 
std::shared_ptr< Maria::ElevationTileDataloadSync (const Maria::TileId &tileId, long timeout_ms)
 
std::shared_ptr< Maria::ElevationTileDataloadAsync (const Maria::TileId &tileId)
 
ElevationResult calcElevation (const BasicGeoTypes::GeoPos &gp, Maria::InterpolationMethod interpolationMethod, double resolution, long timeout_ms)
 
ElevationResult calcElevationNearest (const BasicGeoTypes::GeoPos &gp, double resolution, long timeout_ms)
 
ElevationResult calcElevationBilinear (const BasicGeoTypes::GeoPos &gp, double resolution, long timeout_ms)
 
ElevationMinMaxResult getMinMaxElevation (const std::shared_ptr< Maria::RasterProjector > &targetPj, const BasicGeoTypes::PointDXY &topLeft, int width, int height, long timeout_ms)
 
void setNodata (int nodata)
 
int getNodata () const
 
bool isNodata (double val)
 
bool ignoreSeaLevel () const
 
void setIgnoreSeaLevel (bool ignore_sea_level)
 
bool isNullVector (const BasicGeoTypes::PointDXYZ &n) const
 
const std::shared_ptr< Maria::TileCache > & getTileCache () const
 
bool getUseFastProjector () const
 
void setUseFastProjector (bool useFastProjector)
 
int layerId () const
 
ElevationDataType getDataType () const
 
std::shared_ptr< STK::ImagecreateElevationMap (const std::shared_ptr< RasterProjector > &pj, const BasicGeoTypes::PointDXY &topLeft, int width, int height, Maria::InterpolationMethod interpolationMethod, long timeout_ms, double &coverage)
 
std::shared_ptr< STK::ImagecreateNormalMap (const std::shared_ptr< RasterProjector > &targetPj, const BasicGeoTypes::PointDXY &topLeft, int width, int height, Maria::InterpolationMethod interpolationMethod, long timeout_ms, double &coverage)
 
bool hasValidData (const BasicGeoTypes::GeoPos &gp)
 
void setTags (const std::vector< std::string > &tags)
 
const std::vector< std::string > & getTags () const
 
bool checkTags (const std::vector< std::string > &tags) const
 

Protected Member Functions

std::shared_ptr< Maria::ElevationTileDataloadTileOrNearestResolution (std::shared_ptr< Maria::TileData > tile, long timeout_ms)
 
std::shared_ptr< Maria::ElevationTileDatagetTileOrNearestResolution (std::shared_ptr< Maria::TileData > tile)
 
std::shared_ptr< Maria::ElevationTileDatafindReferenceTile (const BasicGeoTypes::Extents &ext, int level, long timeout_ms)
 
double getElevationValue (int x, int y, const std::shared_ptr< const STK::Image > &img)
 
BasicGeoTypes::PointDXYZ calcNormalVector (int x, int y, double dx, double dy, const std::shared_ptr< const STK::Image > &img, const std::shared_ptr< const STK::Image > &imgN, const std::shared_ptr< const STK::Image > &imgE, const std::shared_ptr< const STK::Image > &imgS, const std::shared_ptr< const STK::Image > &imgW)
 
double InterpolateBilinear (BasicGeoTypes::PointDXY point, const std::shared_ptr< const STK::Image > &img, const std::shared_ptr< const STK::Image > &imgN, const std::shared_ptr< const STK::Image > &imgE, const std::shared_ptr< const STK::Image > &imgNE)
 
BasicGeoTypes::PointDXYZ interpolateNormal (BasicGeoTypes::PointDXY point, double dx, double dy, const std::shared_ptr< STK::Image > &img, const std::array< std::shared_ptr< const STK::Image >, 8 > &neighbors, InterpolationMethod interpolationMethod)
 
std::shared_ptr< Maria::IProjectorcreateTileSetProjector (int level, int txMin, int tyMin, int txMax, int tyMax)
 

Protected Attributes

int _layerId
 
ElevationDataType _dataType
 
std::shared_ptr< Maria::SystemTicker_systemTicker
 
std::shared_ptr< Maria::TileCache_tileCache
 
int _nodata
 
bool _ignore_sea_level
 
bool _useFastProjector
 
bool _centerPixelOffset
 
std::vector< std::string > _tags
 

Detailed Description

ElevationDataLayer - Short description. Detailed description.

Member Function Documentation

◆ calcElevation()

ElevationResult Maria::ElevationDataLayer::calcElevation ( const BasicGeoTypes::GeoPos gp,
Maria::InterpolationMethod  interpolationMethod,
double  resolution,
long  timeout_ms 
)
inline

Calculate elevation in the given geographical point, at the minimum resolution given.

This method will use the interpolation method specified with setInterpolationMethod()

This method will block until the required elevation data have been loaded, or the timeout value has been reached.

◆ loadAsync()

std::shared_ptr< Maria::ElevationTileData > Maria::ElevationDataLayer::loadAsync ( const Maria::TileId tileId)
inline

Request asynchronous loading of a tile and return immediately.

◆ loadSync() [1/2]

std::shared_ptr< Maria::ElevationTileData > Maria::ElevationDataLayer::loadSync ( const Maria::TileId tileId)
inline

Load tile into tile cache immediately without going through the request queue.

◆ loadSync() [2/2]

std::shared_ptr< Maria::ElevationTileData > Maria::ElevationDataLayer::loadSync ( const Maria::TileId tileId,
long  timeout_ms 
)
inline

Request loading of tile and wait at most timeout_ms for the tile to load.


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