要检查Mysql的两个点是否为矩形

时间:2013-07-02 16:56:07

标签: mysql maps routes

我正在开发一个应用程序,我很感激有关如何在mysql表中存储数据的一些帮助。

我有两点 - A点和B点是起点和终点。 我已经编写了一些php函数,它将创建类似于的矩形: http://googlegeodevelopers.blogspot.com/2010/05/search-along-route-made-easy-with.html

然而,根据路线和半径,它会产生不同数量的矩形。将这些矩形保存到数据库中的最佳方法是什么,所以稍后我可以查询数据库并检查是否有另外两个点(开始/结束)在这些矩形中。

你能举个例子吗?

1 个答案:

答案 0 :(得分:0)

最简单的方法是将矩形存储为多边形 http://dev.mysql.com/doc/refman/4.1/en/polygon-property-functions.html

然后,您可以使用MBRIntersects来确定它们是否相交(或者如果您愿意,可以使用MBRWithin或MBRContains), http://dev.mysql.com/doc/refman/5.1/en/functions-for-testing-spatial-relations-between-geometric-objects.html#function_mbrintersects

对于时髦形状的多边形,这是不够的,但矩形边界框的MBR(最小边界框)将与矩形本身完全相同。