我正在将 GeoDjango 与 MySQL 一起使用。我使用了一个models.PointField(srid=4326)
对象,一切正常,数据已正确保存并从数据库中检索,但是当我select * from table
从 MySQL 命令行执行操作时,PointField
字段数据显示不可读的字符,而不是POINT(x,y)
我预期的表单。
这是正常行为吗?
是的,这很正常。数据以二进制格式存储。
尝试select AsText(geom) from table
“geom”是几何列的名称。
你可以ST_AsText
用来存储点
mysql> SELECT ST_Y(Point(56.7, 53.34));
+--------------------------+
| ST_Y(Point(56.7, 53.34)) |
+--------------------------+
| 53.34 |
+--------------------------+
mysql> SELECT ST_AsText(ST_Y(Point(56.7, 53.34), 10.5));
+-------------------------------------------+
| ST_AsText(ST_Y(Point(56.7, 53.34), 10.5)) |
+-------------------------------------------+
| POINT(56.7 10.5) |
+-------------------------------------------+
您可以参考链接了解更多详情: https ://dev.mysql.com/doc/refman/8.0/en/gis-point-property-functions.html