使用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/"
});