Menu Docs

Página inicial do DocsDesenvolver aplicaçõesDrivers PythonPyMongo

Índices geoespaciais

Nesta página

  • Visão geral
  • Dados de amostra
  • Criar um índice geoespacial

O MongoDB suporta queries de dados de coordenadas geoespaciais utilizando índices dsphere do2. Com um índice 2dsphere , você pode executar query dos dados geoespaciais para inclusão, interseção e proximidade. Para mais informações sobre query de dados geoespaciais, consulte queries geoespaciais do .

Para criar um índice do 2dsphere , você deve especificar um campo que contém somente Objetos GeoJSON. Para obter mais detalhes sobre este tipo, consulte o guia ObjetosGeoJSON no manual do MongoDB Server .

Os exemplos neste guia usam a collection sample_mflix.theaters dos conjuntos de dados de amostra do Atlas. Para saber como criar um MongoDB Atlas cluster gratuito e carregar os conjuntos de dados de amostra, consulte Introdução ao PyMongo.

O campo location.geo no seguinte documento de amostra da coleção theaters no banco de dados sample_mflix é um objeto de ponto GeoJSON que descreve as coordenadas do teatro:

{
"_id" : ObjectId("59a47286cfa9a3a73e51e75c"),
"theaterId" : 104,
"location" : {
"address" : {
"street1" : "5000 W 147th St",
"city" : "Hawthorne",
"state" : "CA",
"zipcode" : "90250"
},
"geo" : {
"type" : "Point",
"coordinates" : [
-118.36559,
33.897167
]
}
}
}

O seguinte exemplo cria um índice 2dsphere no campo location.geo:

theaters.create_index(
[( "location.geo", "2dsphere" )]
)

O MongoDB também suporta índices 2d para calcular distâncias em um plano euclidiano e para trabalhar com a sintaxe dos "legacy coordinate pairs" usada no MongoDB 2.2 e anteriores. Para mais informações, consulte o guia de queries geoespaciais no manual do MongoDB Server .

← Text Indexes