调用DMGEO2包的ST_DISTANCE函数计算两个地理值之间的距离时指定使用椭球参考系,查询报错调用参数不兼容或者不匹配,截图如下:
查询《DM8系统包手册》中函数定义如下:
去掉最后一个TRUE参数后,查询可以正常返回,但是返回结果不是预期的,返回的是弧度,不是距离。如果算距离, 需要乘以这个弧度所在的半径, 才能获得距离。真正的返回值应该和ST_DistanceSphere相近大概是175703。
使用ST_DistanceSphere查询如下:
仔细查看函数定义,发现之前查询报错, 是因为函数中前两个参数用的ST_Geometry类型,而非SYSGEO2.ST_GEOGRAPHY类型,传参类型不对导致的。最终修改sql语句如下,查询正常执行,结果返回和预期一致。
文章
阅读量
获赞