1. 程式人生 > 其它 >基於Web的CAD一張圖協同線上製圖更新輕量級解決方案[示例已開源]

基於Web的CAD一張圖協同線上製圖更新輕量級解決方案[示例已開源]

背景

之前相關的博文中介紹瞭如果在Web網頁端展示CAD圖形(唯傑地圖雲端圖紙管理平臺 https://vjmap.com/app/cloud),有不少朋友問,能不能實現一個協同的功能,實現不同部門不同專業間“一張圖協同”,解決目前Web端CAD檢視圖紙更新不及時不同步的痛點!

需求分析

需求舉例如下:如下圖所示,圖紙四屬於一張圖,此圖由不同部門的圖形組合而成【圖紙一(圖層1)、圖紙一(圖層3)、圖紙二(圖層2)、圖紙三(圖層3)】, 當圖紙一、圖紙二、圖紙三有更新時,圖形四應及時更新至最新版本,保證檢視一張圖圖紙四時,永遠是最新的圖形版本。

要想實現上面的功能,涉及到版本控制、許可權控制、圖形合併等相關功能。

實現原理介紹

一張圖協同圖形是由不同的部分的子圖形中的相關圖層組合而成。實現圖形的組成檢視有兩種方式。

WMS服務組合圖形

Web 地圖服務 (WMS) 是用於在 Web 上顯示 GIS 資料的 最廣泛使用和最簡單的形式,他能將不同的圖形瓦片根據座標疊加對應到一起。此方式是通過WMS方式,把要疊加顯示的圖通過WMS疊加到一起,把疊加後的瓦片資料返回給前端。

合併CAD圖形建立協同圖形

此方式是通過組合的引數,在後臺根據引數把不同的CAD圖合成一個新的組合圖形。看查一張圖時,檢視的是組合後的圖形。

兩者的優缺點比較如下:

WMS服務組合圖形: 疊加顯示過程中速度快;組合圖形太多時效率低;後期查詢資料時不方便(涉及到多個圖查詢)

合併CAD圖形建立協同圖形: 疊加顯示過程速度較慢(在後臺要重新建立新圖形); 建立完成後和組圖圖形多少沒關係了;後期查詢方便

 

結論

在實時疊加展示的時候,採用WMS服務組合圖形,引數選擇完成,真正在建立一張圖協同圖形時,採用合併CAD圖形建立協同圖形

 

實現步驟

1、上傳基礎圖形

開啟 (唯傑地圖雲端圖紙管理平臺 https://vjmap.com/app/cloud), 先上傳基礎圖形。

需要注意的是,要想實現圖形疊加組合到一起,應確保上傳的圖形的範圍是同一個座標系範圍的。

2、建立協同圖形

 

在左側列表中顯示要疊加的圖形和圖層。這裡在選擇疊加的時候,用的是WMS服務組合圖形

選擇完成後,點選建立協同圖形

按鈕,這時候會在後臺合併CAD圖形建立協同圖形,處理完成後,給協同圖形,新建一個名稱即可。

這時候協同圖形已建立好。

3、更新協同圖形

當協同圖形所依賴的圖形更新時,開啟協同圖形會自動更新至最新版本。

要更新協同圖形,需要對所依賴的圖形進行更新。

更新有兩種方式:

(1)在CAD裡面修改圖形,然後在對應圖形那選擇上傳更新圖形即可。

(2) 也可以線上繪圖,儲存至後臺更新CAD圖形

在”儲存“的提示框中選擇”否“,稍等後,圖形會自動在後臺根據繪製的實體建立新的實體物件,並更新CAD圖形,同時更新此圖版本。

這時候,我們點選檢視剛建立的協同圖形,就會自動的更新成最新版本了!(版本有更新時,會自動在後臺處理圖形,需稍等下,下次無需等待)。

 

自此,一個線上製圖並自動更新協同一張圖的功能就此完成,是不是操作很簡單?!

4、展望

唯傑地圖(vjmap)做為一個平臺,沒有就使用者和許可權部分進行封裝;所以上面的方案只能做為一個輕量級的解決方案。

實際中,會有不同使用者和不同許可權的設定。這就需要利用vjmap提供的sdk對上面的方案進行進一步的封裝。可能需要考慮的幾點有:

(1)對圖形名稱進行隱藏處理,不要讓所有人能查到圖名稱(以ns_開頭的圖名稱不會顯示)

(2)在使用者登入後,上傳的圖形可以和使用者名稱相關聯。把圖形名稱和使用者名稱的關係儲存進自己後臺,這樣不同的使用者登入後,能看到的是自己的圖形,沒有許可權或更新其他使用者的圖形。

(3)根據業務需求對許可權進行授權。

有需要的朋友可以在線上傳圖形建立屬於自己的協同圖形。上面的案例程式碼已開源。訪問 (唯傑地圖雲端圖紙管理平臺 https://vjmap.com/app/cloud) ,點選下載此案例原始碼即可。