原始數據/數據庫要顯示的數據:
ID | CITY | DISTRICT | NAME | COORDINATE_gcj02 |
---|---|---|---|---|
494165 | 成都市 | 成華區 | 成渝立交地鐵站C口 | POINT(104.147775 30.625014) |
其中COORDINATE_gcj02
字段屬於空間座標字段point
插入
錯誤的插入語句
insert into database.metro_info
(CITY,DISTRICT,NAME,COORDINATE_gcj02)
values
("成都市","成華區","成渝立交地鐵站C口","POINT(104.147775 30.625014)")
報錯:
1416 - Cannot get geometry object from data you send to the GEOMETRY field
對POINT數據加上POINTFROMTEXT or GeomFromText
但使用Python操作MySQL語句,提示:
Warning: (1287, "'POINTFROMTEXT' is deprecated and will be removed in a future release. Please use ST_POINTFROMTEXT instead")
警告:POINTFROMTEXT and GeomFromText 方法將被移除,建議使用ST_POINTFROMTEXT or ST_GeomFromText
正確的插入語句
insert into database.metro_info
(CITY,DISTRICT,NAME,COORDINATE_gcj02)
values
("成都市","成華區","成渝立交地鐵站C口",ST_POINTFROMTEXT("POINT(104.147775 30.625014)"))
查詢
在MySQL中直接查詢, 沒有問題
select ID, city, ST_ASTEXT(COORDINATE_gcj02)
from metro_info
但是
在Python中查詢, POINT數據會顯示二進制, 想要達到MySQL中的查詢效果
對POINT數據加上ST_ASTEXT
正確的查詢語句
select ID, city, ST_ASTEXT(COORDINATE_gcj02)
from metro_info