Hi.
With Cesium 1.33,
I'd like to get terrain height of the point(longitude, latitude) from CesiumTerrainProvider.
I try to write a program but it does not work.
The program is as follows:
==============================================
var viewer = new Cesium.Viewer('cesiumContainer');
var terrainProvider = new Cesium.CesiumTerrainProvider({
url : '
https://assets.agi.com/stk-terrain/v1/tilesets/world/tiles'
});
viewer.terrainProvider = terrainProvider;
setTimeout(getHeight, 1000);
function getHeight() {
// As an example,
// longitude and latitude are set to 140.08531 and 36.103543.
var lon = 140.08531;
var lat = 36.103543;
var location = Cesium.Cartographic.fromDegrees(lon, lat, 0);
var maxLevel = terrainProvider.availability.computeMaximumLevelAtPosition(location);
var scheme = terrainProvider.tilingScheme;
var tileXY = scheme.positionToTileXY(location, maxLevel);
var tileRect = scheme.tileXYToRectangle(tileXY.x, tileXY.y, maxLevel);
var terrainPromise = terrainProvider.requestTileGeometry(tileXY.x, tileXY.y, maxLevel);
terrainPromise.then(function(dt) {
var height = dt.interpolateHeight(tileRect, location.longitude , location.latitude);
// ★ Correct value is about 25.3 meters.
// ★ However, console shows 68.71596342427405.
console.log("height :" + height);
});
}
==============================================
Please correct me if I'm wrong.
Thanks in advance