MySQL空間數據操作:GeomFromText()和astext()函數報錯解決


報錯問題:

之前在向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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM