Definición
$centerSphereDefine un círculo para un Consultageoespacial que utiliza geometría esférica. La consulta devuelve documentos dentro de los límites del círculo. Puede usar el
$centerSphereOperador tanto en objetos GeoJSON como en pares de coordenadas heredados.Para utilizar, especifique una matriz que
$centerSpherecontenga:Las coordenadas de la cuadrícula del punto central del círculo, y
El radio del círculo se mide en radianes. Para calcular radianes, consulte Convertir distancia a radianes para operadores esféricos.
{ <location field>: { $geoWithin: { $centerSphere: [ [ <x>, <y> ], <radius> ] } } } Importante
Si utiliza longitud y latitud, especifique 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 consulta 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 consulta convierte la distancia a radianes dividiéndola entre el radio ecuatorial aproximado de la Tierra, 3963.2 millas:
db.places.find( { loc: { $geoWithin: { $centerSphere: [ [ -88, 30 ], 10/3963.2 ] } } } )