使用NGINX发布DEM切片
介绍
我们在使用Cesium时,有时需要使用高程数据,来体现三维场景中地形起伏变化。
这个时候就需要我们自己来发布DEM切片数据。
获取DEM数据
我们可以在地理空间数据云获取开源的DEM数据,当然也可以获取其他的GIS数据
地理空间数据云官网

选择高级检索

选择数据集

查询数据结果如下:(这里以江苏省30米DEM数据为例)

选择自己需要的数据进行下载
处理数据
这里下载的DEM数据为img格式,需要进行处理成tiff影像

使用QGIS处理
载入数据

搜索并找到 GDAL ‣ Raster miscellaneous ‣ Merge 工具。双击以启动它。


处理完成后如图所示:

这里需要注意一下:DEM数据常见的坐标系为EPSG:32650

使用cesiumlab进行地形切片
默认已经安装好cesiumlab,选择地形切片


设置最大处理级别和数据的空间参考系

这里我选择散列文件格式,并指定输出位置,因为后面准备使用NGINX进行静态文件发布

点击确定后就会开始进行切片任务,完成后就可以在发布任务中-》地形发布里面看见刚刚切片好的数据。cesiumlab它集成web服务器的功能,也是可以提供在线访问的,但这里我们需要使用NGINX来处理发布。

NGINX发布切片数据
NGINX是一个高性能的web服务器,这里我们使用它来发布切片数据。详细的NGINX安装教程这里就不放,有需要的可以参考我之前的教程centos7安装NGINX
这里我就放出nginx.conf中的配置
    server {  #3d-tiles
        listen       8087;
        server_name resouce;
        root  C:/data/webdata;  
        autoindex on; 
        location / {  
            add_header Access-Control-Allow-Origin *;
        }
        add_header Cache-Control "no-cache,must-revalidate";
    }
 
浏览器访问http://localhost:8087/3dtiles/jssdem/可以看懂如下图:

cesium加载
加载代码
      viewer.terrainProvider = new Cesium.CesiumTerrainProvider({
        url: "http://localhost:8087/3dtiles/jssdem/"
      });
 
效果如下











