Potree 001 Potree介绍
1、Potree是什么
Potree是一种基于WebGL的点云数据可视化解决方案,包含点云数据转化,以及进行可视化的源码。该解决方案的主要优势在于对点云数据进行了多尺度的管理,在数据传输和可视化上都做了优化。它是一套开源的系统,基于Three.js,由奥地利维也纳理工大学的Harvest4D项目贡献。
2、获取Potree源码
Potree的git地址为https://github.com/potree,打开后,如下图所示
目前我们的目的是做一套可部署到本地点云加载显示软件,需要关注potree和PotreeDesktop两个内容。其中potree是核心,使用jsvascript开发,PotreeDesktop使用electron,把Web程序包装成了桌面程序,于是我们就可以使用javascript基于potree开发桌面软件了。
如果从头开始搭建开发环境,肯定会很复杂,例如需要下载部署好Potree环境,需要搭建electron环境。有个比较简单的办法就是,我们把官方的PotreeDesktop部署包下载下来,在此基础上修改扩展即可。
3、获取PotreeDesktop
在potree主页,点击PotreeDesktop,进入该模块的主页面,如下图所示
右侧会有PotreeDesktop的发布包,点击进入,下载最新的部署包(PotreeDesktop_1.8.1_x64_windows.zip)即可。下载后,解压出内容,会发现PotreeDesktop并没有做多少实质性的内容,只是把Potree做好的主页面包成了桌面程序,并把开发桌面使用的环境进行了整理。不过做到这些就足够了,这样就为我们提供了很大的方便,让我们把更多的精力放到了解Potree上。
源码根目录的内容如下图所示。
我们开发的桌面程序,可双击运行PotreeDesktop.bat,运行系统。PotreeDesktop.bat文件用记事本打开,内容如下。
start ./node_modules/electron/dist/electron.exe ./main
意思是启动指定目录下的electron.exe文件,后面跟了一个参数,./main,我感觉这个参数应该指的是根目录下的main.js文件。这个没有仔细研究过,基本上PotreeDesktop为我们搭建好的运行环境不太用修改,直接扩展即可。而实时上,整个系统也是从main.js启动。
双击运行PotreeDesktop.bat,运行系统,弹出的主界面如下图所示
4、PotreeDesktop结构介绍
在根目录下,有几个重要的单文件,main.js、index.html、PotreeDesktop.bat。其中PotreeDesktop.bat我们已经说过了,是系统启动的快捷方式文件,main.js是系统启动后,首先执行的文件。在这个文件里面主要设置了和electron相关的一些内容,例如electron的菜单、系统标题以及加载哪个主页面等。
index.html就是系统启动后,包装显示的主页面,我们开发的内容以及页面,都是通过该页面展示出来,从这个页面开始,就正式进入普通的Web开发了。
除了文件之外,还有几个文件夹,src、node_modules和libs。其中src为PotreeDesktop自己的源码,里面包含desktop.js和desktop.css两个文件。看了下这连两个文件,主要实现了把las文件拖到点云主显示区,并调用转换工具对点云数据进行转换操作,并加载显示的流程,代码很容易看明白。
node_modules目录感觉主要包含了electron和nodejs的一些环境以及依赖项。该模块组织的非常清晰,运行也正常,所以我一直是没有动过该目录下的内容。
libs目录是我们用到的一些js库。包括Potree库、Threejs库以及用到的点云转换可执行程序等。该目录直接按照设置好的使用即可,不用做任何修改。

Potree 001 Potree介绍的更多相关文章
- 附001.kubectl介绍及使用
一 kubectl介绍 1.1 kubectl概要 kubectl控制Kubernetes集群管理器,使用Kubernetes命令行工具kubectl在Kubernetes上部署和管理应用程序.使用k ...
- 001.VNC介绍
一 VNC介绍 VNC 服务是一个自由开源软件,采用RFB通信协议.RFB ("remote 帧缓存 ") 是一个远程图形用户的简单协议,因为它工作在帧缓存级别上,所以它可以应用于 ...
- 001.KVM介绍
KVM介绍可参考: http://liqingbiao.blog.51cto.com/3044896/1740516 http://koumm.blog.51cto.com/703525/128879 ...
- 001——Typescript 介绍 、Typescript 安 装、Typescript 开发工具
一. Typescript 介绍 1. TypeScript 是由微软开发的一款开源的编程语言. 4. TypeScript 是 Javascript 的超级,遵循最新的 ES6.Es5 规范.Typ ...
- 001 UI介绍
UI全称:User Interface,即用户界面 UI的职责:负责人机之间的交互,它需要将关键信息,操作逻辑等展示给用户 UI在游戏中承担的职责: 1.游戏美术风格的重要组成部分 2.承担着重要的美 ...
- HTML 001 入门介绍
HTML 教程- (HTML5 标准) 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. 您可以使用 HTML 来建立自己的 ...
- 001.OpenShift介绍
一 OpenShift特性 1.1 OpenShift概述 Red Hat OpenShijft Container Platform (OpenShift)是一个容器应用程序平台,它为开发人员和IT ...
- 附002.Minikube介绍及使用
一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具.Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kuber ...
- simtrace之探秘SIM卡中的世界
0×00 关于SIM卡 众所周知SIM卡是一张插在手机上的小卡,其全称为Subscriber Identity Module 客户识别模块.不过,这个世界上并没有多少人知道SIM卡中的操作系统是基于j ...
- 开源网站管理工具—Altman
0×00前言 之前用过几款webshell工具,有B/C的也有C/S的,有的只能用于php或者aspx,当然个人用得最多.觉得用得舒服的也只有菜刀了. 但是毕竟菜刀是好几年之前的产物了,而且也已经停止 ...
随机推荐
- 无法创建“Sunlight.Silverlight.Dcs.Web.PartsSupplier”类型的常量值。此上下文仅支持基元类型或枚举类型问题
今天写代码遇到一个问题, const string SCODE = "123"; var suppliers = PartsSuppli ...
- 微信电脑版DAT文件转图片工具
一键批量将微信聊天接受到的加密存储DAT图片文件转化为普通图片. 通过查看转化后的图片,您可以: (1)清理无用的历史图片,节省电脑硬盘存储空间. (2)恢复寻找重要照片资料. 下载地址:点此下载 微 ...
- vue实现功能 单选 取消单选 全选 取消全选
vue实现功能 单选 取消单选 全选 取消全选 代码部分 <template> <div class=""> <h1>全选框</h1> ...
- Hive 自定义UDF操作步骤
Hive 自定义UDF操作步骤 需要自定义类,然后继承UDF 然后在方法envluate()方法里面实现具体的业务逻辑,打包上传到linux(以免出错打包成RunningJar) 一.创建临时函数 ( ...
- Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project StuMavenDemo1: There are test failures.
Maven使用Test的时候出现 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test ( ...
- .net core-利用PdfSharpCore和SkiaSharp.QrCode 添加PDF二维码页眉
前序 由于去年的一个项目需要在PDF 添加公司二维码 ,当时在网上找了很多操作PDF方案,第一种Aspose.PDF,很遗憾 Aspose.PDF 有添加版权的背景还是页脚我忘记了,不适合公司项目,最 ...
- 题解 SP24 FCTRL2 - Small factorials
双倍经验. 题意 给\(t\) 组数据,求每组数据中\(n\) 的阶乘. 思路 \(n≤100\) . \(100!\) 肯定爆int128,所以高精呗. 那么就是一个阶乘的板子了,应该不难的吧. 具 ...
- python常用库总结
图片处理相关 # opencvy pip install opencv-python pip install opencv-contrib-python pip install matplotlib ...
- 「浙江理工大学ACM入队200题系列」问题 L: 零基础学C/C++85——完美数
本题是浙江理工大学ACM入队200题第八套中的L题 我们先来看一下这题的题面. 题面 题目描述 任何一个自然数的约数中都有1和它本身,我们把小于它本身的因数叫做这个自然数的真约数. 如6的所有真约数是 ...
- 高性能MySQL(第4版) 第一章 MySQL架构 读书笔记
这本书去年11月出的,今年中文版也出了,并且直接上了微信读书,之后有空就读一读,分享下读书笔记~ 原文内容比较充实,建议有时间可以读一下原文. 第一章主要是个概览. MySQL的逻辑架构 默认情况下, ...