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

PolarDB:ST_LineInterpolatePoint

最終更新日:Sep 26, 2024

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

構文

geometry  ST_LineInterpolatePoint(geometry  aLinestring , float8  aFraction);
geography  ST_LineInterpolatePoint(geography  aLinestring , float8  aFraction);

パラメーター

パラメーター

説明

aLinestring

指定するLineStringオブジェクト。

aFraction

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

説明

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

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

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

  • 指定した線分の中心点の座標を取得します。

    SELECT ST_AsText(ST_LineInterpolatePoint(geom, 0.5)) FROM (SELECT 'LINESTRING(0 0,2 2)'::geometry as geom) As test;
     st_astext
    ------------
     POINT(1 1)
    (1 row)
    
    
    SELECT ST_AsText(ST_LineInterpolatePoint(geog, 0.5)) FROM (SELECT 'LINESTRING(0 0,2 2)'::geography as geog) As test;
    
    ------------------------------------------
     POINT(0.99969732796684 1.00015638159834)
  • ライン上のジオメトリオブジェクトに最も近い点を取得します。

    SELECT ST_AsText(ST_LineInterpolatePoint(geom, ST_LineLocatePoint(geom, 'POINT(1 1)'::geometry))) FROM (SELECT 'LINESTRING(0 0,0 2)'::geometry As geom) As test;
     st_astext
    ------------
     POINT(0 1)
    (1 row)
    
    -- geography
    SELECT ST_AsText(ST_LineInterpolatePoint(geog, ST_LineLocatePoint(geog, 'POINT(1 1)'::geography))) FROM (SELECT 'LINESTRING(0 0,0 2)'::geography As geog) As test;
    ---------------------------
     POINT(0 1.00015229710421)