首页 > 其他分享 >Potree 001 Potree介绍

Potree 001 Potree介绍

时间:2022-12-30 09:48:24浏览次数:60  
标签:文件 PotreeDesktop electron 介绍 js 001 Potree main

1、Potree是什么

Potree是一种基于WebGL的点云数据可视化解决方案,包含点云数据转化,以及进行可视化的源码。该解决方案的主要优势在于对点云数据进行了多尺度的管理,在数据传输和可视化上都做了优化。它是一套开源的系统,基于Three.js,由奥地利维也纳理工大学的Harvest4D项目贡献。

2、获取Potree源码

Potree的git地址为https://github.com/potree,打开后,如下图所示截图.png

目前我们的目的是做一套可部署到本地点云加载显示软件,需要关注potree和PotreeDesktop两个内容。其中potree是核心,使用jsvascript开发,PotreeDesktop使用electron,把Web程序包装成了桌面程序,于是我们就可以使用javascript基于potree开发桌面软件了。

如果从头开始搭建开发环境,肯定会很复杂,例如需要下载部署好Potree环境,需要搭建electron环境。有个比较简单的办法就是,我们把官方的PotreeDesktop部署包下载下来,在此基础上修改扩展即可。

3、获取PotreeDesktop

在potree主页,点击PotreeDesktop,进入该模块的主页面,如下图所示截图.png

右侧会有PotreeDesktop的发布包,点击进入,下载最新的部署包(PotreeDesktop_1.8.1_x64_windows.zip)即可。下载后,解压出内容,会发现PotreeDesktop并没有做多少实质性的内容,只是把Potree做好的主页面包成了桌面程序,并把开发桌面使用的环境进行了整理。不过做到这些就足够了,这样就为我们提供了很大的方便,让我们把更多的精力放到了解Potree上。

源码根目录的内容如下图所示。截图.png

我们开发的桌面程序,可双击运行PotreeDesktop.bat,运行系统。PotreeDesktop.bat文件用记事本打开,内容如下。

start ./node_modules/electron/dist/electron.exe ./main

意思是启动指定目录下的electron.exe文件,后面跟了一个参数,./main,我感觉这个参数应该指的是根目录下的main.js文件。这个没有仔细研究过,基本上PotreeDesktop为我们搭建好的运行环境不太用修改,直接扩展即可。而实时上,整个系统也是从main.js启动。

双击运行PotreeDesktop.bat,运行系统,弹出的主界面如下图所示截图.png

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的一些环境以及依赖项。该模块组织的非常清晰,运行也正常,所以我一直是没有动过该目录下的内容。截图.png

libs目录是我们用到的一些js库。包括Potree库、Threejs库以及用到的点云转换可执行程序等。该目录直接按照设置好的使用即可,不用做任何修改。

截图.png

标签:文件,PotreeDesktop,electron,介绍,js,001,Potree,main
From: https://www.cnblogs.com/mytudousi/p/17014074.html

相关文章

  • oceanbase云数据库的介绍
    一.导言OceanBase云数据库是由蚂蚁集团开发的分布式数据库。在发布OceanBase3.0的同时,OceanBase宣布正式开源,并成立了OceanBase开源社区。社区官网同步上线,300万行核心代......
  • 基于HTML美食餐饮文化项目的设计与实现 HTML+CSS上海美食介绍网页(8页)
    网页介绍、甜品蛋糕、地方美食小吃文化、餐饮文化、等网站的设计与制作。​二、网站描述>​美食主题网站主要对各种美食进行展示,让浏览者清晰地了解到各种美食的详细信息,便......
  • Anaconda之conda常用命令介绍
    anaconda用法:查看已经安装的包: piplist或者condalist 安装和更新:pipinstallrequestspipinstallrequests--upgrade或者:condainstallrequ......
  • 操作系统实战45讲0001
    你好,我是彭东,网名LMOS,欢迎加入我的专栏,跟我一起开启操作系统的修炼之路。先来介绍一下我自己。我是Intel傲腾项目开发者之一,也是《深度探索嵌入式操作系统》这本书的作者......
  • 车载模块——毫米波雷达介绍
    1.毫米波雷达的定义毫米波雷达是工作在毫米波频段的雷达,如图2-21所示。毫米波是指长度为1~10mm的电磁波,对应的频率范围为30~300GHz。毫米波雷达是ADAS核心传感器,主要用于自......
  • 车载模块——激光雷达介绍
    1.激光雷达的定义激光雷达是工作在光波频段的雷达,它利用光波频段的电磁波先向目标发射探测信号,然后将其接收到的同波信号与发射信号相比较,从而获得目标的位置(距离、方位......
  • 用Python解析XML的几种常见方法的介绍
    一、简介XML(eXtensibleMarkupLanguage)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用。它是web发展到一定......
  • Zabbix 6 系列学习 10:原生高可用介绍及使用
    安装篇的最后一篇了,Zabbix在6.0版本最大的变化就是提出了原生高可用功能,在之前的版本可能会通过其他第三方的方式来进行高可用,操作难度较大,本文将会对高可以展开讲解。须......
  • 【OSTEP】进程调度: 介绍 | Convoy护航效应 | 最短任务优先(SJF) | 最短完成时间优先(
    ......
  • 终极.NET混淆器丨.NET Reactor产品介绍
    无与伦比的.NET代码保护系统,可完全阻止任何人反编译您的代码。  产品优势01、混淆技术.NETReactor通过向.NET程序集添加不同的保护......