Reverse geocoding - suis-je au milieu d'un champ ?

Bonjour,

je cherche à savoir ma “position” exacte à partir d’une coordonnées GPS. Exemples : dans un champ, au milieu d’un lac, dans une zone cultivée, sur une autoroute, etc.

Nominatim fournit l’addresse la plus proche, excepté lorsque je suis sur un node cela ne répond pas à mon besoin :confused:

Merci d’avance de vos idées


david

C’est un petit peu différent du géocodage inverse même si sur le principe ça y ressemble.

overpass permet de chercher les objets autour d’une coordonnée, exemple:

[out:json];
(
node~"."~".";
way~"."~".";
relation(around:50,48.85,2.55);
);
out center;

à tester sur http://overpass-turbo.eu/s/ep7

Pour info, le [~"."~"."] sert à éliminer les objets sans tag (cas de beaucoup de noeuds qui servent à définir les way mais aussi de quelques way qui servent à définir des multipolygones.

Le résultat n’est pas trié par distance, mais c’est une première solution hyper simple. Cependant pour les landuse ça risque de na pas trop bien fonctionner car ils sont en général très grands et cette recherche overpass se fait semble-t-il via les centres des géométries qui risquent d’être bien plus loin.

Pour un résultat plus optimal, il faudra sûrement passer par une base de type postgres/postgis ou sqlite/spacialite dans laquelle tu peux ne charger que ce qui t’intéresse.
Là, la requête peut vraiment trouver les objets qui recouvrent le point donné, où les objets à proximité et calculer les distance pour les trier, etc.