赞
踩
在cesium加载并显示点云或者倾斜模型之前,需要将不同格式的数据转为3dtiles,具体参考倾斜、点云转3dtiles(osgb、las转3dtiles)切片
转换完成后就可以写代码将其加载到cesium地球上。
- //定位到该地点
- viewer.camera.flyTo({
- destination : Cesium.Cartesian3.fromDegrees(112.96906,34.70736,5000.0)
- });
-
- qingxie = new Cesium.Cesium3DTileset({
- url: "./models/tileset.json",
- });
-
- viewer.scene.primitives.add(qingxie);
有时候加载完成并不能贴地显示,或者贴地显示的具体位置和底图位置不一致,需要对模型位置进行调整。
- qingxie.readyPromise.then(function(qingxie) {
- //高度偏差,向上是正数,向下是负数
- var heightOffset = -210;
- //计算tileset的绑定范围
- var boundingSphere = songlingqingxie1.boundingSphere;
- //计算中心点位置
- var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
- //计算中心点位置的地表坐标
- var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
- //偏移后的坐标
- var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude+0.000015, cartographic.latitude-0.000015, heightOffset);
- var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
- //tileset.modelMatrix转换
- qingxie.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
- });
最后模型成功准确显示在地图上。
点云的代码基本一样。
- dianyun =new Cesium.Cesium3DTileset({
- url: "./models/ding/tileset.json",
- });
- viewer.scene.primitives.add(dianyun);
-
- dianyun.readyPromise.then(function(dianyun) {
- //高度偏差,向上是正数,向下是负数
- var heightOffset = -210;
- //计算tileset的绑定范围
- var boundingSphere = songlingdianyun1.boundingSphere;
- //计算中心点位置
- var cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
- //计算中心点位置的地表坐标
- var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
- //偏移后的坐标
- var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset);
- var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
- //tileset.modelMatrix转换
- dianyun.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
- });
显示如下。点云是自己用python按高程进行渲染的,同样需要进行渲染的可以参考博客(点云按照高程进行渲染(可自定义颜色——python)内附RGB0-1间取值对应表)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。