Potree 001 Potree介紹

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章