ceisum加载shp格式的城市白模建筑数据

10 篇文章 1 订阅
10 篇文章 0 订阅

1、利用cesiumLab将shp转换为3dtiles

2、选择一个输入文件。系统自动会读取输入数据里的信息,例 如字段列表,投影信息等。否则会列出数据的所有字段。如果文件里不包含投影,那么需要选择投影信息。

输入文件:支持 shp,mif,kml 等各种 gdal 支持的格式

中文编码: 默认支持的字段中文编码为 utf8,对于一些国产的 shp 数据,中文可能是 GBK,如果在 cesium 点击查看属性的时候发现乱码,请按 GBK 尝试。

3、建筑高度: 如果文件中包含高度字段,请选

后面的第二个框表示高度比例,和字段值相乘。比如说 shp 没有高度,只有楼层,那么第二个值设置为 3 米可以模拟一下不同高度。 如果文件中不包含高度字段,请选择

字段列表: 选择矢量文件后,会自动列出。

是否储存:勾选后保存到 3dtiles 中。

名称小写:勾选后字段名变小,比如 Height 在 3dtiles 中存为 height

值转数字:比如这里的 Height 字段,类型是 String(字符串),但是实际存 的是高度,那么勾选后,3dtiles 中将保存数值类型,数值类型我们可以在设置 3dtiles 样式的时候使用。

高程文件: 可选的操作,如果对应的 shp 有地形高程文件,那么选择后,可以处理为 3dtiles 的时候自动附加地表高程。 这里注意,国内的 shp 一般都是加偏的,但是 dem 都用 srtm 等都是未加偏 的,用户最好自己保证数据是否匹配。

筛选阈值: 如果矢量 feature 的大小超过筛选阈值 * 块大小,那么该 feature 在当前块中可见。

误差倍率: 调节保存到 tileset.json中的 gemetricError。

4、转换完成后,生成如下格式文件:

5、在服务器上进行发布,到上面的目录。在cesium加载如下代码。

原生cesium采用如下加载方式

var longitude = 113.3061993318322;
var latitude = 22.97302468714043;
var height = -1.1406325468715177e-9;
var heading = 0;
var tileset = new Cesium.Cesium3DTileset({
    url: 'http://localhost:9002/api/folder/662fee081d3f4b34b72d629d536b7336/tileset.json'
});
viewer.scene.primitives.add(tileset);
tileset.readyPromise.then(function(argument) {
    var position = Cesium.Cartesian3.fromDegrees(longitude, latitude, height);
    var mat = Cesium.Transforms.eastNorthUpToFixedFrame(position);
    var rotationX = Cesium.Matrix4.fromRotationTranslation(Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(heading)));
    Cesium.Matrix4.multiply(mat, rotationX, mat);
    tileset._root.transform = mat;
    viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height + 1000)});
});
 
原文链接:https://blog.csdn.net/dyxcome/article/details/86532597

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值