注册
DMGEO2.ST_DISTANCE函数使用报错解决方法
技术分享/ 文章详情 /

DMGEO2.ST_DISTANCE函数使用报错解决方法

### 2025/05/09 84 0 0

调用DMGEO2包的ST_DISTANCE函数计算两个地理值之间的距离时指定使用椭球参考系,查询报错调用参数不兼容或者不匹配,截图如下:
image.png
查询《DM8系统包手册》中函数定义如下:
image.png
去掉最后一个TRUE参数后,查询可以正常返回,但是返回结果不是预期的,返回的是弧度,不是距离。如果算距离, 需要乘以这个弧度所在的半径, 才能获得距离。真正的返回值应该和ST_DistanceSphere相近大概是175703。image.png
使用ST_DistanceSphere查询如下:
image.png
image.png

仔细查看函数定义,发现之前查询报错, 是因为函数中前两个参数用的ST_Geometry类型,而非SYSGEO2.ST_GEOGRAPHY类型,传参类型不对导致的。最终修改sql语句如下,查询正常执行,结果返回和预期一致。
image.png
image.png
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服