ST_ SetPoint - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ST_ SetPoint

ST_ SetPoint 返回相對於由索引指定的輸入線串的位置更新坐標的線串。新座標是輸入點的座標。

傳回幾何的維度與 geom1 值的維度相同。如果 geom1geom2 具有不同的維度,則將 geom2 投影到 geom1 的維度。

語法

ST_SetPoint(geom1, index, geom2)

引數

geom1

GEOMETRY 資料類型的值,或是評估為 GEOMETRY 類型的表達式。子類型必須是 LINESTRING

索引

INTEGER 資料類型的值,代表索引的位置。0 是指 linestring 左邊的第一個點,1 是指第二點,以此類推。索引可以是負值。-1 是指 linestring 右側的第一個點,-2 是指 linestring 右側的第二個點,以此類推。

geom2

GEOMETRY 資料類型的值,或是評估為 GEOMETRY 類型的表達式。子類型必須是 POINT

傳回類型

GEOMETRY

如果 geom2 是空點,則傳回 geom1

如果 geom1geom2index 為 Null,則會傳回 Null。

如果 geom1 不是線串,則會傳回錯誤。

如果 index 不在有效的索引範圍內,則傳回錯誤。

如果 geom2 不是點,則會傳回錯誤。

如果 geom1geom2 的空間參考系統識別碼 (SRID) 不同,則會傳回錯誤。

範例

下列 SQL 會傳回一個新的 linestring,在這裡我們將輸入 linestring 的第二個點設定為指定點。

SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), 2, ST_GeomFromText('POINT(7 9)')));
st_astext ------------- LINESTRING(1 2,3 2,7 9,1 2)

下列 SQL 範例會傳回一個新的 linestring,在這裡我們將 linestring 右側的第三個點 (索引為負) 設定為指定點。

SELECT ST_AsText(ST_SetPoint(ST_GeomFromText('LINESTRING(1 2, 3 2, 5 2, 1 2)'), -3, ST_GeomFromText('POINT(7 9)')));
st_astext ------------- LINESTRING(1 2,7 9,5 2,1 2)