MySQL 8 st_distance_sphere为不同的SRID提供不同的值

MySQL 8 st_distance_sphere为不同的SRID提供不同的值,mysql,spatial-query,srid,Mysql,Spatial Query,Srid,何时,我运行(SRID=4326) 我明白了 ‘55.55951760685804’ 但是,当我运行时(SRID=0) 我得到了63.5340251950123,它看起来是正确的距离值。 但是,我认为函数不会通过改变点的SRID来改变其结果。更糟糕的是,当我设置SRID时,它返回错误的结果。有人能帮我了解这里发生了什么事吗?=) 顺便说一下,我正在使用Mysql 8。最后,我找到了答案。问题是,当从SRID 0更改为4326时,创建点的lat long顺序必须更改。我不知道。我认为这真的很混

何时,我运行(SRID=4326)

我明白了

‘55.55951760685804’

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

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

最后,我找到了答案。问题是,当从SRID 0更改为4326时,创建点的lat long顺序必须更改。我不知道。我认为这真的很混乱,没有很好的记录。无论如何,在4326案例中更改lat long顺序后,我得到了正确的距离值。

最后,我找到了答案。问题是,当从SRID 0更改为4326时,创建点的lat long顺序必须更改。我不知道。我认为这真的很混乱,没有很好的记录。总之,在4326案例中更改了lat long顺序后,我得到了正确的距离值

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