点云数据可视化(potree、Cesium)

点云数据可视化(potree、Cesium)点云数据可视化技术路线对比 potree 和 Cesium 点云数据格式转换 点云数据切片 点云数据坐标系转换 点云数据查看软件 点云数据瓦片属性信息查看 点云数据切片过程中踩过的坑记录 potree

大家好,欢迎来到IT知识分享网。

(最近在研究点云数据可视化的技术路线,中间经历了无尽的痛苦与挣扎,主要是国内这方面的资料太少了!现将近期的学习成果记录如下,期望帮大家避坑!

 

点云数据可视化我主要调研了两个方面的技术方案,一个是用potree加载,一个是用Cesium加载,下面分别介绍。

 1.potree

介绍:Potree 是基于 WebGL 的开源大规模点云渲染器,其由维也纳工业大学计算机图形与算法研究中心开发。

官网链接:http://www.potree.org/

数据切片软件:Releases · potree/PotreeConverter · GitHub

安装教程:2022-02-23 potree详细步骤 – 简书 /PotreeConvert官网

数据切片命令:PotreeConverter.exe point.las -o outputfile

鼠标操作:左键旋转,右键平移

优点:官网上提供了大量的示例,可以查看其源码、运行后的效果并且可以通过交互改变可视化的效果;数据处理的过程也十分简单,下载PotreeConverter输入命令切片后结果就可以直接使用。

2.Cesium 

介绍:Cesium 是一个跨平台、跨浏览器的展示三维地球和地图的 javascript 库,它使用WebGL 来进行硬件加速图形,使用时不需要任何插件支持,但是浏览器必须支持WebGL。

官网链接:Cesium: The Platform for 3D Geospatial

数据切片软件:CesiumLab/python代码

鼠标操作:左键平移,右键缩放

优点:引入文件相对较少,可以在加载点云数据后,加载地理数据并且进行一些相应的操作。

3.点云数据转换

 las格式与laz格式相互转换:CloudCompare——laz与las格式点云相互转换及代码实现_点云侠的博客-CSDN博客

4.点云数据切片 

4.1 Cesium点云切片工具

1.CesiumLab

 

2.potree23dtiles-master

(心是使用PotreeConverter进行点云数据切片,再用python代码读取生成的bin文件和json文件,生成Cesium支持的pnts文件及json)
GitHub – yeyan00/potree23dtiles: potree pointcloud to cesium 3dtiles

 

3.Py3dtiles

py3dtiles是一个CLI工具和一个用Python编写的库,用于创建和操作3DTiles

但这个插件输出坐标系好像默认是4978,不知道可不可以修改输出坐标系,没有深入研究

 

4.2 potree点云切片工具

1.potree官方提供的工具PotreeConverter

5.点云数据坐标系转换

5.1 arcgis(yyds)

可以利用提取Las数据为点云数据添加坐标系,但如果点云数据之前有经纬度坐标系,是不能通过arcgis清除该坐标系的,只能添加不能清除

 

5.2 PCL

之前查阅资料说PCL(Point Cloud Library)也可以实现点云数据坐标系的转换,这个我没试过,大家可以自行尝试

 

6.点云数据查看软件 

6.1 arcgis/arcscene

arcgis查看的是二维,可以通过查看属性获得点云数据的范围或者查看点云数据的坐标

arcscene查看的是三维立体点云,但不能查看到点云的位置信息等

 

6.2 cloudCompare

cloudCompare中可以查看点云,但在这个软件中查看的点云是不带经纬度信息的!!!例如,现在我有一个公园的点云数据,这个点云数据是4326的经纬度投影,那么它的xy值最大值-最小值变化范围很小,z值高程值单位是米,范围变化很大,在arcscene中就可以正确查看到公园点云数据,但在cloudCompare中由于其计算xy变化很小,所以可视化的结果是一条在z轴变化范围比较大的线段。

在cloudCompare中也可以对点云数据进行scale缩放或者裁切等等,但注意处理过的数据导出会丢掉投影信息!!!

7.点云数据瓦片属性信息查看 

b3dm瓦片查看 | cesium中文网

如果你想查看切片的经纬度颜色等信息,也可以在控制台自己打断点

8.点云数据切片过程中踩过的坑记录 

之前在点云数据切片过程中就遇到了上面我举的公园的例子,点云数据拥有经纬度坐标系(换句话说就是极坐标系,xy值是度,z值是米),所以在切片前计算点云盒子boundingBox的时候x、y的范围变化较小,所以导致scale在x、y范围特别小,导致切片数据最后可视化结果是一条线段。那该怎么办呢?我想到的就是给点云数据添加投影坐标系,这样xyz值都转换为米。在这里我是用arcgis的提取Las数据为点云数据添加投影坐标系。这样再对点云数据进行切片,其计算盒子范围就是使用的是投影坐标系的值了。

目前先记录这么多吧,以后如果有需要会再记录~ 希望上述能帮助到大家少踩雷~

 

 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/111195.html

(0)
上一篇 2026-01-26 14:15
下一篇 2026-01-26 14:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信