0

我正在开发一个应用程序,我希望能得到一些关于如何在 mysql 表中存储数据的帮助。

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

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

能给我举个例子?

4

1 回答 1

0

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

然后,您可以根据http://dev.mysql.com/doc/refman/5.1/en/functions-for-testing-使用 MBRIntersects 来确定它们是否相交(或者使用 MBRWithin 或 MBRContains,如果您愿意) 几何对象之间的空间关系.html#function_mbrintersects

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

于 2013-07-09T03:31:25.040 回答