Name

ST_Project — 始点から距離と方位で算出されたポイントを返します。

Synopsis

geometry ST_Project(geometry g1, float distance, float azimuth);

geometry ST_Project(geometry g1, geometry g2, float distance);

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

geography ST_Project(geography g1, geography g2, float distance);

説明

始点から測地線に沿って与えられた距離と方位で算出されたポイントを返します。測地問題と言われるものです。

2ポイント版は、方位を黙示的に定義するために一つ目のポイントから二つ目のポイントに向かう線を使い、距離は以前と同様に使います。

距離はメートルで与えます。負数に対応しています。

方位はラジアンで与えます。真北 (方位 0)から時計回りに増えます。 真北から時計回りに数えます。

  • 北は方位ゼロ (0度)です

  • 東は方位 π/2 (90度)です

  • 南は方位 π (180度)です

  • 西は方位 3π/2 (270度)です

負の方位値と2π (360度)を超える値に対応しています。

Availability: 2.0.0

Enhanced: 2.4.0 負の距離と非正規化方位を許容するようになりました。

Enhanced: 3.4.0 ジオメトリ引数と、azimuthを省略した2ポイント形式を許します。

例: 100,000メートル、方位45度で計算されるポイント

SELECT ST_AsText(ST_Project('POINT(0 0)'::geography, 100000, radians(45.0)));
--------------------------------------------
 POINT(0.635231029125537 0.639472334729198)

関連情報

ST_Azimuth, ST_Distance, PostgreSQL function radians()