MySQL 选择空间字段值并使用 PHP 转换为 WKT

Posted

技术标签:

【中文标题】MySQL 选择空间字段值并使用 PHP 转换为 WKT【英文标题】:MySQL select spatial field value and convert to WKT with PHP 【发布时间】:2014-06-25 15:53:55 【问题描述】:

如果从 mysql 中选择空间字段值而不将其转换为查询中的文本,我会在 php 中得到一个“不可读”的字符串。我可以使用哪个函数将其转换为 WKT?

例子:

SELECT AsText(polygon_field) FROM Table; // gives a nice WKT string.
SELECT polygon_field FROM Table; // gives an unreadable (binary?) string.

由于我们使用的框架的限制,如果该字符串可以使用 PHP 转换为 WKT,那就太好了。关于使用什么功能的任何想法?似乎找不到任何东西,因为我找到的所有示例都依赖于 MySQL 函数 AsText :-(

【问题讨论】:

【参考方案1】:

结果是 MySQL (see the manual on fetching values) 的列的内部格式。 This format is neither WKB (well known binary) nor WKT (well known text).

我不希望任何其他软件能够解析这些值,特别是因为 MySQL 提供了辅助函数 AsTextAsBinary,它们很容易使用(如果不使用阻碍框架的话)。

您可以创建一个视图,其中包含列的AsText 输出作为列本身。这只会在您选择时帮助您,但也许这就是您所需要的。

【讨论】:

以上是关于MySQL 选择空间字段值并使用 PHP 转换为 WKT的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP PDO 准备语句和 MySQL 选择字段为空的行

PHP:如何存储和复选框值并更新它们

使用 PHP 将 mm/dd/yyyy 格式转换为纪元

使用 PHP 从动态输入字段中捕获数组值并通过电子邮件发送它们

将日期字符串转换为 mysql 日期时间字段

使用 PHP 选择并显示 MySQL 表中的所有字段以获取无限量的列