Definición
$centerSphereDefine un círculo para un query geoespacial que utiliza geometría esférica. La query devuelve documentos que se encuentran dentro de los límites del círculo. Puedes utilizar la
$centerSphereoperador tanto en GeoJSON objetos como en legacy coordinate pairs heredados.Para utilizar
$centerSphere, especifica un arreglo que contenga:Las coordenadas de la cuadrícula del punto central del círculo, y
El radio del círculo medido en radianes. Para calcular radianes, consulte Convertir distancia a radianes para operadores esféricos.
{ <location field>: { $geoWithin: { $centerSphere: [ [ <x>, <y> ], <radius> ] } } } Importante
Si usa longitud y latitud, debe especificar primero la longitud.
Comportamiento
Las aplicaciones pueden usar $centerSphere sin un índice geoespacial. Sin embargo, los índices geoespaciales admiten consultas mucho más rápidas que sus equivalentes sin indexar.
Tanto 2dsphere como 2d los índices geoespaciales admiten $centerSphere.
Ejemplo
El siguiente ejemplo query las coordenadas de la cuadrícula y devuelve todos los documentos dentro de un radio de 10 millas de longitud 88 W y latitud 30 N. La query convierte la distancia a radianes dividiéndola por el radio ecuatorial aproximado de la tierra, 3963,2 millas:
db.places.find( { loc: { $geoWithin: { $centerSphere: [ [ -88, 30 ], 10/3963.2 ] } } } )