Definição
$centerSphereDefine um cÃrculo para uma query geoespacial que usa geometria esférica. A query retorna documentos dentro dos limites do cÃrculo. Você pode usar o operador
$centerSphereem objetos GeoJSON e legacy coordinate pairs.Para usar
$centerSphere, especifique um array que contenha:As coordenadas de grade do ponto central do cÃrculo, e
O raio do cÃrculo em radianos. Para calcular radianos, consulte Converter distância em radianos para operadores esféricos.
{ <location field>: { $geoWithin: { $centerSphere: [ [ <x>, <y> ], <radius> ] } }}Importante
Se você utilizar longitude e latitude, especifique longitude primeiro.
Comportamento
Os aplicativos podem utilizar o $centerSphere sem ter um Ãndice geoespacial. No entanto, os Ãndices geoespaciais suportam queries muito mais rápidas do que os equivalentes não indexados.
Ambos os Ãndices geoespaciais 2dsphere e 2d suportam $centerSphere.
Exemplo
O exemplo a seguir consulta coordenadas de grade e retorna todos os documentos em um raio de 10 milhas da longitude 88 W e da latitude 30 N. A query converte a distância em radianos dividindo pelo raio equatorial aproximado da Terra, 3963,2 milhas:
db.places.find( { loc: { $geoWithin: { $centerSphere: [ [ -88, 30 ], 10/3963.2 ] } }} )