OSGB转Cesium 3DTile并在浏览器中浏览
当前基于Web的三维应用越来越多,这其中基于Cesium的WebGL应用占了绝大部分,同时能在Cesium中加载的B3DM格式的3DTiles几乎已经成为了WebGL的数据标准,如果你手头只有OSGB数据,想把OSGB数据发布成3DTiles,那么OSGBLab这个工具将会是不错的选择。
Step 1 数据准备。
下载OSGBLab(倾斜伴侣) https://pan.baidu.com/s/1ZtoanNs1iHrYi2UkvjYwqA?pwd=1234
打开OSGBLab(倾斜伴侣),点击“OSGB转Cesium 3dtile” 按钮
设置好输入目录,输出目录,同时勾选Draco压缩,点击确定开始转换,几分钟之后s3m数据就转换完成,速度非常快。
下图是转换前后OSGB和Cesium 3Dtiles的大小,原始27.2G,转换后14.1G,这个Draco的压缩率还是很恐怖的。
转换后的目录结构如下图所示:Data目录是存储B3DM数据的目录,CesiumViewer是一个网页三维浏览器。
Step 2 安装nginx。
nginx是一个小型的web服务器,安装体积小,性能强悍,下载地址为:http://nginx.org/en/download.html,选择最新版下载即可,下载后解压即可。打开nginx目录,编辑conf/nginx.conf。找到里面的server节点。修改如下:
server {
listen 80;#端口号
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#设置允许跨域
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
root C:/test/B3DM; #指向发布Cesium 3Dtiles的输出目录
index index.html index.htm;
autoindex on; #开发环境设置on,生产环境设置为off
}
然后启动nginx:打开cmd命令窗口,切换到nginx目录下,输入命令 nginx.exe 或者 start nginx ,回车即可。
Step 3 用浏览器浏览数据。
在Chrome或者Microsoft Edge浏览器中,输入
http://localhost/CesiumViewer/ ,就能看到三维场景展现在浏览器中。
关注微信公众号有更多惊喜!!!