本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ST_SetPoint
SetPoint 返回一个线串,该线串具有相对于索引指定的输入线串位置的更新坐标。新坐标是输入点的坐标。
Syntax
ST_SetPoint(geom1, index, geom2)
Arguments
- geom1
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。子类型必须是LINESTRING
。 - index
-
一个
INTEGER
数据类型的值,表示从 1 开始的索引的位置。该值可以采用负值。-1
是指从右侧开始的线串的第一个点,从右侧开始-2
的线串的第二个点,依此类推。 - geom2
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。子类型必须是POINT
。
返回类型
BOOLEAN
如果 geom1 不是线串,则返回一个错误。
如果索引不在有效索引范围内,则返回错误。
如果 geom2 不是点,则返回一个错误。
如果 geom1 和 geom2 不具有相同的空间参考系统标识符 (SRID) 值,则返回一个错误。
Examples
以下 SQL 返回一个新的线串,我们在其中设置具有指定点的输入线串的第二个点。
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 示例返回一个新的线串,我们在其中设置具有指定点的线串右侧的第三个点(索引为负)。
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)