MySQL-地理-空间对象
-
14-09-2019 - |
题
我一直在Postgis点在聚的我有这个功能:
select*from table_name在st_contains(柱,st_setsrid(st_makepoint(-92.095109, 46.804100),4326));
列是一个multipoly(((分)))
我试图找到一种方法来做一个类似的活动与MySQL,并想知道是否有类似的功能这样做。开发网站MySQL是非常有限的描述和文件Multipolys.
有没有人做这样的事情?
解决方案
MySQL没有实现很多的空间查询--我不肯定知道关于包含的,但有一些方法近似和它的其他职能。例如,你可以做点之间的距离拉的所有结果与坐标给定的矩形,然后计算的距离为描述 在这里。 你也可以使用的矩形,对于一个近似的 contains
问题。首先,一个更一般的WKT语法你的选择:
select * from table_name where contains(the_polygon, GeomFromText('POINT(12.3 45.6)');
我认为,开放的规范 contains
是没有实现,但是有一个MySQL功能使用 最小的边框 近是否你点是在多边形:
select * from table_name where MBRContains(the_polygon, GeomFromText('POINT(12.3 45.6)');
我已经结束了使用大量的长方形大MySQL因为这是很容易计算的外部界限坐标集。总体PostGIS要好得多,但可以做几个跨数据库的事情,如果你要。
更新:之后这个问题是问一个 好的摘要 被张贴到opengeo.org ;它看来,即使它不是显而易见的,或者说MySQL经常使用的MBR。还看看地postgres类型 point, lseg, box, path, polygon,
和 circle
如果你想了解更多关于如何PostGIS工作以及为什么其2d功能的实施者具有较短的行锄头。