2014-10-07 23 views
0

我有一个Rails应用程序,并在模型一堆点和多边形的查找周边的多边形在Ruby中

我用mysql> 5.6和Geokit宝石生成多边形对象,我不知道是否有可能找到相邻的多边形 - 也就是说,碰到我所处的多边形的多边形。

任何帮助表示赞赏 - 谢谢!

- UPDATE

我想出了这个 1.找到所有多边形的解决方案的思维对象 2.看看哪些相交一个我 - 如果它们相交,他们会被邻近

现在我正在寻找如何找到它们是否相交。我相信你可以用mysql空间函数来做到这一点。我会报告更新。

回答

0

找到了我的问题的答案。虽然不是特定的geokit,但它运行良好。

我这样做是通过使用空间MySQL的功能,特别是st_disjoint

考虑到与多边形的表,我可以找到那些联合使用以下查询

select * from polygon where st_disjoint((select polygon from polygons where id=1), neighbourhoods.polygon) =0

我希望所有多边形让st_touches为此工作,但它没有按预期工作。无论st_disjoint做什么工作

下面是对这些功能的参考。

http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-object-shapes.html