官方文档网站上无效的MySQL轴顺序

问题描述

在MySQL v.8.0中学习SPATIAL数据期间,在page上的文档中发现错误。 此查询:

SET @json = '{ "type": "Point","coordinates": [102.0,0.0]}';
SELECT ST_AsText(ST_GeomFromGeoJSON(@json));

应按以下轴顺序返回WKT:

POINT(102 0)

但是,它返回此顺序:

POINT(0 102)

也许我在等待您的帮助时犯了一个错误。

提琴https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=b5a9de67da72e55cc43c6752920616f4

解决方法

显示问题与ST_GeomFromGeoJSON() srid 可选参数有关,该参数的 默认 值为 4326 (代表 EPSG:4326 坐标系“ WGS84,未投影” )。它以纬度经度的顺序显示。

通常,数据存储在 EPSG:4326 中,并显示在 EPSG:3857 伪墨卡托球形墨卡托 Web Mercator ),其中组件(纬度经度)的顺序相反。

因此,您需要使用这种方式

SELECT ST_AsText(ST_GeomFromGeoJSON(@JSON,1,3857));

以按经度纬度顺序显示。

Demo

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...