2014-10-30 39 views
0

我使用MongoDB的存储与几何形状在这种格式为什么我会得到以外的多边形值与geoIntersect

"geometry" : { "type" : "Polygon", "coordinates" : [ [ [ 2.0315, 85.8546219515 ], [ 2.0315, 86.1673780485 ], [ 1.7185, 86.1673780485 ], [ 1.7185, 85.8546219515 ], [ 2.0315, 85.8546219515 ] ] ] } 

我试图使用geoIntersect和使用这样的查询矩形多边形多边形:

find({geometry:{$geoIntersects:{$geometry:{"type": "Polygon", "coordinates":[ [[12,20], [13,20], [13,18], [12,18], [12,20]]]}}}}) 

当我做小查询那样,结果都很好,但是当我扩大到真正的大箱子:

find({geometry:{$geoIntersects:{$geometry:{"type": "Polygon", "coordinates":[ [[-166.2890625,46.55886030311719], [-166.2890625,47.39834920035926], [12.12890625,47.39834920035926], [12.12890625,46.55886030311719], [-166.2890625,46.55886030311719]]]}}}}) 

然后我开始变得非常奇怪的结果一样

"geometry" : { "type" : "Polygon", "coordinates" : [ [ [ 2.9684999999999997, 85.54162195149999 ], [ 2.9684999999999997, 85.8543780485 ], [ 2.6555, 85.8543780485 ], [ 2.6555, 85.54162195149999 ], [ 2.9684999999999997, 85.54162195149999 ] ] ] } 

我只返回从数据库实际上是我的输入多边形内部的几个多边形(共4个):

"geometry":{"type":"Polygon","coordinates":[[[12.343499999999999,47.1416219515],[12.343499999999999,47.454378048500004],[12.0305,47.454378048500004],[12.0305,47.1416219515],[12.343499999999999,47.1416219515]]]}} 
"geometry":{"type":"Polygon","coordinates":[[[12.343499999999999,46.829621951499995],[12.343499999999999,47.1423780485],[12.0305,47.1423780485],[12.0305,46.829621951499995],[12.343499999999999,46.829621951499995]]]}} 
"geometry":{"type":"Polygon","coordinates":[[[-166.0935,46.5166219515],[-166.0935,46.829378048500004],[-166.4065,46.829378048500004],[-166.4065,46.5166219515],[-166.0935,46.5166219515]]]}} 
"geometry":{"type":"Polygon","coordinates":[[[-166.0935,46.829621951499995],[-166.0935,47.1423780485],[-166.4065,47.1423780485],[-166.4065,46.829621951499995],[-166.0935,46.829621951499995]]]}} 

我不应该在我的意见中,有八十年代的任何纬度。我不知道这些来自哪里。它们构成返回的大部分。 (847/851结果)

回答

0

我不认为多边形适合一个半球。从$geoIntersects docs,

用GeoJSON指定为$ geoIntersects查询的任何几何都必须适合单个半球。

+0

谢谢你的回复。当我使用较小的区域时呢?我发现,一旦我的经度范围> 8.5度,我就开始得到不正确的值 - 只是不太严重的失真。有关为什么可能发生的任何想法?如有必要,我可以发布一个输入/输出示例。 – lthomas 2014-11-03 15:40:30

相关问题