ST_ComputeViewShed
計算視點在場景中的可視體(基于視錐體,保留可見區(qū)域形成的幾何體)。
語法
meshgeom ST_ComputeViewShed(scene sc, cstring viewpoint);
參數(shù)
參數(shù)名稱 | 描述 |
sc | scene對象。 |
viewpoint | 視點信息。 使用JSON格式:
|
視點信息的JSON中各參數(shù)含義:
參數(shù) | 描述 | 取值范圍 |
x | 視點的x坐標(biāo),默認(rèn)為0。 | (-inf, +inf) |
y | 視點的y坐標(biāo),默認(rèn)為0。 | (-inf, +inf) |
z | 視點的z坐標(biāo),默認(rèn)為0。 | (-inf, +inf) |
h | 視點的附加高度,默認(rèn)為0。 | [0, +inf) |
azimuth | 從正北方向(y軸正向)起,依順時針方向到觀察方向之間的夾角,默認(rèn)為 0,單位為度。 | [-180, 180] |
pitch | 俯仰角(觀察方向與XOY平面的夾角),當(dāng)觀察方向在XOY平面上方時,俯仰角為正,否則為負(fù)。默認(rèn)為0,單位為度。 | [-90, 90] |
distance | 最大可視距離,值越大視錐體覆蓋范圍越廣,默認(rèn)為100。 | (0, +inf) |
horizontalFov | 水平視角范圍,默認(rèn)為90,單位為度。 | (0, 180) |
verticalFov | 垂直視角范圍,默認(rèn)為60,單位為度。 | (0, 180) |
depthMapSize | 深度圖尺寸,深度圖尺寸越大,計算的視錐體越精細(xì),默認(rèn)為128。 | (0, 2048] |
描述
根據(jù)輸入的scene對象、視點信息計算視點在場景中的可視體(基于視錐體,保留可見區(qū)域形成的幾何體),視錐體的更多信息,請參見ST_ComputeFrustum。
該函數(shù)目前僅支持osg類型的scene對象。
示例如下圖:
可視體(俯視圖)
可視體(側(cè)視圖)
示例
SELECT ST_NumPatches(ST_ComputeViewShed(scene, '{"x" : 2938, "y" : 750, "z" : 90, "h" : 1.8, "azimuth" : 90, "pitch" : -35, "horizontalFov" : 90, "verticalFov" : 60, "distance" : 600, "depthMapSize" : 128}')) from t;
--------
32766