MySQL空间数据操作:GeomFromText()函数报错解决

报错问题:

之前在向MySQL导入经纬度数据的时候,用GeomFromText()方法来将字符串格式的空间点坐标转化为Geometry类型,得到了如下的报错:

FUNCTION db.GeomFromText does not exist

解决办法:

统一在GeomFromText()前面加ST_,也就是ST_GeometryFromText('POINT(经度 纬度)'),原因是MySQL在8.0版本后修改了该函数的命名,原来的函数名被弃用了。

知识拓展:

在MySQL中支持地理空间位置的几何表示,可存储的数据类型包括Geometry,Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection。其中Geometry可以支持任何一种空间类型的表示。

如下是各种空间几何对象的坐标文本表示(Well-known text, WKT):

常见的几何图形元素:

 

多个同类或异类元素间的组合:

 

对于空间几何数据的存储和传输,除了WKT这种文本标记语言,MySQL中还常用到一种二进制格式(Well-Known Binary ,WKB),以及数据库内部存储的几何格式。这些格式最初是由Open Geospatial Consortium(OGC)组织定义的,遵循OGC标准,MySQL对中其SQL with Geometry Types环境下的一个子集实现了空间扩展。

参考资料:

WKT - Wikipedia介绍:https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry

MySQL空间数据,空间索引:https://blog.csdn.net/MoFengLian/article/details/89670133


————————————————
版权声明:本文为CSDN博主「异人无双」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_34326100/article/details/103447418

原文地址:https://www.cnblogs.com/javalinux/p/15320608.html