mysql - MySQL多边形几何中的小数

标签 mysql geometry decimal polygon latitude-longitude

我四处搜寻以寻找以下问题的线索甚至答案,但一无所获,所以我在这里提问。

基本上,我试图用多边形填充 MySQL 中的几何列。但无论我尝试什么,该列最终的值为 NULL 而不是它应该是的值。

在我看来,多边形的点不能包含纬度和经度等小数,但如果确实如此,那似乎完全不合逻辑! 如果你不能把纬度和经度数据放进去,这种类型有什么用?!?!

出于这个原因,我想看看我是否遗漏了一些简单的东西。这是我必须展示的内容:

SELECT GEOMFROMTEXT('POLYGON((52.29600522644751 0.05256918782038156,52.29168750609503 0.04999426716608468,52.29425981571103 0.06121662968439523))');

返回:

(NULL)

然而,如果我创建一个点几何类型:

SELECT GEOMFROMTEXT('POINT(52.29600522644751 0.05256918782038156)');

这将返回一个空白值,它实际上包含 X 和 Y 点。

如有任何帮助,我们将不胜感激。

最佳答案

如果几何无效,GEOMFROMTEXT 返回 null。 您用来构建多边形的线性环无效。环的起点和终点必须相等才能完成环。

在这种情况下,一个有效的多边形是:

SELECT GEOMFROMTEXT('POLYGON((52.29600522644751 0.05256918782038156,52.29168750609503 0.04999426716608468,52.29425981571103 0.06121662968439523,52.29600522644751 0.05256918782038156))')

这将返回预期值而不是 NULL。

关于mysql - MySQL多边形几何中的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9530671/

相关文章:

php - 如何将相应的 var 发送到没有表单或 url 的第二个 php 页面?

java - LWJGL/OpenGL 绘制的线在拐角处不完全相交

algorithm - 检测三角网格内的四面体?

assembly - 压缩十进制到 ASCII 汇编

mysql - 从 MySQL 中的两个表中检索重复项

php - 如果 Doctrine 结果包含日期时间,则会崩溃

c++ - 了解点相对于直线的相对位置的最佳方法是什么?

java - 除法时任意位数的小数

decimal - 十六进制 0x0001 与 0x00000001

Mysql查询左连接错误