当前位置: 首页 > news >正文

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对模型文件进行格式转换。

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
即可得到模型

转换后的文件结构

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MySQL_JDBC
  • 【git】切换到远程其他分支
  • Flask 框架 redirect() url_for()
  • python键盘操作工具:ctypes、pyautogui
  • Ajax学习笔记
  • ARM功耗管理之功耗和安全
  • 51单片机嵌入式开发:16、STC89C52RC 嵌入式之 步进电机28BYJ48、四拍八拍操作
  • 下拉菜单过渡
  • 算法017:二分查找
  • 【MySQL-17】存储过程-[变量篇]详解-(系统变量&用户定义变量&局部变量)
  • 基于chrome插件的企业应用
  • Spark内核的设计原理
  • 1.1 OpenCV __ Introduction
  • 【Drone】drone编译web端 防墙策略 | 如何在被墙的状态drone顺利编译npm
  • Air780EP-AT开发-HTTP应用指南
  • .pyc 想到的一些问题
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【个人向】《HTTP图解》阅后小结
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • CSS魔法堂:Absolute Positioning就这个样
  • Cumulo 的 ClojureScript 模块已经成型
  • Django 博客开发教程 8 - 博客文章详情页
  • django开发-定时任务的使用
  • JavaScript异步流程控制的前世今生
  • js算法-归并排序(merge_sort)
  • Logstash 参考指南(目录)
  • Making An Indicator With Pure CSS
  • nginx 配置多 域名 + 多 https
  • Redis 中的布隆过滤器
  • spring-boot List转Page
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • vue的全局变量和全局拦截请求器
  • XML已死 ?
  • 从0实现一个tiny react(三)生命周期
  • 分布式熔断降级平台aegis
  • 简单实现一个textarea自适应高度
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 延迟脚本的方式
  • 由插件封装引出的一丢丢思考
  • # Maven错误Error executing Maven
  • # 计算机视觉入门
  • #{}和${}的区别?
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (12)Hive调优——count distinct去重优化
  • (a /b)*c的值
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (三) diretfbrc详解
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (算法)求1到1亿间的质数或素数
  • (一)SvelteKit教程:hello world