動態(tài)地圖服務(wù)在三維場景下慢和模糊的問題

背景:

動態(tài)地圖服務(wù)在三維場景下不僅慢,而且顯示相對模糊。ArcGIS API for JavaScript。

現(xiàn)象歸納:

默認情況下,會以2048*2048的size。請求兩次投影后范圍為xmin ymin xmax ymax的一個區(qū)域的地圖。

請求1:(xmax-xmin)/2048 = view.zoom(近似取整)-1 對應(yīng)級別的resolution?

請求2:(xmax-xmin)/2048 =view.zoom(近似取整)-2級別的resolution(范圍較大的一次請求)。

思路:

要改進模糊問題,識別resolution較小的一次請求,嘗試更改size為4096

要改進慢的問題,識別和阻斷resolution值過大的一次請求?;驀L試更改size為1024。

一旦視角傾斜。范圍較大的請求resolution更大。對應(yīng)的lod的zoom層級view.zoom - n n更大。


同事挖掘的用戶需求:高分屏加速。

????1.在不存在效率問題的環(huán)境下讓地圖模糊問題更加清晰。

????2.自定義切片圖層適應(yīng)高分屏,提高效率。

2022年6月28日測試,清晰度無法通過調(diào)整width和height圖片大小解決。請求來的圖片不是簡單貼在該位置,渲染引擎使他模糊。請求來的圖片直接查看是很清晰的。

清晰問題解決方法:

增大DPI,如調(diào)整96為120。同時稍微調(diào)節(jié)width和height x1.05 或不調(diào)節(jié)圖片大小,直接使用MapImageLayer設(shè)置dpi為120在SceneView中即可。文字能夠更加清晰。調(diào)整完DPI后,圖片大小也減小了,帶寬問題也得到緩解。


dpi120的圖片大小


dpi96的圖片大小

大范圍請求導(dǎo)致效率問題的解決方法:

使用BaseDynamicLayer創(chuàng)建自定義動態(tài)圖層。重寫fetchImage方法。

減少大范圍請求的帶寬和時間

以上代碼算是針對現(xiàn)象歸納理論的實踐。

弊端:

視角平視,遠處地圖級別和近處不一樣,遠處更為模糊,有種早版本的API的SceneView下的切片圖層的割裂的感覺。這就是追求效率帶來的不清晰的一點弊端。

遠處地面的割裂感

還是建議設(shè)置SceneView.constraints。稍微限制一下傾斜視角,如果不是在看具體建筑物的時候。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容