このトピックでは、ST_ComputeViewShed関数について説明します。 この関数は、シーンオブジェクトの視点のビュー錐台を計算し、視点のビューシェッドによって形成されるジオメトリを保持します。
構文
meshgeom ST_ComputeViewShed (シーンsc、cstringビューポイント);Parameters
パラメーター | 説明 |
sc | シーンオブジェクト。 |
視点 | ビューポイントに関する情報。 値はJSON形式です。 |
次の表に、JSON値のフィールドを示します。
フィールド | 説明 | 有効値 |
x | ビューポイントのx座標。 デフォルト値:0 | (-inf、+ inf) |
y | ビューポイントのy座標。 デフォルト値:0 | (-inf、+ inf) |
z | ビューポイントのz座標。 デフォルト値:0 | (-inf、+ inf) |
h | ビューポイントの高さ。 デフォルト値:0 | [0, + inf) |
方位角 | 北 (y軸順方向) から視点まで時計回りに回転する角度。 デフォルト値:0 単位は度で、 | [-180、180] |
ピッチ | ピッチ角。視点とXOY平面の間の角度を示します。 視点がXOY平面より上にある場合、ピッチ角は正である。 そうでなければ、ピッチ角は負である。 デフォルト値:0 単位は度で、 | [-90, 90] |
距離 | 最大表示距離。 値が大きいほど、視錐台のカバー範囲が広いことを示す。 デフォルト値:100 | (0, + inf) |
horizontalFov | 水平FOV。 デフォルト値: 90。 単位は度で、 | (0, 180) |
verticalFov | 垂直FOV。 デフォルト値: 0。 単位は度で、 | (0, 180) |
depthMapSize | 深度マップのサイズ。 大きいサイズは、より細かい視錐台を示す。 デフォルト値: 128 | (0, 2048] |
説明
この関数は、指定されたシーンオブジェクトの指定された視点のビュー錐台を計算し、視点のビューシェッドによって形成されるジオメトリを保持します。 ビューフラスタムの詳細については、「ST_ComputeFrustum」をご参照ください。
この関数は、osgタイプのシーンオブジェクトのみをサポートします。
次の図は、ビューの錐台の例を示しています。
frustumを见る (トップビュー)

frustum (側面図) を見る

例
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、"depMapthSize" : 128}') 。)
---------
32766