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

ApsaraDB RDS:ST_Project

最終更新日:Mar 29, 2026

指定された距離 (メートル単位) と方位角 (ラジアン単位) で、開始 geography 位置からポイントを投影します。

構文

geography ST_Project(geography g1, float distance, float azimuth)

パラメーター

パラメータータイプ説明
g1geography投影の開始点。
distancefloat移動する距離 (メートル単位)。負の値を指定すると、反対方向に投影されます。
azimuthfloat移動する方向。真北から時計回りにラジアン単位で測定されます。

説明

ST_Project は、g1 から指定された distance を指定された方向 (azimuth) に移動して、新しい geography ポイントを計算します。

方位角は、真北から時計回りにラジアン単位で測定されます:

  • 北: 0 (0°)

  • 東: π/2 (90°)

  • 南: π (180°)

  • 西: 3π/2 (270°)

値を渡す前に、PostgreSQL の radians() 関数を使用して度をラジアンに変換します。

この関数は、負の距離 (反対方向に投影) と正規化されていない方位角 (0〜2π の範囲外の値) をサポートします。

ポイントを真南 (180°、pi() に相当) に 10 メートル投影します:

SELECT ST_AsText(ST_Project('POINT(0 0)'::geography, 10, pi()));
           st_astext
-----------------------------
 POINT(0 -0.000090436947705)

関連項目

  • ST_Azimuth: あるポイントから別のポイントまでの方位角をラジアンで返します。

  • ST_Distance: 2 つのジオメトリ値またはジオグラフィ値間の距離を返します。

  • PostgreSQL radians(): 度をラジアンに変換します。