報錯問題:
之前在向MySQL導入經緯度數據的時候,用GeomFromText()方法來將字符串格式的空間點坐標轉化為Geometry類型,得到了如下的報錯:
FUNCTION db.GeomFromText does not exist
解決辦法:
統一在GeomFromText()前面加ST_,也就是ST_GeometryFromText('POINT(經度 緯度)'),原因是MySQL在8.0版本后修改了該函數的命名,原來的函數名被棄用了。
astext()用ST_AsText()替換。
知識拓展:
在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