ArcGIS API for JavaScript 4.x 挖孔生成遮罩層

問題背景

API本身的遮罩層案例只能用于二維。不能在三維場景SceneView上通過遮罩凸顯想要表達的地理區(qū)域。二維下基于BaseLayerView2D開發(fā),實現(xiàn)圖層的layereffect效果。

基于BaseLayerView2D開發(fā)

解決思路

想要在三維下實現(xiàn)遮罩層效果,可以使用幾何引擎,利用視圖范圍面幾何(或世界范圍面幾何) 與 想要高亮顯示的區(qū)域面幾何 做幾何分析difference。得到視圖范圍面幾何(或世界范圍面幾何)挖孔后的面,設置黑色,透明度。

關鍵代碼

查詢要素獲得想要高亮的面(結果可以是多個),將多個面合并(union)為一個幾何面。

將視圖范圍面(或世界范圍面) 與 上一步合并后的面做差異分析(difference)。得到結果clippedGeometry

設置面符號黑色,透明度70%,創(chuàng)建挖孔面作為遮罩層的Graphic,添加到視圖中。

完整代碼

https://codepen.io/dansdocker/pen/NWopjMZ

最終效果

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

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

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