[PYTHON] Suche nach geografisch nächstgelegenen Daten (MongoDB)

Hallo. Dies ist ein Beispiel für eine Funktion, die die Daten des nächsten Nachbarn von einem bestimmten Punkt aus mit MongoDB + Python (Pymongo) durchsucht (unter der Annahme einer `` `2dsphere```-Indizierung).

$maxdistanceAuch angegeben, und wenn nichts gesucht wird, definiertno_dataIch versuchte zurückzukehren. Geändert, um die empfohlene API zu verwenden[^1]。

[^ 1]: Wenn Sie in diesem Beispiel `$ geoNear```,` .count () `` `verwenden, ist es derzeit veraltet. Sie können auch auf "MongoDB Geospatial Index Query Organization" verweisen.

NO_DATA = {}
def 2dsphere_near():
  point = [135.0, 35.0]
  query = {"loc": {"$nearSphere": {
           "$geometry": {"type": "Point", "coordinates": point},
           "$maxDistance": 1000}}}  # in meter
  for nearest_data in mycollection.find(query).limit(1):
    return nearest_data
  return NO_DATA

Recommended Posts

Suche nach geografisch nächstgelegenen Daten (MongoDB)
Ungefähre Suche nach dem nächsten Nachbarn für eine ähnliche Bildanalyse (für Anfänger) (1)