楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块

数据下载

​ 使用工具QGIS对楼块进行获取下载,生成 .shp文件备用

​ 工具下载地址:https://www.qgis.org/en/site/forusers/download.html
楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第1张图片

下载安装完毕,设置中文

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第2张图片

新建链接 获取楼块 保存.shp文件

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第3张图片

输入名称以及地图类别URL,这里使用OCM:http://a.tile.openstreetmap.org/{z}/{x}/{y}.png

更多地图类别及安装QGIS 操作可参考:https://blog.csdn.net/sinat_36369024/article/details/97263602

双击新建的链接,如下图创建成功

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第4张图片

收缩放到需要获取楼块的地区,安装插件QuickOsm

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第5张图片
楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第6张图片

导出building为矢量图层

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第7张图片

转换.shp文件为3dtiles

下载工具cesiumLab 下载地址:https://cesiumlab.com/

下载后完成注册

点击数据服务

点击适量楼块切片等,自定义设置,字段含义参考:https://cesiumlab.com/#/help
楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第8张图片
(补充)如果你有地形数据信息,就可以点击地形高程,这样就可以让楼块与地形切合,不会被覆盖,地形数据就是,在地形获取制作的地形瓦片,参考文章https://blog.csdn.net/LBY_XK/article/details/121117845
楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第9张图片

点击分发服务,可以看到自己创建的服务,复制链接或者点击图标进行预览

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第10张图片

预览效果


(补充)添加地形数据后的效果,会与地面有距离,这就是地形的高度,添加地形后就能与楼块契合,还原真是场景

保存的本地文件

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第11张图片

IIS服务器搭建及发布3dtiles

本地搜索IIS打开,本地默认已存在一个网站,网站为启动状态,点击浏览win10出现这个界面说明网站可使用

推荐参考:https://blog.csdn.net/caozl1132/article/details/96288552
楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第12张图片
楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第13张图片

直接在此网站新添加应用程序

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第14张图片

配置响应头以及MIME

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第15张图片

配置以下内容,解决可能存在的跨域问题

Access-Control-Allow-Headers Content-Type,X-Requested-With,token

Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS

Access-Control-Allow-Origin *

Access-Control-Request-Methods GET,POST,PUT,DELETE,OPTIONS

X-Powered-By ASP.NET

必须添加.b3dm文件类型,否则网络无法获取该类型文件

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第16张图片

点击浏览此文件,浏览器能够显示数据,说明构建发布完毕

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第17张图片

cesium加载3dtiles

地图初始化,通过相对应的工造函数引入

var palaceTileset = new Cesium.Cesium3DTileset({
                            url: 'http://localhost/3dbuild/tileset.json'//地址为刚刚浏览的tileset.json网络地址
                        })
cesiumView.scene.primitives.add(palaceTileset);

移动地图到自己设置的楼块地区,如果显示预览效果时候的楼块说明加载成功。

楼块获取+楼块切片3dtiles+IIS服务器发布+cesium加载楼块_第18张图片

你可能感兴趣的:(3d,服务器)