2014-10-07 61 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