MySQL函数——ST_AsText

1. 场景——要对表中指定的geometry类型字段进行抽稀

(1)表数据如下:

select geom from db_mulite_data;


(2)抽稀语句如下:

select st_asgeojson(ST_Simplify(ST_GeomFromText(ST_AsText(geom)), 0.0005)) AS geom
from db_mulite_data;

抽稀执行结果如下:

此时发现经纬度被反转,变成了维度在前,经度在后

2. 排查

经过多次测试后发现,在使用ST_AsText函数处理后会让纬度在前经度在后

select ST_AsText(geom) from db_mulite_data

测试结果如下:

MySQL支持原文
ST_AsText(g [, options]), ST_AsWKT(g [, options])
Converts a value in internal geometry format to its WKT representation and returns the string result.
The function return value has geographic coordinates (latitude, longitude) in the order specified by the spatial reference system that applies to the geometry argument. An optional options argument may be given to override the default axis order.
ST_AsText() and ST_AsWKT() handle their arguments as described in the introduction to this section.
翻译
将内部几何图形格式的值转换为其WKT表示形式,并返回字符串结果。
函数返回值具有应用于几何参数的空间参考系指定的顺序的地理坐标(纬度、经度)。可以提供一个可选选项参数来覆盖默认轴顺序。
ST_AsText()和ST_AsWKT()处理它们的参数,如本节引言中所述。

由此我们知道ST_AsText这个函数有一个第二参数来控制经纬度的前后顺序

引言原文
By default, geographic coordinates (latitude, longitude) are interpreted as in the order specified by the spatial reference system of geometry arguments. An optional options argument may be given to override the default axis order. options consists of a list of comma-separated key=value. The only permitted key value is axis-order, with permitted values of lat-long, long-lat and srid-defined (the default).
If the options argument is NULL, the return value is NULL. If the options argument is invalid, an error occurs to indicate why.
Otherwise, the return value is non-NULL.
翻译
默认情况下,地理坐标(纬度、经度)按几何参数的空间参考系指定的顺序进行解释。可以提供一个可选选项参数来覆盖默认轴顺序。选项由逗号分隔的键=值列表组成。唯一允许的键值是axis order,其中定义了lat long、long lat和srid的允许值(默认值)。
如果options参数为NULL,则返回值为NULL。如果options参数无效,则会出现错误以说明原因。
否则,返回值为非空。

3. 修正

由以上学习,我们可知,使用ST_AsText函数的完整形式如下:

select ST_AsText(geom, 'axis-order=long-lat') from db_mulite_data

4. 总结与分析

由于搜索到的MySQL支持为全英格式,加之本人对英文是在是不敏感,每次碎片式的看到一些短语句子,就急吼吼的去测试,导致爬出此坑耗时将近90分钟。由此得出结论,再有如此情况,一定要第一时间打开页面翻译,对比参照阅读。

附:MySQL8.0——ST_AsText()函数支持文档路径

MySQL空间函数——ST_AsText走过的坑相关推荐

  1. MySQL空间函数ST_Distance_Sphere()的使用

    MySQL空间函数ST_Distance_Sphere(g1, g2 [, radius]) :返回球体上两个点和/或多点之间的最小球面距离(以米为单位) 官网(https://dev.mysql.c ...

  2. mysql空间函数计算坐标距离

    有一张表,表中有每个人所在位置及经纬度,现在求表中所有人离指定经纬度的位置. DROP TABLE IF EXISTS `teacher`; CREATE TABLE `teacher` (`id` ...

  3. mysql空间函数汇总

      名称 描述 1 ST_StartPoint() LineString的起始点 2 ST_EndPoint() LineString的终点 3 ST_Transform() 变换几何的坐标 4 ST ...

  4. MySQL空间函数度量换算——距离计算,度数换算成公里海里

    1.计算公式 弧长=圆周率×半径×圆心角角度/180°        L=πr*n/180 圆心角角度=180°×弧长/圆周率/半径        n=180*L/πr 1 海里=1.852 千米(公 ...

  5. mysql8 index255_详解关于MySQL 8.0走过的坑

    今天手贱更新了MySQL 8.0 第一个问题:Navicat连接不上数据库 安装的mysql为localhost:3306,配置一切默认,安装后打开Navicat 12 新建连接,直接报错 authe ...

  6. Mysql时间函数的坑

    Mysql时间函数 函数1: NOW() 函数2: SYSDATE() 大家看下测试 示例 正常大家执行时间函数[看起来没啥问题吧] 执行第二段代码[这里代码认为 sleep休息5]大家会发现前后时间 ...

  7. concat拼接的坑 mysql_详解MySQL拼接函数CONCAT的使用心得

    这篇文章我们来讲一下在网站建设中,详解MySQL拼接函数CONCAT的使用心得.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 前几篇文章给大家介绍了MySQL中的替换函数( ...

  8. mysql空间计算_MySQL 空间计算 空间查询

    一.前言 MySQL实施了OGC建议的具有Geometry类型的SQL环境的一个子集.该术语指的是用一组集合类型扩展的环境.具有几何值的SQL列是作为拥有集合类型的列实施的.该规范描述了SQL几何类型 ...

  9. 转行数据分析两年,走过的坑、读过的书…

    在上次分享了 "我放弃了国企工作,转行做了数据分析"(此处添加链接)之后,有朋友分享了学习数据分析中的疑惑: 学习SQL,该看哪些书? 学习Python,该看哪些书? 学习R语言, ...

最新文章

  1. 电子学会青少年编程等级考试案例:曲奇饼干
  2. zend opcache的最佳设置
  3. JDBC之二:DAO模式
  4. cytoscape使用方法_7种方法 ,订制你的专属venn图!-代谢组学/蛋白组学研究
  5. 机器学习-算法背后的理论与优化(part7)--随机梯度下降法概述
  6. db2 mysql sql server_下文给大家介绍mysql数据库介绍,具体详情如下所示:MySQL数据库:Oracle、DB2、SQL Server、MySQL、access、mang...
  7. 图形学 射线相交算法_计算机图形学中的阴极射线管(CRT)
  8. Collaborative topic modeling(推荐)算法实现中的大数组问题
  9. 【配置属性】—Entity Framework 对应表字段的类型的设定配置方法
  10. sklearn 线性回归
  11. 怎样进行大数据的入门级学习
  12. 浅析gcc、arm-linux-gcc和arm-elf-gcc的关系-转
  13. 学习官方SSIS教程的错误总结
  14. 竖流式沉淀池集水槽设计计算_竖流沉淀池设计计算书.doc
  15. 【阿里云数据总线】Datahub使用Python SDK记录
  16. excel乘法公式怎么输入_智能考勤表,MM你再也不用加班了!【Excel教程】
  17. 【MySQL集群】——Java程序连接MySQL集群
  18. STM32单片机基于HAL库开发HC-SR04 超声波测距模块(终极版)
  19. 使用spring-cloud-bus报错error occurred in message handler [org.springframework.integration.amqp.outbound
  20. 十三、SpringBoot与分布式

热门文章

  1. 全球与中国密封轻触开关市场现状及未来发展趋势
  2. 多种ubuntu引导修复方法
  3. HTM5新手学习的一些日常总结,相互交流和相互学习。
  4. 【2022-01-11】JS逆向之拉钩登入(上)
  5. 建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内 如果需要在循环中引发异常,你需要特别注意,应为抛出异常是一个相当影响性能的过程。应该尽量在循环当中对异常发生的一
  6. php学习规划,2015年计划
  7. Sketch-based image retrieval and shape matching代码运行(Matconvnet配置)
  8. SESAM | GeniE 实用教程
  9. 2020-10-14
  10. cib.xml for 2resource2group4score