MBR与MySQL相交,返回空
我有一个MySQL 5.6空间数据库,其中一个表包含大约50000个多边形。我有一个WKT多边形形式的边界框的坐标,我需要从数据库中获取全部或部分位于该框内的所有多边形 我目前正在尝试以下代码,但是返回的结果集为空MBR与MySQL相交,返回空,mysql,geometry,gis,Mysql,Geometry,Gis,我有一个MySQL 5.6空间数据库,其中一个表包含大约50000个多边形。我有一个WKT多边形形式的边界框的坐标,我需要从数据库中获取全部或部分位于该框内的所有多边形 我目前正在尝试以下代码,但是返回的结果集为空 SELECT * FROM `polygons` WHERE mbrIntersects(ogc_geom,GeomFromText('POLYGON(-18 120,-10 120,-10 140,-18 140)')) 我试过MBRContains、ST_Contains、MB
SELECT * FROM `polygons` WHERE mbrIntersects(ogc_geom,GeomFromText('POLYGON(-18 120,-10 120,-10 140,-18 140)'))
我试过MBRContains、ST_Contains、MBRWithin和ST_Intersects。我还试着切换经度和纬度。所有这些都没有起到任何作用
我也试过以下方法
SELECT mbrIntersects(ogc_geom,GeomFromText('POLYGON(-18 120,-10 120,-10 140,-18 140)')) FROM `polygons`
以上只是返回了所有结果,并没有真正取得任何成果
因此,简而言之,我想知道如何从MySQL数据库中检索所提供WKT多边形中的所有多边形
谢谢有两个问题:
SELECT * FROM `polygons`
WHERE mbrIntersects(ogc_geom,
GeomFromText('POLYGON((-18 120,-10 120,-10 140,-18 140, -18 120))'));
请注意,双(多边形之后的和额外的第五个坐标对-18 120
与第一个坐标对相同使用从多边形中选择astext(ogc_geom)
;
在我的情况下,返回
多边形((4868,7668,76106,48106,4868))
多边形()中缺少代码()函数。更多详细信息请查看mysql文档。谢谢。事实上,我已经尝试过将其关闭,并且总是有额外的括号。似乎我从来没有尝试过所有这些东西,因为它现在工作正常。谢谢,以防万一它会帮助其他人。正确的顺序是mysql的经度、纬度。您也可以在这里调整你的多边形。没有直接关系,但可能会帮助其他人诊断问题,因为MBR上的文档很少。MySQL中没有固定的lat/lon顺序…顺序是应用程序的选择