跳到主要内容

ST_SIMPLIFY

引入或更新于:v1.2.911

返回 GEOMETRY 对象的简化版本,移除与结果边距离在指定容差范围内的顶点。使用 Ramer-Douglas-Peucker 算法。

语法

ST_SIMPLIFY(<geometry>, <tolerance>)

参数

参数描述
<geometry>GEOMETRY 表达式。适用于 LineString、MultiLineString、Polygon 和 MultiPolygon。对 Point 和 MultiPoint 无效果。
<tolerance>顶点移除的最大距离容差。
备注
  • 不支持 GeometryCollection。

返回类型

Geometry。

示例

SELECT ST_ASWKT(
ST_SIMPLIFY(
TO_GEOMETRY('LINESTRING(0 0, 1 0, 1 1, 2 1)'), 0.5
)
) AS simplified;

┌──────────────────────┐
│ simplified │
├──────────────────────┤
LINESTRING(0 0,2 1)
└──────────────────────┘

SELECT ST_ASWKT(
ST_SIMPLIFY(
TO_GEOMETRY('LINESTRING(1100 1100, 2500 2100, 3100 3100, 4900 1100, 3100 1900)'), 500
)
) AS simplified;

┌──────────────────────────────────────────────────────┐
│ simplified │
├──────────────────────────────────────────────────────┤
LINESTRING(1100 1100,3100 3100,4900 1100,3100 1900)
└──────────────────────────────────────────────────────┘

SELECT ST_ASWKT(
ST_SIMPLIFY(
TO_GEOMETRY('POLYGON((0 0, 1 0, 1 1, 0.5 0.5, 0 1, 0 0))'), 0.6
)
) AS simplified;

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

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

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

注册即领 ¥200 代金券。

注册体验