summaryrefslogtreecommitdiff
path: root/jstests/core/geo_s2multi.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/geo_s2multi.js')
-rw-r--r--jstests/core/geo_s2multi.js70
1 files changed, 51 insertions, 19 deletions
diff --git a/jstests/core/geo_s2multi.js b/jstests/core/geo_s2multi.js
index 8d86f8ad08c..2cd6a3d73d7 100644
--- a/jstests/core/geo_s2multi.js
+++ b/jstests/core/geo_s2multi.js
@@ -4,38 +4,70 @@ t.drop();
t.ensureIndex({geo: "2dsphere"});
// Let's try the examples in the GeoJSON spec.
-multiPointA = { "type": "MultiPoint", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] };
+multiPointA = {
+ "type": "MultiPoint",
+ "coordinates": [[100.0, 0.0], [101.0, 1.0]]
+};
assert.writeOK(t.insert({geo: multiPointA}));
-multiLineStringA = { "type": "MultiLineString", "coordinates": [ [ [100.0, 0.0], [101.0, 1.0] ],
- [ [102.0, 2.0], [103.0, 3.0] ]]};
+multiLineStringA = {
+ "type": "MultiLineString",
+ "coordinates": [[[100.0, 0.0], [101.0, 1.0]], [[102.0, 2.0], [103.0, 3.0]]]
+};
assert.writeOK(t.insert({geo: multiLineStringA}));
-multiPolygonA = { "type": "MultiPolygon", "coordinates": [
- [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]],
- [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]],
- [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]]]};
+multiPolygonA = {
+ "type": "MultiPolygon",
+ "coordinates": [
+ [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]],
+ [
+ [[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]],
+ [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]
+ ]
+ ]
+};
assert.writeOK(t.insert({geo: multiPolygonA}));
-assert.eq(3, t.find({geo: {$geoIntersects: {$geometry:
- {"type": "Point", "coordinates": [100,0]}}}}).itcount());
-assert.eq(3, t.find({geo: {$geoIntersects: {$geometry:
- {"type": "Point", "coordinates": [101.0,1.0]}}}}).itcount());
+assert.eq(3,
+ t.find({geo: {$geoIntersects: {$geometry: {"type": "Point", "coordinates": [100, 0]}}}})
+ .itcount());
+assert.eq(3,
+ t.find({
+ geo: {$geoIntersects: {$geometry: {"type": "Point", "coordinates": [101.0, 1.0]}}}
+ }).itcount());
// Inside the hole in multiPolygonA
-assert.eq(0, t.find({geo: {$geoIntersects: {$geometry:
- {"type": "Point", "coordinates": [100.21,0.21]}}}}).itcount());
+assert.eq(
+ 0,
+ t.find({geo: {$geoIntersects: {$geometry: {"type": "Point", "coordinates": [100.21, 0.21]}}}})
+ .itcount());
// One point inside the hole, one out.
-assert.eq(3, t.find({geo: {$geoIntersects: {$geometry:
- {"type": "MultiPoint", "coordinates": [[100,0],[100.21,0.21]]}}}}).itcount());
-assert.eq(3, t.find({geo: {$geoIntersects: {$geometry:
- {"type": "MultiPoint", "coordinates": [[100,0],[100.21,0.21],[101,1]]}}}}).itcount());
+assert.eq(
+ 3,
+ t.find({
+ geo: {
+ $geoIntersects:
+ {$geometry: {"type": "MultiPoint", "coordinates": [[100, 0], [100.21, 0.21]]}}
+ }
+ }).itcount());
+assert.eq(
+ 3,
+ t.find({
+ geo: {
+ $geoIntersects: {
+ $geometry:
+ {"type": "MultiPoint", "coordinates": [[100, 0], [100.21, 0.21], [101, 1]]}
+ }
+ }
+ }).itcount());
// Polygon contains itself and the multipoint.
assert.eq(2, t.find({geo: {$geoWithin: {$geometry: multiPolygonA}}}).itcount());
-partialPolygonA = { "type": "Polygon", "coordinates":
- [ [[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]] ] };
+partialPolygonA = {
+ "type": "Polygon",
+ "coordinates": [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]]
+};
assert.writeOK(t.insert({geo: partialPolygonA}));
// Polygon contains itself, the partial poly, and the multipoint
assert.eq(3, t.find({geo: {$geoWithin: {$geometry: multiPolygonA}}}).itcount());