在Ruby中查找相邻的多边形

时间:2014-10-07 17:28:39

标签: mysql ruby-on-rails ruby geokit

我有一个Rails应用程序和模型中的一堆点和多边形

我正在使用mysql> 5.6和Geokit gem生成多边形对象,我想知道是否可以找到相邻的多边形 - 也就是说,触摸多边形的多边形我在其中。

感谢任何帮助 - 谢谢!

- 更新

想到解决方案我想出了这个 1.找到所有多边形对象 2.看哪些与我所拥有的相交 - 如果它们相交,它们就是相邻的

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

1 个答案:

答案 0 :(得分: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