MySQL多边形几何中的小数

Joh*_*nry 5 mysql geometry polygon decimal latitude-longitude

我已经高低搜索了一个线索,甚至找到了以下问题的答案,并且无处可去,因此我在这里问.

基本上,我正在尝试使用多边形填充MySQL中的Geometry列.但无论我尝试什么,该列的最终值为NULL而不是它应该是什么.

在我看来,像Polygon的点不能包含纬度和经度等小数,但如果确实如此,那似乎完全不合逻辑!如果您不能将纬度和经度数据放入其中,这种类型有什么用???!

出于这个原因,我想看看我是否遗漏了一些简单的东西.以下是我要展示的内容:

SELECT GEOMFROMTEXT('POLYGON((52.29600522644751 0.05256918782038156,52.29168750609503 0.04999426716608468,52.29425981571103 0.06121662968439523))');
Run Code Online (Sandbox Code Playgroud)

返回:

(NULL)
Run Code Online (Sandbox Code Playgroud)

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

SELECT GEOMFROMTEXT('POINT(52.29600522644751 0.05256918782038156)');
Run Code Online (Sandbox Code Playgroud)

这将返回一个实际包含X和Y点的空白值.

任何帮助将不胜感激.

小智 6

如果几何无效,则GEOMFROMTEXT返回null.用于构建多边形的线性环无效.环的起始点和终止点必须等于完成环.

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

SELECT GEOMFROMTEXT('POLYGON((52.29600522644751 0.05256918782038156,52.29168750609503 0.04999426716608468,52.29425981571103 0.06121662968439523,52.29600522644751 0.05256918782038156))')
Run Code Online (Sandbox Code Playgroud)

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