跳到主要内容

ST_MAKEPOLYGONORIENTED

引入或更新于:v1.2.911

从 LineString 输入创建 Polygon,保留给定的顶点顺序。与 ST_MAKEPOLYGON 不同,此函数不会重新排列顶点来强制特定的环绕方向。

语法

ST_MAKEPOLYGONORIENTED(<geometry>)

参数

参数描述
<geometry>LineString 类型的 GEOMETRY 表达式。必须至少有 4 个点,且首尾点相同。
备注
  • 仅接受 LineString 输入,其他类型会产生错误。
  • LineString 必须形成有效的多边形(无自相交)。

返回类型

Geometry。

示例

SELECT ST_ASWKT(
ST_MAKEPOLYGONORIENTED(TO_GEOMETRY('LINESTRING(0 0, 1 0, 1 2, 0 2, 0 0)'))
);

┌──────────────────────────────────┐
│ result │
├──────────────────────────────────┤
POLYGON((0 0,1 0,1 2,0 2,0 0))
└──────────────────────────────────┘

-- 反向环绕顺序被保留
SELECT ST_ASWKT(
ST_MAKEPOLYGONORIENTED(TO_GEOMETRY('LINESTRING(0 0, 0 2, 1 2, 1 0, 0 0)'))
);

┌──────────────────────────────────┐
│ result │
├──────────────────────────────────┤
POLYGON((0 0,0 2,1 2,1 0,0 0))
└──────────────────────────────────┘
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验