Potree在web端显示大型点云模型文件

一、克隆项目代码(准备好上网工具,得先有node.js npm 环境)

git clone https://github.com/potree/potree.git

二、依赖安装(换淘宝镜像能快一些)

cd potree
npm install

三、运行

npm start

四、使用样例

打开浏览器,输入http://localhost:1234/,即可看到 Potree 的界面。

 打开任意examples下的html查看模型

五、换成自己的点云模型

将地址中的cloud.js换成自己模型的地址。

// Load and add point cloud to scenePotree.loadPointCloud("http://5.9.65.151/mschuetz/potree/resources/pointclouds/helimap/360/MLS_drive1/cloud.js", "MLS", e => {let scene = viewer.scene;let pointcloud = e.pointcloud;let material = pointcloud.material;material.size = 0.5;material.minSize = 2.0;material.pointSizeType = Potree.PointSizeType.ADAPTIVE;material.shape = Potree.PointShape.SQUARE;material.activeAttributeName = "rgba";scene.addPointCloud(pointcloud);viewer.scene.view.setView([2652381.103, 1249049.447, 411.636],[2652364.407, 1249077.205, 399.696],);run();});async function run(){proj4.defs("WGS84", "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs");proj4.defs("pointcloud", viewer.getProjection());let transform = proj4("WGS84", "pointcloud");let params = {transform: transform};

Potree加载的点云格式为OCTree格式的数据结构,无法直接加载格式为LAS,LCD,PLY等格式的点云文件,所以我们需要通过PotreeConverter来将普通的点云格式文件转换为OCtree格式的点云文件。去github下载PotreeConverter对模型文件进行格式转换,只能转换las格式的文件。

https://github.com/potree/PotreeConverter
1.7版本可用

win系统下载目录执行如下样例指令

PotreeConverter.exe D:\\test.las -o D:\\output

linux系统,可加上版本新版本不好用

git clone https://github.com/potree/PotreeConverter.git
cd PotreeConverter
mkdir build && cd build
cmake ..
make完成以后执行
PotreeConverter /home/yr/test.las -o /home/yr/output
即可得到模型

转换后的文件结构

换成自己的点云后的效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/384103.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python黑马笔记

运算符: 算术运算符: 加 - 减 * 乘 / 除 // 整除 % 取余 ** 求平方 除法计算得出的结果都是小数 赋值运算符: 标准赋值: 复合赋值: 、 - 、 * 、 / 、// 、 ** 字符串: 字符串拓展内容&#xf…

Vue 3 实现左侧列表点击跳转滚动到右侧对应区域的功能

使用 Vue 3 实现左侧列表点击跳转到右侧对应区域的功能 1. 引言 在这篇博客中,我们将展示如何使用 Vue 3 实现一个简单的页面布局,其中左侧是一个列表,点击列表项时,右侧会平滑滚动到对应的内容区域。这种布局在很多应用场景中都…

力扣高频SQL 50 题(基础版)第三题

文章目录 力扣高频SQL 50 题(基础版)第三题1148.文章浏览题目说明思路分析实现过程准备数据实现方式结果截图 力扣高频SQL 50 题(基础版)第三题 1148.文章浏览 题目说明 Views 表: ---------------------- | Colu…

Internet Download Manager(IDM)2024中文版本有哪些新功能?6.42版本功能介绍

1. Internet Download Manager(IDM)是一款功能强大的下载管理器,支持所有流行的浏览器,并可提升下载速度高达5倍。 2. IDM具有智能下载逻辑加速器,可以设置文件下载优先级、分块下载等,提高下载效率。 IDM…

数据结构(5.3_4)——线索二叉树的概念

普通二叉树找某结点前驱和后继的方法 中序线索二叉树 n个结点的二叉树,有n1个空链域!可用来记录前驱,后继的信息 中序线索二叉树的存储结构 //线索二叉树结点 typedef struct ThreadNode {ElemType data;struct BiTNode* lchild, * rchild;int ltag,…

Facebook的隐私之战:用户数据保护的挑战与未来

在数字化时代,隐私问题成为了公众关注的焦点,而作为全球最大的社交网络平台之一,Facebook(现已更名为Meta)在用户数据保护方面面临着巨大的挑战。从数据泄露到隐私政策的变化,Facebook的隐私之战不仅关乎其…

前端三大主流框架Vue React Angular有何不同?

前端主流框架,Vue React Angular,大家可能都经常在使用,Vue React,国内用的较多,Angualr相对用的少一点。但是大家有思考过这三大框架的不同吗? 一、项目的选型上 中小型项目:Vue2、React居多…

规范:前后端接口规范

1、前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然…

SpringMVC基础

SpringMVC ssm:mybatisSpringSpringMVC MVC三层架构 1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范 是将业务逻辑、数据、显示分离…

应用层自定义协议以及序列化和反序列化

文章目录 应用层自定义协议以及序列化和反序列化1、应用层自定义协议1.1、应用层1.2、协议 2、序列化和反序列化3、TCP 为什么支持全双工4、jsoncpp基础4.1、序列化4.2、反序列化 5、实现网络版计算器6、手写序列化和反序列化 应用层自定义协议以及序列化和反序列化 1、应用层…

Anconda 快速常用命令简洁版

目的:简单清楚的使用基本的conda 命令 可能需求 查看项目中的虚拟环境及依赖是否满足需求操作新环境来满足项目或者论文的实现 Anconda 常用命令 conda 查看基础命令1. 进入Anaconda 环境2. 查看版本3.查看有哪些虚拟环境4.激活虚拟环境5. 进入虚拟环境查看6. 退出…

基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(二)|| 堆 / 栈

堆和栈 1. 堆 堆就是空闲的一块内存,可以通过malloc申请一小块内存,用完之后使用再free释放回去。管理堆需要用到链表操作。 比如需要分配100字节,实际所占108字节,因为为了方便后期的free,这一小块需要有个头部记录…

IDEA缓存和索引

IDEA缓存和索引 —2020年06月10日 IntelliJ IDEA首次加载项目的时候。都会创建索引,而创建索引的时间根项目的文件多少成正比。 IntelliJ IDEA的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度。 某些特殊情况下&#xf…

Go语言入门

目录 前言——碎碎念 环境安装 配置环境变量 变量的定义 数据类型 数字型 字符与字符串 数据类型转换 运算符 算术运算符 关系运算符 逻辑运算符 位运算符(二进制) 赋值运算符 其他运算符(指针) 键盘的输入与输出…

使用 Python创建照片文件复制和压缩工具

在这篇博客中,我们将探索如何使用 wxPython 创建一个 GUI 工具,用于选择文件夹中的照片文件、显示预览、选择并复制文件到指定目录,以及将选中的照片压缩到一个 ZIP 文件中。这个工具不仅功能强大,而且提供了用户友好的界面。 C:\…

3.多租户调研1

https://gitee.com/xiaoqiangBUG/hello-ruoyi-cloud.git 1.mybatis plus 的插件 TenantLineInnerInterceptor 是 MyBatis Plus 框架中的一个拦截器,它用于实现多租户系统的数据隔离。在多租户应用中,不同的租户应该只能访问到自己的数据,而…

时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法(CPO)优化VMD二次分解

时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法(CPO)优化VMD二次分解 目录 时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法(CPO)优化VMD二次分解效果一览基本介绍程序设计参考资料 效果一览…

数据结构经典测试题4

1. #include <stdio.h> int main() { char *str[3] {"stra", "strb", "strc"}; char *p str[0]; int i 0; while(i < 3) { printf("%s ",p); i; } return 0; }上述代码运行结果是什么&#xff1f; A: stra strb strc B: s…

RFID温度标签: 冷链管理迈向智能化、精准化的新时代。

在现代商业和社会发展中&#xff0c;冷链物流扮演着至关重要的角色。它不仅涉及食品、药品等敏感物资的安全运输&#xff0c;更是保障公众健康与福祉的重要环节。随着人们对生鲜冷链需求的日益增长&#xff0c;冷链物流行业也迎来了以物联网技术为主导发展新阶段。我国冷链物流…

嵌入式中什么是三次握手

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c;点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 在网络数据传输中&#xf…