ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB ST_SIMPLIFY函数

YashanDB ST_SIMPLIFY函数

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-05-29 18:48:01 0 删除 编辑

ST_SIMPLIFY函数的功能是使用Douglas-Peucker算法来简化输入的geometry。

当输入的参数存在NULL时,函数返回NULL。

geometry

通用表达式,其值必须为有效的ST_GEOMETRY类型的数据,遵循如下规则:

  • 仅计算2D结果,如坐标中有Z轴,则会忽略Z坐标进行计算。
  • 如输入的geometry是POINT、MULTIPOINT类型,则直接返回原来的值。
  • 如输入的geometry是LINESTRING、MULTILINESTRING类型,除非输入的是LINESTRING EMPTY或者是MULTILINESTRING EMPTY,才会返回EMPTY,否则至少保留两个点。
  • 如输入的geometry是POLYGON、MULTIPOLYGON类型,缩小到一定程度之后会返回POLYGON EMPTY或MULTIPOLYGON EMPTY。
  • 如输入的geometry是GEOMETRYCOLLECTION类型,内部的各类数据变化与上述一致。

tolerance

tolerance表示容差,其值为DOUBLE类型,容差越大,则简化的程度越大,遵循如下规则:

  • 支持能够隐式转换成DOUBLE的数据类型。
  • 如输入负数,则转化成对应的正数进行计算。
  • tolerance值过大时,输入的geometry可能会消失(变成EMPTY)。

示例(单机HEAP表)

--ST_GEOMFROMTEXT函数会根据给定的WKT和SRID返回一个ST_GEOMETRY数据SELECT ST_AsText(ST_Simplify(ST_GeomFromText('LINESTRING (3 5, 4 6, 2 1, 3 5)'), 100), 0) res FROM DUAL;RES                                             
---------------------------------------------------------------- LINESTRING (3 5, 3 5)                                           SELECT ST_AsText(ST_Simplify(ST_GeomFromText('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'), 0.5), 0) res FROM DUAL;RES                                          
---------------------------------------------------------------- POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))                             SELECT ST_AsText(ST_Simplify(ST_GeomFromText('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'), 1), 0) res FROM DUAL;RES                                             
---------------------------------------------------------------- POLYGON EMPTY                                                   
SELECT ST_AsText(ST_Simplify(ST_GeomFromText('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'), NULL), 0) res FROM DUAL;RES                                            
----------------------------------------------------------------


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3086196/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639784