$geoIntersects (Interseção de Geometrias)
Última atualização: 2026-10-09
$geoIntersects (Interseção de Geometrias)
$geoIntersects encontra documentos cuja geometria GeoJSON intersecta a geometria fornecida. `{ loc: { $geoIntersects: { $geometry: { type: 'Polygon', coordinates: [...] } } } }`. Diferente de $geoWithin (ponto-em-área), $geoIntersects testa se duas geometrias — pontos, linhas ou polígonos — se intersectam. Exige um índice 2dsphere.
| Categoria | Geoespacial |
|---|---|
| Versão do MongoDB | 2.4+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ <campo de localização>: { $geoIntersects: { $geometry: <geometria GeoJSON> } } }
⚙️ Parâmetros
| campo de posição | O campo que armazena a localização. |
|---|---|
| geometria GeoJSON | Um objeto GeoJSON: Point, LineString, Polygon, etc. |
Retorno:Cursor dos documentos correspondentes
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $geoIntersects: paradas que intersectam uma rota
db.stops.find({
loc: { $geoIntersects: {
$geometry: { type: 'LineString', coordinates: [[0, 0], [1, 1]] }
} }
})
Saída:
// Retorna paradas que intersectam a LineString (ex.: um ponto sobre o segmento)
📌 Notas
- Diferente de $geoWithin, lida com interseção linha-polígono e polígono-polígono
- Exige um índice 2dsphere e coordenadas GeoJSON
- Os resultados não são ordenados
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QComo $geoIntersects e $geoWithin se relacionam?
A$geoWithin é ponto-dentro-de-forma; $geoIntersects é interseção de geometrias — mais abrangente.
QUm ponto na fronteira do polígono pode corresponder?
ASim, a fronteira conta como interseção.
QQual índice $geoIntersects precisa?
AUm índice 2dsphere.