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/ ,就能看到三维场景展现在浏览器中。

关注微信公众号有更多惊喜!!!

相关