Trouver à quel département appartient un lieu

Je cherche un moyen de déterminer dans quel département se trouve un point à partir de ses coordonnées géographiques.
J’ai essayé Nominatim, mais ce n’est pas fiable.
Par exemple, cette requête :
https://nominatim.openstreetmap.org/reverse?format=json&lat=43.797333&lon=5.132963
renvoie bien un champ ISO3166-2-lvl6 avec la valeur « FR-84 », mais celle-ci :
https://nominatim.openstreetmap.org/reverse?format=json&lat=44.264765&lon=6.705984
ne renvoie pas cette information.

Est-ce un problème de données dans OSM ? Connaissez-vous un autre moyen utilisable ?

OSM retourne bien le département, donc le soucis est plutôt du côté de Nominatim.

2 Likes

Pour ce genre de requête bien précise, il vaut mieux faire une recherche géométrique directement dans les polygones des départements plutôt qu’un géocodage inverse qui ratisse très large.

Merci pour vos réponses. @cquest : j’ai trouvé les contours des départements sur data.gouv.fr, mais est-il possible de s’en sortir sans utiliser une BDD comme Postgresql/PostGIS ?

1 Like

Sqlite / Spatialite… est plus léger

Tout dépend du code qui va avoir besoin d’obtenir ce résultat.
Tu peux trouver du code javascript ou python (avec shapely) qui gèrera directement ça.

C’est quoi le contexte de ce besoin ?

J’ai aussi trouvé shapely, je vais faire quelques essais en Python.

Bonjour,
Je me réveille un peu tard, et je ne sais pas si ça répond à votre question, mais pour ma part, j’utilise la requête overpass suivante pour trouver le pays, les régions/départements, et la ville :

Pour les départements, je post-traite la réponse car entre les départements métropolitains et les DOM-TOM, le tag admin_level n’est pas le même.

Avec les outils gdal/ogr, cela peut se faire sur la ligne de commande. On crée un fichier gpkg à partir du fichier shape :

ogr2ogr departements.gpkg departements-20180101.shp

Puis la requête est simple :

ogr2ogr -dialect SQLite -sql "select nom from 'departements-20180101' where within(makepoint($LON, $LAT), geom)" resultat.geojson departements.gpkg

On trouve le nom du département dans le fichier geojson.