本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ST_ LineInterpolatePoint
ST_ 沿著直線LineInterpolatePoint 返回一個點,距離直線的起點有分數的距離。
若要確定點相等,ST_ 會對輸入幾何圖形的 2D 投影進LineInterpolatePoint 行操作。如果輸入幾何為空,則會以與輸入相同的維度傳回其副本。對於 3DZ、3DM 和 4D 幾何,z
或 m
座標是點所在區段的 z
或 m
座標的平均值。
語法
ST_LineInterpolatePoint(geom, fraction)
引數
- geom
-
GEOMETRY
資料類型的值,或是評估為GEOMETRY
類型的表達式。子類型是LINESTRING
。 - fraction
-
DOUBLE PRECISION
資料類型的值,表示沿線的 linestring 的點位置。該值是介於 0-1 (含) 範圍內的分數。
傳回類型
POINT
子類型的 GEOMETRY
。
如果 geom 或 fraction 為 null,則傳回 null。
如果 geom 為空,則傳回空點。
傳回幾何的空間參考系統識別碼 (SRID) 值是輸入幾何的 SRID 值。
如果 fraction 超出範圍,則會傳回錯誤。
如果 geom 不是 linestring,則會傳回錯誤。
範例
下列 SQL 會傳回沿 linestring 中間的點。
SELECT ST_AsEWKT(ST_LineInterpolatePoint(ST_GeomFromText('LINESTRING(0 0, 5 5, 7 7, 10 10)'), 0.50));
st_asewkt
-----------
POINT(5 5)
下列 SQL 會傳回沿 linestring 90% 的點。
SELECT ST_AsEWKT(ST_LineInterpolatePoint(ST_GeomFromText('LINESTRING(0 0, 5 5, 7 7, 10 10)'), 0.90));
st_asewkt
-----------
POINT(9 9)