MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSLDTEDTerrainDatabaseLayer Class Reference
Inheritance diagram for TSLDTEDTerrainDatabaseLayer:

Detailed Description

The TSLDTEDTerrainDatabaseLayer class provides access to layer-specific information and parameters within a TSLDTEDTerrainDatabase.

Each layer of a DTED terrain database contains a single resolution of data. As such the upper/lower post distances of this layer are the same.

Public Member Functions

virtual ~TSLDTEDTerrainDatabaseLayer ()
 
virtual bool largestPostDistance (double &x, double &y)
 
virtual TSLMUExtent queryExtent ()
 
virtual void setPostDistanceLimit (double x, double y)
 
virtual bool smallestPostDistance (double &x, double &y)
 
virtual TSLTerrainTileDataItemqueryTileAt (double x, double y, double nullValue) const
 
virtual TSLTerrainTileDataItemqueryTileAt (double x, double y, double nullValue, double postDistanceLimitX, double postDistanceLimitY) const
 
virtual bool queryPostDistance (double &postDistanceX, double &postDistanceY, bool &levelPresentInAllTiles)
 
virtual bool queryPostDistance (double &postDistanceX, double &postDistanceY, bool &levelPresentInAllTiles, double postDistanceLimitX, double postDistanceLimitY)
 
void operator delete (void *ptr)
 
- Public Member Functions inherited from TSLTerrainDatabaseLayer
virtual ~TSLTerrainDatabaseLayer ()
 
void operator delete (void *ptr)
 

Protected Member Functions

 TSLDTEDTerrainDatabaseLayer ()
 
 TSLDTEDTerrainDatabaseLayer (void *p)
 
- Protected Member Functions inherited from TSLTerrainDatabaseLayer
 TSLTerrainDatabaseLayer ()
 
 TSLTerrainDatabaseLayer (void *p)
 

Constructor & Destructor Documentation

◆ ~TSLDTEDTerrainDatabaseLayer()

virtual TSLDTEDTerrainDatabaseLayer::~TSLDTEDTerrainDatabaseLayer ( )
virtual

◆ TSLDTEDTerrainDatabaseLayer() [1/2]

TSLDTEDTerrainDatabaseLayer::TSLDTEDTerrainDatabaseLayer ( )
protected

◆ TSLDTEDTerrainDatabaseLayer() [2/2]

TSLDTEDTerrainDatabaseLayer::TSLDTEDTerrainDatabaseLayer ( void * p)
protected

Member Function Documentation

◆ largestPostDistance()

virtual bool TSLDTEDTerrainDatabaseLayer::largestPostDistance ( double & x,
double & y )
virtual

Query the post distance of the least detailed sub-layer

This is the distance between data points, in the units of the database. This will be the same as the smallest post distance, if there is only 1 data resolution available, or if the database is a TSLDTEDTerrainDatabase.

Depending on the original data, the x and y post distances may be different

Note: This exact level may not be present in all tiles. If it is not, queries will return data based on the post distance limit.

Returns true if the parameters were set successfuly, false otherwise.

Reimplemented from TSLTerrainDatabaseLayer.

◆ operator delete()

void TSLDTEDTerrainDatabaseLayer::operator delete ( void * ptr)

◆ queryExtent()

virtual TSLMUExtent TSLDTEDTerrainDatabaseLayer::queryExtent ( )
virtual

Returns the data extent covered by this layer. The extent is in the same units as are used by the terrain database.

Reimplemented from TSLTerrainDatabaseLayer.

◆ queryPostDistance() [1/2]

virtual bool TSLDTEDTerrainDatabaseLayer::queryPostDistance ( double & postDistanceX,
double & postDistanceY,
bool & levelPresentInAllTiles )
virtual

Query the post distance, which will be used when performing tile data queries.

This post distance will be selected based on the contents of the terrain database, and the provided post distance limits.

Note that tiles within a layer may not contain the same levels of resolution, and queried tiles may be returned with a larger post distance than this value. This should only happen if the provided post distance limits cause the highest, or lowest resolution of data to be selected.

Parameters
postDistanceXWill be populated with the ideal horizontal post distance.
postDistanceYWill be populated with the ideal vertical post distance.
levelPresentInAllTilesThis will be set to true if the returned post distance is present in all tiles, or false otherwise.
Returns
true if the parameters were set, or false if the post distance could not be determined.

Reimplemented from TSLTerrainDatabaseLayer.

◆ queryPostDistance() [2/2]

virtual bool TSLDTEDTerrainDatabaseLayer::queryPostDistance ( double & postDistanceX,
double & postDistanceY,
bool & levelPresentInAllTiles,
double postDistanceLimitX,
double postDistanceLimitY )
virtual

Query the post distance, which will be used when performing tile data queries.

This post distance will be selected based on the contents of the terrain database, and the provided post distance limits.

Note that tiles within a layer may not contain the same levels of resolution, and queried tiles may be returned with a larger post distance than this value. This should only happen if the provided post distance limits cause the highest, or lowest resolution of data to be selected.

Parameters
postDistanceXWill be populated with the ideal horizontal post distance.
postDistanceYWill be populated with the ideal vertical post distance.
levelPresentInAllTilesThis will be set to true if the returned post distance is present in all tiles, or false otherwise.
postDistanceLimitXThe horizontal post distance limit.
postDistanceLimitYThe verical post distance limit.
Returns
true if the parameters were set, or false if the post distance could not be determined.

Reimplemented from TSLTerrainDatabaseLayer.

◆ queryTileAt() [1/2]

virtual TSLTerrainTileDataItem * TSLDTEDTerrainDatabaseLayer::queryTileAt ( double x,
double y,
double nullValue ) const
virtual

Query a tile from this layer, at the given position.

The tile data will be returned without any interpolation, and will respect the limits set by setPostDistanceLimit.

Parameters
(x,y)The location, in units of the terrain database, to query the tile.
nullValueAny null values in the terrain data will be replaced by this value.
Returns
a tile data object, containing the extent, resolution, and data from the specified location. This object is owned by the application, and must be deleted when finished with.

Reimplemented from TSLTerrainDatabaseLayer.

◆ queryTileAt() [2/2]

virtual TSLTerrainTileDataItem * TSLDTEDTerrainDatabaseLayer::queryTileAt ( double x,
double y,
double nullValue,
double postDistanceLimitX,
double postDistanceLimitY ) const
virtual

Query a tile from this layer, at the given position.

The tile data will be returned without any interpolation, and will respect the limits set by setPostDistanceLimit.

Parameters
(x,y)The location, in units of the terrain database, to query the tile.
nullValueAny null values in the terrain data will be replaced by this value.
postDistanceLimitXThe horizontal post distance limit.
postDistanceLimitYThe verical post distance limit.
Returns
a tile data object, containing the extent, resolution, and data from the specified location. This object is owned by the application, and must be deleted when finished with.

Reimplemented from TSLTerrainDatabaseLayer.

◆ setPostDistanceLimit()

virtual void TSLDTEDTerrainDatabaseLayer::setPostDistanceLimit ( double x,
double y )
virtual

Set the post distance limit.

This limit determines which level of the pyramid data is returned from. Data will be returned from the least detailed layer, after this limit.

A limit of 0 will result in the highest available resolution being used. A limit of DBL_MAX will result in the lowest available resolution being used.

If TSLTerrainDatabase::displayExtent is called, this limit will be overridden.

Parameters
xThe horizontal post distance limit.
yThe vertical post distance limit.

Reimplemented from TSLTerrainDatabaseLayer.

◆ smallestPostDistance()

virtual bool TSLDTEDTerrainDatabaseLayer::smallestPostDistance ( double & x,
double & y )
virtual

Query the post distance of the most detailed sub-layer.

This is the distance between data points, in the units of the database. This will be the same as the largest post distance, if there is only 1 data resolution available, or if the database is a TSLDTEDTerrainDatabase.

Depending on the original data, the x and y post distances may be different

Note: This exact level may not be present in all tiles. If it is not, queries will return data based on the post distance limit.

Returns true if the parameters were set successfuly, false otherwise.

Reimplemented from TSLTerrainDatabaseLayer.