博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ceisum加载shp格式的城市白模建筑数据
阅读量:2066 次
发布时间:2019-04-29

本文共 1602 字,大约阅读时间需要 5 分钟。

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)});});

 

 

转载地址:http://yjumf.baihongyu.com/

你可能感兴趣的文章
为容器时代设计的高级 eBPF 内核特性(FOSDEM, 2021)
查看>>
Loki系列文章
查看>>
字节跳动面试官问:微服务下如何保证分布式事务的最终一致性?
查看>>
使用 Prometheus 监控 WireGuard
查看>>
BPF 可移植性和 CO-RE(一次编译,到处运行)
查看>>
万字长文:彻底搞懂容器镜像构建
查看>>
GitHub 又又又多了一个新主题 —— Dimmed Dark 主题!
查看>>
cgroup 挂载失败是什么鬼???
查看>>
深入 kubernetes API 的源码实现
查看>>
真香!使用 Goland 网页版实现真正的云开发
查看>>
又超时了!Etcd分布式锁你用明白了吗?
查看>>
工程师应该怎么学习
查看>>
记一次 Kubernetes 机器内核问题排查
查看>>
记一次 Kubernetes 中严重的安全问题
查看>>
在业务系统中寻找技术含量
查看>>
拥抱云原生,基于 eBPF 技术实现 Serverless 节点访问 K8S Service
查看>>
有了 Docker 就不用再深入学习 MySQL 了?
查看>>
持续监控集群中的镜像漏洞
查看>>
终于可以像使用 Docker 一样丝滑地使用 Containerd 了!
查看>>
张磊大神的《深入剖析Kubernetes》终于出书啦!
查看>>