如何使用PHP将点从MySql数据库转换为WKT?

时间:2016-09-03 09:38:16

标签: php mysql wkt

在MySql数据库中,我有点(成对的纬度和经度表示为双精度),如下所示:

LATITUDE | LONGITUDE
---------|----------
45.045664| 46.084528
26.938933| 60.903848
       .....

现在,我需要的是从我的数据库中获取这些点(这根本不是问题)并以WKT格式回显它们(这部分我不知道)。此PHP脚本将成为Windows App使用的API的一部分。

所以问题是:如何将点转换为WKT格式?我可以使用任何插件吗?哪种方法最好?

提前致谢。

更新

输出应该看起来像WKT线,例如:

LINESTRING(3 4,10 50,20 25)

1 个答案:

答案 0 :(得分:1)

Mysql有自己的GIS转换函数,可将存储在其内部几何数据类型中的数据转换为文本表示形式,例如WKT。

具体来说,使用ST_AsWKT(g) or ST_AsText(g)函数将数据转换为WKT格式:

  

将内部几何格式的值转换为其WKT表示   并返回字符串结果。

mysql> SET @g = 'LineString(1 1,2 2,3 3)'; mysql> SELECT
ST_AsText(ST_GeomFromText(@g));
+--------------------------------+ | ST_AsText(ST_GeomFromText(@g)) |
+--------------------------------+ | LINESTRING(1 1,2 2,3 3)        |
+--------------------------------+
     

ST_AsText(),ST_AsWKT(),AsText()和AsWKT()是同义词。