ITPub博客

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

YashanDB ST_SPLIT函数

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

ST_SPLIT函数用于返回input几何对象被blade几何对象切割之后产生的几何对象。

本函数遵守如下规则:

  • 输入参数input和blade须具有相同的空间参考系,否则函数返回错误。
  • 输入参数input和blade任意一个为NULL时,函数返回NULL。
  • 输入参数input和blade任意一个的坐标中包含NAN和INF时,函数返回错误。
  • 输入参数input只能为LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection。
    • input为LineString时,blade可以为Point、MultiPoint、LineString、MultiLineString、Polygon或MultiPolygon。
    • input为Polygon时,blade只能为MultiLineString和LineString。
    • input为GeometryCollection时,会依次对GeometryCollection中的每个成员做切割,如果其中一个成员不支持切割,返回错误。

input

通用表达式,其值必须为有效的ST_GEOMETRY类型的数据。

blade

通用表达式,其值必须为有效的ST_GEOMETRY类型的数据。

示例

SELECT st_astext(st_split(st_geomfromtext('linestring(1 1, 3 3)'), st_geomfromtext('point(2 2)')), 0) split FROM dual;SPLIT----------------------------------------------------------------GEOMETRYCOLLECTION (LINESTRING (1 1, 2 2), LINESTRING (2 2, 3 3))SELECT st_astext(st_split(st_geomfromtext('linestring(1 1, 4 4)'), st_geomfromtext('multipoint(2 2, 3 3)')), 0) split FROM dual;SPLIT----------------------------------------------------------------GEOMETRYCOLLECTION (LINESTRING (3 3, 4 4), LINESTRING (1 1, 2 2), LINESTRING (2 2, 3 3))SELECT st_astext(st_split(st_geomfromtext('linestring(1 1, 4 4)'), st_geomfromtext('polygon((0 0, 0 2, 2 2, 2 0, 0 0))')), 0) split FROM dual;SPLIT----------------------------------------------------------------GEOMETRYCOLLECTION (LINESTRING (1 1, 2 2), LINESTRING (2 2, 4 4))SELECT st_astext(st_split(st_geomfromtext('polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), st_geomfromtext('linestring(1 -1, 1 3)')), 0) split FROM dual;SPLIT----------------------------------------------------------------GEOMETRYCOLLECTION (POLYGON ((0 0, 0 2, 1 2, 1 0, 0 0)), POLYGON ((1 2, 2 2, 2 0, 1 0, 1 2)))SELECT st_astext(st_split(st_geomfromtext('geometrycollection(polygon((0 0, 0 2, 2 2, 2 0, 0 0)), linestring(0 0, 2 2))'), st_geomfromtext('linestring(1 -1, 1 3)')), 0) split FROM dual;SPLIT----------------------------------------------------------------GEOMETRYCOLLECTION (POLYGON ((0 0, 0 2, 1 2, 1 0, 0 0)), POLYGON ((1 2, 2 2, 2 0, 1 0, 1 2)), LINESTRING (0 0, 1 1), LINESTRING (1 1, 2 2))


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

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

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639789