MySQL 8 st_distance_sphere 给不同的SRID取不同的值

MySQL 8 st_distance_sphere gives different values for different SRID

当,我运行(SRID=4326)

Select st_distance_sphere( ST_GeomFromText( 'point(-51 -23)',4326), ST_GeomFromText('Point(-51.4264 -23.4158)',4326))/1000 as distance;

我明白了

'55.55951760685804'.

SRID 4326

但是,当我 运行 (SRID = 0)

Select st_distance_sphere( ST_GeomFromText( 'point(-51 -23)'), ST_GeomFromText( 'Point(-51.4264 -23.4158)'))/1000 as distance;

srid 0

我得到 63.5340251950123,这看起来是正确的距离值。 但是,我认为该函数不会通过更改点的 SRID 来更改其结果。更糟糕的是,当我设置 SRID 时它的 return 错误结果。有人可以帮助我了解这里发生的事情吗? =) 顺便说一下,我正在使用 Mysql 8.

终于找到了答案。问题在于,当从 SRID 0 更改为 4326 时,创建点的经纬度顺序必须更改。我不知道。我认为这真的很混乱,而且没有很好的记录。无论如何,在4326情况下更改经纬度顺序后,我得到了正确的距离值。