[SERVER-11618] $geoWithin with a Polygon "ring" fails Created: 07/Nov/13  Updated: 10/Dec/14  Resolved: 07/Nov/13

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: 2.5.3
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Alvin Richards (Inactive) Assignee: A. Jesse Jiryu Davis
Resolution: Done Votes: 0
Labels: 26qa, nqf, query_triage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

> db.serverBuildInfo()
{
"version" : "2.5.4-pre-",
"gitVersion" : "9766387567e366e167835880818369cee7f8d42d",
"OpenSSLVersion" : "",
"sysInfo" : "Darwin vero 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49",
"loaderFlags" : "-fPIC -pthread -Wl,-bind_at_load -mmacosx-version-min=10.6",
"compilerFlags" : "-Wnon-virtual-dtor -Woverloaded-virtual -fPIC -fno-strict-aliasing -ggdb -pthread -Wno-unknown-pragmas -Winvalid-pch -pipe -O3 -Wno-unused-function -Wno-deprecated-declarations -mmacosx-version-min=10.6",
"allocator" : "tcmalloc",
"versionArray" : [
2,
5,
4,
-100
],
"javascriptEngine" : "V8",
"bits" : 64,
"debug" : false,
"maxBsonObjectSize" : 16777216,
"ok" : 1
}


Attachments: File server11618.js    
Issue Links:
Duplicate
duplicates SERVER-10867 2dsphere Polygon parsing error Closed
Related
Operating System: ALL
Participants:

 Description   

Problem:
A $geoWithin with a Polygon "ring" fails in 2.5.4-Pre (whereas is returns data in 2.4.5)

Reproduce:

db.q.drop()
db.q.insert({ "_id" : 5, "loc" : { "type" : "Point", "coordinates" : [  0,  90 ] } })
db.q.find( { "loc" : { $geoWithin : { $geometry : { type : "Polygon" , coordinates : [ [ [2,2],[3,3],[4,2],[2,2] ] , [ [0,0],[-180,0],[-180,90],[180,90],[0,0] ] ] } } } } )

2.4.5 - returns data
2.5.4-Pre

error: { "$err" : "bad query: BadValue bad geo query", "code" : 16810 }



 Comments   
Comment by Daniel Pasette (Inactive) [ 07/Nov/13 ]

I believe this works as designed.

See the GeoJSON spec on polygons:
http://geojson.org/geojson-spec.html#polygon

For type "Polygon", the "coordinates" member must be an array of LinearRing coordinate arrays. For Polygons with multiple rings, the first must be the exterior ring and any others must be interior rings or holes.

Generated at Thu Feb 08 03:26:18 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.