YashanDB ST_POINTZ函数

ST_POINTZ函数根据输入的x、y、z和可选的srid,返回对应坐标和srid的POINT数据。

x、y、z

表示坐标,参数类型为数值型,遵循如下规则:

  • 支持可以转换为DOUBLE类型的CHAR、VARCHAR类型(转换失败返回Invalid Number错误),使用其他数据类型则返回错误。
  • 本函数仅支持三维坐标,使用其他维度的坐标则返回错误。

srid

srid的数据类型是INT,表示输出结果中的空间参考系,遵循如下规则:

  • 支持能够隐式转换成INT的类型,如输入小数则进行四舍五入转换。
  • 该参数可以省略,省略时默认值是0。
  • 如果输入的是负数,则会按照默认的srid输出。

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

如需获取二维坐标的POINT数据,请使用ST_POINT函数。

示例(单机HEAP表)

SELECT ST_AsText(ST_PointZ(1, 2, 3), 0) res FROM DUAL;

RES                                          
---------------------------------------------------------------- 
POINT Z (1 2 3)        

SELECT ST_AsText(ST_PointZ(1, 2, 3, 4326), 0) res FROM DUAL;

RES                                            
---------------------------------------------------------------- 
POINT Z (1 2 3)  

--SRID为负数时按照默认的SRID输出
SELECT ST_SRID(ST_PointZ(1, 2, 3, -8)) res FROM DUAL;

                 RES
-------------------- 
                   0                                            

SELECT ST_SRID(ST_PointZ(1, 2, 3)) res FROM DUAL;

                 RES 
-------------------- 
                   0

SELECT ST_SRID(ST_PointZ(1, 2, 3, 4326)) res FROM DUAL;

                 RES 
-------------------- 
                4326
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值