我正在使用MySQL中的空间对象。我有一张表格,将数据库中的遗产位置保存为“经度”和“纬度”,然后在用户请求的多边形内搜索这些遗产。我现在用的是st_contains
功能在MySQL中,就像这样:如何搜索多边形内相交的所有点?
select * from estate where ST_CONTAINS(GEOMFROMTEXT(region),POINT(plat,plon)));
中的代码片段区域具有以下格式:
"POLYGON((lat1 lng1,lat2 lng2,lat3 lng3,lat4 lng4,lat1 lng1),(lat6 lng6,lat7 lng7,lat8 lng8,lat9 lng9,lat6 lng6))"
工作一切良好,当多边形具有相互不重叠。但是,如果多边形有重叠,MySQL会减去重叠区域,并且不会检索重叠区域中的区域。我添加此图片为更多的解释:
如何正确地做这个找工作,即使有重叠的多边形?
我发现关于这个多边形(http://dev.mysql.com/doc/search/?d=12&p=1&q=polygon)文档在MySQL中。这描述我的错误...现在我正在寻找一种搜索多个多边形里面的方法 –