本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ST_MakePolygon
ST_MakePolygon有两个可返回多边形的变量。一个采用单一几何形状,另一个采用两个几何形状。
-
第一个变量的输入是定义输出多边形的外环的linestring。
-
第二个变量的输入是linestring和多线字符串。这两个都是空的或已关闭的。
输出多边形的外环的边界是输入linestring,多边形的内环的边界是输入多线字符串中的linestring。如果输入linestring为空,则返回空的多边形。多线条字符串中的空白线条字符串将忽略。所得到的几何形状的空间参考系统标识符(SRID)是两个输入几何形状的共同SRID。
Syntax
ST_MakePolygon(geom1)
ST_MakePolygon(geom1, geom2)
Arguments
- geom1
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。子类型必须LINESTRING
。的 linestring(线条字符串) 值必须已关闭或为空。 - geom2
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。子类型必须是MULTILINESTRING
。
返回类型
子类型 POLYGON
的 GEOMETRY
。
返回的几何体的空间参考系统标识符(SRID)等于输入的SRID。
如果 用种场出1,或 用种场出2 为null,则返回null。
如果 用种场出1 不是linestring,则返回错误。
如果 用种场出2 不是多行字符串,则返回错误。
如果 用种场出1 未关闭,则返回错误。
如果 用种场出1 是单点或未关闭,则返回错误。
如果 用种场出2 至少包含一个具有单点或未关闭的linestring,然后返回错误。
如果 geom1 和 geom2 具有不同的 SRID 值,则返回一个错误。
Examples
以下 SQL 从输入线串返回多边形。
SELECT ST_AsText(ST_MakePolygon(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)')));
st_astext --------------- POLYGON((77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07))
以下SQL从闭合的折线字符串和闭合的多线字符串创建多边形。linestring用于多边形的外环。多线串中的线串用于多边形的内部环。
SELECT ST_AsEWKT(ST_MakePolygon(ST_GeomFromText('LINESTRING(0 0,10 0,10 10,0 10,0 0)'), ST_GeomFromText('MULTILINESTRING((1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))')));
st_astext ---------------------------------- POLYGON((0 0,10 0,10 10,0 10,0 0),(1 1,1 2,2 1,1 1),(3 3,3 4,4 3,3 3))