铯 - 如何计算点击位置周围指定区域的最高点,最低点,平均高度?

时间:2016-11-24 20:48:19

标签: cesium altitude

我已经成功计算了用户点击铯的位置的高度,但我的下一步有点复杂。我想要做的是当用户点击地球上的某个点时,在任何缩放级别,我想计算最高点,最低点和点击位置周围的平均高度(比如1000米的圆形区域)。我该怎么做,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我通过使用双线性插值找到方形区域中的所有LatLng然后使用Cesium的样本地形来查询每个点的高度信息来解决此问题。以下是我遵循的步骤:

  1. 使用google maps API中的球形工具找到点击位置周围的方形区域的角点,如下所示: var northwest = google.maps.geometry.spherical.computeOffset(center, radius * Math.sqrt(2.0), 135); var northeast = google.maps.geometry.spherical.computeOffset(center, radius * Math.sqrt(2.0), 45); var southwest = google.maps.geometry.spherical.computeOffset(center, radius * Math.sqrt(2.0), 225); var southeast = google.maps.geometry.spherical.computeOffset(center, radius * Math.sqrt(2.0), 315);
  2. 然后使用双线性插值来找到方形区域内的点。您可以使用球形工具interpolate方法来避免额外的工作。就像这样:google.maps.geometry.spherical.interpolate(latlng1, latlng2, fraction);
  3. 之后,使用Cesium的样本地形找到上一步计算的所有点的高度信息。
  4. 现在您可以轻松计算最高,最低和平均身高。