我有一个 Rails 应用程序和模型中有一堆点和多边形
我正在使用 mysql > 5.6 和 Geokit gem 来生成多边形对象,我想知道是否有可能找到相邻的多边形 - 也就是说,接触我所在的多边形的多边形。
任何帮助表示赞赏 - 谢谢!
- 更新
想到一个解决方案,我想出了这个 1. 找到所有多边形对象 2. 查看哪些与我拥有的对象相交 - 如果它们相交,它们将是相邻的
现在我正在寻找如何找到它们是否相交。我相信你可以用 mysql 空间函数来做到这一点。我会报告更新。
我有一个 Rails 应用程序和模型中有一堆点和多边形
我正在使用 mysql > 5.6 和 Geokit gem 来生成多边形对象,我想知道是否有可能找到相邻的多边形 - 也就是说,接触我所在的多边形的多边形。
任何帮助表示赞赏 - 谢谢!
- 更新
想到一个解决方案,我想出了这个 1. 找到所有多边形对象 2. 查看哪些与我拥有的对象相交 - 如果它们相交,它们将是相邻的
现在我正在寻找如何找到它们是否相交。我相信你可以用 mysql 空间函数来做到这一点。我会报告更新。
找到了我的问题的答案。虽然不是 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