すべてのプロダクト
Search
ドキュメントセンター

:ST_3DGridPath

最終更新日:May 06, 2024

このトピックでは、ST_3DGridPath関数について説明します。 この関数は、3Dグリッドシステムを使用してパスを計算します。

構文

geomgrid[] ST_3DGridPath (ジオメトリ開始、ジオメトリ終了、box3d範囲、gridcost[] バリア、paramsテキストのデフォルト '');

パラメーター

パラメーター

説明

start

スタートポイント。

終了

エンドポイント。

範囲

パス計画の範囲。

障壁

障壁を持つすべてのグリッドのコスト。

params

計算に使用されるパラメーター。

次のリストは、paramsパラメーターのフィールドを示しています。

  • algorithm: pathfindingアルゴリズム

    • dij: ダイクストラのアルゴリズム

    • astar (デフォルト): A * アルゴリズム

    • nb_astar: 双方向A * アルゴリズム

  • 動き: 動きモード

    • cross (デフォルト): 隣接するグリッドにのみ移動します

    • オクトソープ: 隣接する斜めのグリッドに移動

    • strict_octothorpe: 隣接するグリッドが通過可能な場合に対角グリッドに移動

  • distance: 距離推定方法

    • euclidean: ユークリッド距離

    • マンハッタン (デフォルト): マンハッタン距离

    • チェビシェフ: チェビシェフの距離

例: {"algorithm":"astar","movement":"strict_octothorpe"}

説明

paramsパラメーターが空のままであるか、パラメーターの一部のフィールドが設定されていない場合、システムはデフォルト値を使用します。

説明

この関数は、指定されたデータに基づいてグリッドパスを計算します。

  • 開始点および終了点は、z軸上の値が不正確であり得る3D点である。 アルゴリズムは、3D点のz軸上の適切な値を自動的に見つけ、経路を計画する。

  • 範囲パラメータは、デジタル表面モデル (DSM) データに基づいて構成される経路計画の範囲を指定する。

  • バリアパラメータは、すべてのグリッドのコストとバリアを組み合わせます。 ST_CostUnion操作を呼び出して、このパラメーターの値を照会できます。

  • paramsパラメーターが空の場合、システムはデフォルトでaster、cross、manhattanを使用します。 計算結果は、順番に配置されたジオメトリグリッドの配列です。

st_astext(ST_3DGridPath(st_geomfromewkt('srid=4490;POINT Z (1 1 1)')) 、st_geomfromewkt('srid=4490;POINT Z (5 6 3)') 、'BOX3D(0 0 0,10 10)'::box3d、st_costunion(array[st_setcost(array[st_gridfromtext('GZ0000000001)],1) 、st_setcost(array[st_gridfromtext ('GZ00005')],5)));

--------------------------------------------------------------------------------
 {GZ0000000006、GZ0000000042、GZ0000000046、GZ0000000064、GZ0000000420、GZ0000000422、GZ0000000426、GZ0000000604、GZ0000000640、GZ0000000644、GZ0000004200、GZ0000004240、GZ0000004244、GZ0000004600、GZ0000004602、GZ0000004620、GZ0000004622、GZ0000006400、GZ0000006420}

ST_3DGridPath(st_geomfromewkt('srid=4490;POINT Z (1 1 1)')) 、st_geomfromewkt('srid=4490;POINT Z (5 6 3)') 、'BOX3D(0 0 0,10 10)'::box3d、st_costunion(array[st_setcost(array[st_gridfromtext ('GZ000000001')]] 、1) 、st_setcost(array[st_gridfromtext ('GZ00005')] 、5)) 、'{"algorithm":"" "" movement"

--------------------------------------------------------------------------------
 {GZ0000000006、GZ0000000060、GZ0000000066、GZ0000000600、GZ0000000606、GZ0000000660、GZ0000000666、GZ0000006000、GZ0000006040、GZ0000006044、GZ0000006420} 

3Dグリッドシステム

image