Details
Description
I've stuck with a problem of matching items inside a polygon (simple box). I can't figure out why the item which is inside the queried box is not resulting. So here what i have:
>db.testing.getIndexes();
|
{
|
"0" : {
|
"v" : 1,
|
"key" : {
|
"_id" : 1
|
},
|
"ns" : "test.testing",
|
"name" : "_id_"
|
},
|
"1" : {
|
"v" : 1,
|
"key" : {
|
"point" : "2dsphere"
|
},
|
"ns" : "test.testing",
|
"name" : "2dsphere_index"
|
}
|
}
|
Here is my documents (i've tested different formats):
>db.testing.find();
|
{
|
"_id" : ObjectId("5439c9c61120c95f4c50a369"),
|
"point" : {
|
"lng" : -80.087535,
|
"lat" : 42.054246
|
}
|
}
|
{
|
"_id" : ObjectId("5439cc6d1120c95f4c50a36a"),
|
"point" : {
|
"type" : "Point",
|
"coordinates" : [
|
-80.087535,
|
42.054246
|
]
|
}
|
} }}
|
And here is query:
|
>db.testing.find({"point": {"$geoWithin": {
"$geometry":
}}})
|
|
But the problem is that it returns zero results!
If you not sure, that point is really in square, than copy this:
{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[-80.087535,42.054246]},{"type":"Polygon","coordinates":[[[-80.267831,42.050312],[-80.267831,45.003652],[-73.362579,45.003652],[-73.362579,42.050312],[-80.267831,42.050312]]]}]}
|
and check it here.
I'm confused, could somebody help me with this please?
Also, those points is got found when we decrease polygon area to:
[[-80.159937,42.050312],[-80.05204,42.050312],[-80.05204,42.09646],[-80.159937,42.09646],[-80.159937,42.050312]]
|
If it's needed i could provide near 100 more of such points.
Thanks in advance!
Attachments
Issue Links
- is related to
-
SERVER-12479 $geoWithin picks points outside of polygon
-
- Closed
-