You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中ST_Transform函数返回结果异常的问题求助

MySQL中ST_Transform函数返回结果异常的问题求助

大家好,我最近在使用MySQL的空间函数时遇到了一个棘手的问题,想请各位前辈帮忙排查一下问题所在。

我在尝试用ST_Transform转换坐标系的时候,发现MySQL返回的结果和PostGIS以及其他验证工具的正确结果偏差非常大。

我用了完全相同的查询语句在两个数据库中测试:

SELECT ST_AsText(ST_Transform(ST_GeomFromText('POINT(5 45)', 4326), 2154));
  • 我用的PostGIS版本是3.5.2(proj版本9.4.0),执行后得到的结果是:

    POINT(857581.8993196681 6435414.747835401)

  • 而用MySQL 8.0.41执行同一条语句,得到的结果却是:

    POINT(6297547.01826163 3142340.2635587133)

我特意用其他工具验证过,PostGIS返回的结果是完全正确的。而且不止这一组坐标,我试了多组经纬度值,结果都存在差异——哪怕是测试POINT(0 0)这种特殊点,虽然差异相对小一些,但依然和正确结果对不上。

我一开始怀疑这是MySQL的bug,但转念一想,如果真的是bug,应该早就被用户反馈过了吧?所以我更倾向于是自己在使用这个函数的时候哪里操作错了,但翻了半天文档也没找到问题出在哪。有没有大佬能帮我分析一下原因呀?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 07:45:27