【量算分析工具-获取高程】GeoServer改造Springboot番外系列八
【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客
【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客
【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客
【量算分析工具-方位角】GeoServer改造Springboot番外系列六-CSDN博客
【量算分析工具-坡度】GeoServer改造Springboot番外系列七-CSDN博客
【量算分析工具-获取高程】GeoServer改造Springboot番外系列八-CSDN博客
【量算分析工具-贴地距离】GeoServer改造Springboot番外系列九-CSDN博客
【量算分析工具-贴地面积】GeoServer改造Springboot番外系列十-CSDN博客
Mapbox Terrain-RGB
Mapbox Terrain-RGB是Mapbox提供的栅格图块,包含以栅格PNG图块编码的全球高程数据作为颜色值,可以解码为以米为单位的原始高度。
地图框Terrain-DEM平铺包含Terrain-RGB平铺。Terrain-RGB图块包括使用每个颜色通道作为base-256编号系统中的位置进行编码的高程数据。这种方法允许16,777,216个唯一值,这些值可以映射到0.1米的高度增量,从而实现制图和3D应用所需的垂直精度。
将像素值解码为高度值:
height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)
步骤
通过terrain-rgb-png瓦片数据,根据经纬度获取高程数值的大体思路如下:
1、根据经纬度坐标获取对应的瓦片xyz编号;
2、根据瓦片编号获取对应图片;
3、通过对应图片来提取高程数据;
4、然后经纬度坐标转换成像素坐标;
5、最后根据像素坐标获取到高程数值。
1、我们首先根据坐标获取瓦片,此代码还可以根据多个点获取瓦片覆盖的范围,代码如下:
/*** 计算给定点集覆盖的瓦片范围** @param points 多边形点位集合* @param zoom 缩放等级* @return 包含最小的x、y瓦片编号和最大的x、y瓦片编号的数组*/public static int[] calculateTileRange(List<double[]> points, int zoom) {// 初始化瓦片范围int maxX = Integer.MIN_VALUE;