我一直在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功能的实施者具有较短的行锄头。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top