Definición
$centerSphereDefine un cÃrculo para una geoespacial query que utiliza geometrÃa esférica. La query devuelve los documentos que están dentro de los lÃmites del cÃrculo. Puedes usar el operador
$centerSpheretanto en objetos GeoJSON como en legacy coordinate pairs.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 tener un Ãndice geoespacial. Sin embargo, los Ãndices geoespaciales permiten consultas mucho más rápidas que sus equivalentes no indexados.
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 ] } } } )