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

ApsaraDB RDS:ST_LineInterpolatePoints

最終更新日:Jan 12, 2024

このトピックでは、ST_LineInterpolatePoints関数について説明します。 この関数は、LineStringオブジェクトの1つ以上の指定された位置にある点を補間し、その点を返します。

構文

ジオメトリST_LineInterpolatePoints (ジオメトリaLinestring、float8 aFraction、ブール繰り返し);
geography ST_LineInterpolatePoints(geography aLinestring , float8 aFraction , boolean repeat); 

パラメーター

パラメーター

説明

aLinestring

LineStringオブジェクト。

aFraction

点が線に補間される基準となる分数。 このパラメーターの値は、0〜1の範囲内の浮動小数点数です。

リピート

ポイントの繰り返し補間を許可するかどうかを指定します。 デフォルト値:true

説明

  • repeatパラメーターをTrueに設定すると、この関数は、線に沿った分数として表されるすべての位置の点を補間します。

  • 結果がゼロまたは1点の場合、この関数は結果を点オブジェクトとして返します。 それ以外の場合、この関数は結果をMultiPointオブジェクトとして返します。

  • この関数は3Dオブジェクトをサポートし、z座標は削除しません。

  • この関数はM座標をサポートします。

  • 地理座標系が使用される場合、点間の距離は、球面距離に基づいて計算される。

  • 特定のセグメント上の指定した位置にある点の座標を計算します。

    SELECT ST_AsText(ST_LineInterpolatePoints('LINESTRING(0 0,0 5)', 0.20));
                st_astext
    ---------------------------------
     MULTIPOINT(0 1,0 2,0 3,0 4,0 5)
    (1行)
    
    -- gepgraphy
    SELECT ST_AsText(ST_LineInterpolatePoints('LINESTRING(0 0,0 5)'::geography, 0.20));
                                                   st_astext
    -------------------------------------------------------------------------------------------------------
     MULTIPOINT((0 1.00002443285827) 、(0 2.00004274948544) 、(0 3.00004884128919) 、(0 4.00003661494431) 、(0 5)) 
  • 繰り返しパラメーターをFalseに設定して点を補間します。

    SELECT ST_AsText(ST_LineInterpolatePoints('LINESTRING(0 0,0 5)', 0.20, false));
     st_astext
    ------------
     ポイント (0 1)
    (1行)
    
    SELECT ST_AsText(ST_LineInterpolatePoints('LINESTRING(0 0,0 5)'::geography, 0.20, false));
             st_astext
    ---------------------------
     POINT(0 1.00002443285827)
    (1行)