Click or drag to resize

StkTerrainServer Class

A terrain provider for reading terrain data from an STK Terrain Server, or any server that provides the STK Terrain Server Public REST API. This can be a server on the internet, your local network, or your local machine.

The terrain data used by this class is tile-based, in quantized-mesh format.

Inheritance Hierarchy

Namespace:  AGI.Foundation.Terrain
Assembly:  AGI.Foundation.TerrainReaders (in AGI.Foundation.TerrainReaders.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public class StkTerrainServer : QuantizedMeshTerrainProvider

The StkTerrainServer type exposes the following members.

Constructors
  NameDescription
Public methodStkTerrainServer
Initializes a new instance with the default values, which will connect to an AGI server for terrain data. This provider will be a member of the default TerrainCacheGroup, the TilesetName will default to "world", and the provider will request tiles at the maximum zoom level.
Public methodStkTerrainServer(IWebProxy)
Initializes a new instance, which will connect to an AGI server for terrain data. This provider will be a member of the default TerrainCacheGroup, the TilesetName will default to "world", and the provider will request tiles at the maximum zoom level.
Public methodStkTerrainServer(IWebProxy, TerrainCacheGroup)
Initializes a new instance, which will connect to an AGI server for terrain data. The TilesetName will default to "world", and the provider will request tiles at the maximum zoom level.
Public methodStkTerrainServer(String, String)
Initializes a new instance as a member of the default TerrainCacheGroup, which will request tiles at the maximum available Tile Map Service zoom level.
Public methodStkTerrainServer(String, String, TerrainCacheGroup)
Initializes a new instance which will request tiles at the maximum available zoom level.
Public methodStkTerrainServer(String, String, Int32)
Initializes a new instance as a member of the default TerrainCacheGroup.
Public methodStkTerrainServer(String, String, IWebProxy)
Initializes a new instance as a member of the default TerrainCacheGroup, which will request tiles at the maximum available Tile Map Service zoom level.
Public methodStkTerrainServer(String, String, TerrainCacheGroup, IWebProxy)
Initializes a new instance which will request tiles at the maximum available zoom level.
Public methodStkTerrainServer(String, String, Int32, TerrainCacheGroup)
Initializes a new instance.
Public methodStkTerrainServer(String, String, Int32, IWebProxy)
Initializes a new instance as a member of the default TerrainCacheGroup.
Public methodStkTerrainServer(String, String, Int32, TerrainCacheGroup, IWebProxy)
Initializes a new instance.
Top
Properties
  NameDescription
Public propertyBoundingExtent
Gets or sets the smallest rectangular extent that bounds the terrain provided by this terrain provider. The returned extent's edges are expressed in radians.
(Inherited from TerrainProvider.)
Public propertyBoundingExtentNativeUnits
Gets or sets the smallest rectangular extent that bounds the terrain provided by this terrain provider. The returned extent's edges are expressed in the native units of the terrain provider.
(Inherited from TerrainProvider.)
Public propertyCache
Gets the cache for this terrain provider.
(Inherited from QuantizedMeshTerrainProvider.)
Public propertyDefaultInterpolator
Gets or sets the default interpolator to use to interpolate heights when a specific interpolator is not specified in the call to GetHeight(Double, Double) or GetHeightNativeUnits(Double, Double).
(Inherited from QuantizedMeshTerrainProvider.)
Public propertyHeightReference
Gets or sets an enumeration indicating whether the heights returned by the GetHeight(Double, Double) method are relative to the Shape or to the ReferenceSurface.
(Inherited from TerrainProvider.)
Public propertyMaximumLevel
Gets the maximum zoom level.
(Inherited from QuantizedMeshTerrainProvider.)
Public propertyMetadata
Gets the metadata for this tileset.
(Inherited from QuantizedMeshTerrainProvider.)
Public propertyMinimumSampleSpacing
Gets the smallest distance between the successive height samples of the terrain data, in radians. If the return value is 0.0, then the minimum sample spacing is unknown.
(Inherited from QuantizedMeshTerrainProvider.)
Public propertyNativeToMeters
Gets or sets the value to multiply a height in the native units of the terrain provider to convert it to meters.
(Inherited from TerrainProvider.)
Public propertyRadiansToNative
Gets or sets the value to multiply an angle in radians by in order to convert it to the internal units of the terrain provider.
(Inherited from TerrainProvider.)
Public propertyReferenceSurface
Gets or sets the reference surface. The GetHeight(Double, Double) method returns heights relative to this reference surface. If this property is , the heights are relative to the surface of the Shape ellipsoid instead.
(Inherited from TerrainProvider.)
Public propertyShape
Gets or sets the shape on which the longitude and latitude are defined. If ReferenceSurface is , the heights returned by GetHeight(Double, Double) are relative to this ellipsoid as well.
(Inherited from TerrainProvider.)
Public propertyShapeFixedFrame
Gets or sets the reference frame fixed to the Shape in which the longitude and latitude are defined.
(Inherited from TerrainProvider.)
Public propertyTilesetName
Gets the name of the tileset to read.
Public propertyZoomLevel
Gets or sets the zoom level to request tiles at. If the tile is unavailable at this level, the highest level available tile will be used instead.
(Inherited from QuantizedMeshTerrainProvider.)
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodExtentToCoordinateExtent
Gets a QuantizedMeshTileCoordinateExtent which contains a given CartographicExtent.
(Inherited from QuantizedMeshTerrainProvider.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindMostDetailedAvailableTile
Find the most detailed tile that is available and which overlaps the given tile coordinates.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodGetFirstPartials(Double, Double)
Get the partial derivatives of height with respect to the specified longitude and latitude relative to the provider's Shape.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodGetFirstPartials(Double, Double, TerrainInterpolatorQuantizedMeshTerrainTile)
Get the interpolated partial derivatives of height with respect to the specified longitude and latitude relative to the provider's Shape.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodGetGradient

Get the interpolated gradient of height with respect to the terrain at the specified longitude and latitude relative to the provider's Shape. This method produces a vector representing the gradient of height in the ShapeFixedFrame.

Note: The direction for the gradient is defined for use as the outward facing surface normal direction. To obtain the directional derivative for the height (rate of change of height with respect to time), take the negative gradient and dot it with a unit vector along the desired azimuth (change in height with respect to distance), times the speed along that direction in meters/second.

The gradient, as defined above, is parallel to the upward facing terrain surface normal, but its magnitude indicates the rate of change in the height at that location.

(Inherited from TerrainProvider.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetHeight(Double, Double)
Gets the interpolated height of the terrain at the specified longitude and latitude using the default interpolator for this terrain provider.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodGetHeight(Double, Double, TerrainInterpolatorQuantizedMeshTerrainTile) (Inherited from QuantizedMeshTerrainProvider.)
Public methodGetHeightNativeUnits
Gets the interpolated height of the terrain at the specified longitude and latitude.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodGetHeightRelativeToShape
Gets the interpolated height of the terrain at the specified longitude and latitude relative to the provider's Shape. This method takes into account the heights of any reference surfaces.
(Inherited from TerrainProvider.)
Public methodGetHessian

Get the interpolated hessian matrix based on the function of height with respect to the specified longitude and latitude relative to the provider's Shape. This method produces a matrix representing the mixed second order partial derivatives of height in the ShapeFixedFrame.

Note: The direction for the gradient and hessian is defined for use with the directional derivative on the surface. The gradient is defined to be orthogonal to the terrain surface with its surface projection in the direction of the greatest increase in the height. To obtain the second directional derivative for the height (acceleration of height along a particular azimuth), take the negative of the hessian then pre and post multiply it by the velocity vector along the desired azimuth. Then add the negative gradient dotted with the derivative of the velocity vector along the surface.

(Inherited from TerrainProvider.)
Public methodGetLocalMinimumSampleSpacing
Gets the smallest distance between the successive height samples of the terrain data, in radians, at the specified coordinates. If the return value is 0.0, then the minimum sample spacing is unknown.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodGetMesh
Gets a mesh for a specified set of coordinates. This method is not expected to do any caching.
(Overrides QuantizedMeshTerrainProviderGetMesh(Int32, Int32, Int32).)
Public methodGetNormal
Get the normal vector to the terrain surface at the specified location.
(Inherited from TerrainProvider.)
Public methodGetSecondPartials(Double, Double)
Get the second order (mixed) partial derivatives of height with respect to the specified longitude and latitude relative to the provider's Shape.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodGetSecondPartials(Double, Double, TerrainInterpolatorQuantizedMeshTerrainTile)
Get the second order (mixed) partial derivatives of height with respect to the specified longitude and latitude relative to the provider's Shape.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodInGlobalBounds
Returns if the coordinates are in global bounds which is: [-π, π] for longitude and [-π/2, π/2] for latitude.
(Inherited from TerrainProvider.)
Public methodIsTileAvailable
Determines whether a tile with the given tile coordinates is available.
(Inherited from QuantizedMeshTerrainProvider.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodPreloadExtent
Loads the terrain data in a given CartographicExtent into the terrain cache. This method does not return until the terrain data is fully loaded. All terrain data within the extent is loaded into memory, even if doing so would exceed the TerrainCacheGroup'sMaximumSize. Furthermore, the loaded terrain data is locked in memory (meaning it will not be unloaded) until the user calls UnloadExtent(CartographicExtent). This method is safe to call from any thread.
(Inherited from QuantizedMeshTerrainProvider.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUnloadExtent
Unloads the cached terrain data for a given CartographicExtent. This method unloads all cached regions where any part of the region falls within the extent. It does not return until the regions have been unloaded. However, if a region within the extent is being used in another thread while this method is executing, the region may be reloaded immediately after this method unloads it. This method is safe to call from any thread.
(Inherited from QuantizedMeshTerrainProvider.)
Top
See Also