Sommaire

Introduction

Nous savons maintenant qu’il convient d’utiliser des objets GeoJSON pour réaliser des requêtes géospatiales. Voici une collection exemple nommée avignon qui recense certains des monuments importants et endroits remarquables de la cité papale. Ces endroits sont tous matérialisés sous la forme d’objets GeoJSON de type Point :

db.avignon.insertMany([{ 
   "nom": "Palais des Papes", 
   "localisation": { 
       "coordinates": [43.9507, 4.8075], 
       "type": "Point" 
   } 
}, 
{ 
   "nom": "Pont Saint-Bénézet", 
   "localisation": { 
       "coordinates": [43.95397, 4.80478], 
       "type": "Point" 
   } 
}, 
{ 
   "nom": "Collection Lambert", 
   "localisation": { 
       "coordinates": [43.944787, 4.804031], 
       "type": "Point" 
   } 
}])

Nous créons immédiatement un index de type 2dsphere sur le champ localisation de notre collection afin de pouvoir effectuer nos futures requêtes :

db.avignon.createIndex({"localisation": "2dsphere"})

En parallèle, ...