php - 将 MySQL 的 POINT 转换为 PHP 中的文本

标签 php mysql gis geospatial

使用 PHP,如何将 POINT 数据类型中的值转换为类似 POINT (-34.601020 -58.371020) 的字符串(WKT 或 GeoJSON 中的输出更可取)

如果我回显原始值,我会得到奇怪的字符。

我试过使用 bin2hex,然后尝试将十六进制转换为字符串,但没有成功。

我知道 MySQL 的 AsText(),但我想用 PHP 来实现。

最佳答案

我终于成功了!!!

我不得不使用 unpack为了从 MySQL 中提取二进制数据

$point_value = $data_from_db["point_field"];

$coordinates = unpack('x/x/x/x/corder/Ltype/dlat/dlon', $point_value);

echo $coordinates['lat'];
echo $coordinates['lon'];

Here是帮助我解决这个问题的教程

关于php - 将 MySQL 的 POINT 转换为 PHP 中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37467050/

相关文章:

php - 解析 CSV 并导入到 PHP 很慢

mysql - 我如何编写这个涉及连接的简单 sql 语句?

r - 如何将标签添加到使用 ggplot2 创建的等值线图?

javascript - 在 Django 中使用 OpenLayers 实现 map

mysql - 向 MBRContains LineFromText 中的函数 st_geometryfromtext 提供的 GIS 数据无效

php - PM系统回复功能不可用

php - 获取结果时排序不适用于 LIMIT

php - 无法使用 mysql 和 php 向表中添加值

mysql - 无法更改表来设置外键

php - 如何使用mysql中字符串形式的时间范围创建下拉时间范围