报错问题:
之前在向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