Bonjour,

Je dois stocker en base les positions GPS de lieux partout dans le monde. Ils seront définis par leurs coordonnées (latitude, longitude). Ils auront aussi une adresse plus ou moins complète: au minima le Pays, sûrement une ville et selon l'adresse complète.
Une application mobile demandera fréquemment la liste des lieux autour de la position GPS de l'utilisateur.
Je ferai donc un premier filtre SQL sur le pays mais ensuite quelle solution me conseillez vous afin d'alléger la charge du serveur? Sachant qu'il pourrait y avoir des millions d'entrées dans ma base et des milliers d'utilisateurs qui feraient des requêtes.

J'imagine utiliser Postgresql comme base. J'ai vu qu'il y avait l'extension PostGis pour gérer les données spatiales mais je n'ai pas vraiment trouvé d'info sur la recherche autour de position. Est ce adapté? J'imagine que c'est fait pour? Est ce que quelqu'un aurait des exemples d'utilisation?

J'ai du mal à trouver de la doc sur le sujet en général...
J'ai trouvé cet article sur la création de secteurs associés à chaque paire (latitude, longitude). C'est le seul que j'ai trouvé et pour SQL Server... Ça me semble efficace mais il y a certainement des méthodes plus performantes?

Sinon je suis tombé sur les geohash. Ça parait pratique mais la recherche se fait par comparaison de chaînes de caractères (cf ici).
Du coup j'imagine que c'est moins performant que la solution de grille de secteurs évoquée au dessus. Qu'en pensez vous? Quel temps de réponse pour une grosse base?

De manière générale, quelle est la méthode utilisée par les machines à gaz comme Google Map, Uber, Tinder....

Merci d'avance pour vos conseils