MySQL多边形几何中的小数

Posted

技术标签:

【中文标题】MySQL多边形几何中的小数【英文标题】:Decimals in MySQL Polygon Geometry 【发布时间】:2012-03-02 09:15:08 【问题描述】:

我已经到处搜索了以下问题的线索甚至答案,但一无所获,因此我在这里问。

基本上,我正在尝试用多边形填充 mysql 中的 Geometry 列。但无论我尝试什么,该列最终的值为 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 点的空白值。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于MySQL多边形几何中的小数的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中的GIS几何函数和空间分析函数

boost几何中的环和多边形有什么区别?

几何画板演示多边形滚动动画的方法

将查询结果插入 mysql 中的列时,无法从发送到 GEOMETRY 字段的数据中获取几何对象

MySQL数据类型 - 空间数据类型

在 Oracle 中裁剪多边形