cesium加载tileset_cesium入门示例-3dTiles加载

本文介绍了如何使用cesiumlab将DAE模型转换为3dTiles并进行加载,展示了从OSGB数据转换的倾斜摄影场景,以及从Shapefile格式的矢量建筑物数据转换后的展示效果。同时,文中详细说明了如何调整模型位置、高度,以及通过Cesium3DTilestyle设置建筑物颜色,并提供了一种通过监听鼠标事件获取并显示特征信息的方法。
摘要由CSDN通过智能技术生成

数据转换工具采用cesiumlab1.5.17版本,转换后的3dTiles加载显示比较简单,通过Cesium.Cesium3DTileset接口指定url即可,3dTiles文件可与js前端代码放置一起,也可是远程服务器上的地址。如下:

1 //故宫

2 var palaceTileset = newCesium.Cesium3DTileset({3 url: './TestData/output/DAEPalace/tileset.json'

4 //或者url: 'http://ip:port/www/DAEPalace/tileset.json'

5 })6 viewer.scene.primitives.add(palaceTileset);

通过上述代码加载的三维模型位置和高度可能不符合预期,需要进行调整,调整代码如下:

1 var height = -30;  //根据地形设置调整高度2 palaceTileset.readyPromise.then(function(argument) {3 //贴地显示

4 var cartographic =Cesium.Cartographic.fromCartesian(dayantaTileset.boundingSphere.center);5 var surface =Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, cartographic.height);6 var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, cartographic.height +height);7 var translation = Cesium.Cartesian3.subtract(offset, surface, newCesium.Cartesian3());8 palaceTileset.modelMatrix =Cesium.Matrix4.fromTranslation(translation);9 })

或者通过指定经纬高调整模型位置:

1 var longitude = 116.3908443995411;2 var latitude = 39.91600579431837;3 height = 60.38590702090875;4 var heading = 2;5 palaceTileset.readyPromise.then(function(argument) {6 //经纬度、高转笛卡尔坐标

7 var position =Cesium.Cartesian3.fromDegrees(longitude, latitude, height);8 var mat =Cesium.Transforms.eastNorthUpToFixedFrame(position);9 var rotationX =Cesium.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值