mapbox-gl加载的地形(高程)数据,是将dem数据,以rgb数值的形式标示,具体的数值计算参见官网的说明:“png or webp file extension must be used. height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)”,所以,制作mapbox-gl的地形切片数据,首先要将高程数据转换成terrain RGB的格式,之后再进行数据的切片。分享github两个开源的实现方式,代码是python的。
分享内容:
1、https://github.com/geostarters/dem2mapbox
将高程数据,制作成
terrain RGB
数据格式,不过这个里边,并没有进行地图切片;调用了gdal的类库,使用gdal相关的api进行开发;
生成地图切片,需要做进一步开发;
2、https://github.com/watergis/dem2terrainrgb将高程数据转换成
terrain RGB
数据格式,并进行了地图的切片操作;使用python调用命令行的方式进行生成,分几步执行:
gdalwarp
填充高程数据没有值的数据;
rio rgbify
将高程数据转换成rgb的颜色值;
gdal2tiles
将颜色值的数据,进行地图切片操作;
在上述的使用中,都需要安装python的gdal类库,第2种方式,还需要安装rasterio、rio-rgbify等类库,才能够进行使用,如果在python中执行不方便,可以将命令行单独拿出来进行执行。