Suite

Coordonnées de latitude et de longitude dans le code postal avec les noms de ville


Voici mon problème.

J'ai un fichier csv, avec les coordonnées de latitude et de longitude. J'aurais besoin de connaître le nom des villes françaises et les codes postaux correspondants qui correspondent à ces coordonnées.

Mes coordonnées initiales semblent être assez précises car j'utiliseVille de géolite de Maxmind. J'essaie de faire correspondre les coordonnées avec l'ensemble de données de ce site Web.

http://public.opendatasoft.com/explore/dataset/correspondance-code-insee-code-postal/?tab=export&location=3,18.54017,-3.01253&basemap=mapquest

Cependant, les coordonnées lors de la mise en correspondance ne fonctionnent pas correctement.

La question est la suivante : Existe-t-il un outil en ligne où je peux charger un fichier csv avec les coordonnées et whave en retour, les codes postaux et les noms de ville ?

J'insiste pour les villes françaises car je suis en France.


Oui, vous pouvez utiliser ce site pour le traitement par lots :

Conversions par lots de latitude/longitude en adresse (géocodage inversé)

46.7270,2.5059 = Rue des Varennes, Saint-Amand-Montrond, Cher, Centre, France métropolitaine, 18200, France

Ce site utilise le service de géocodage inversé MapQuest. Vous devrez appliquer une logique supplémentaire pour analyser le nom de la ville et les informations zip.


Ce que vous devez faire est une jointure spatiale sur les coordonnées lat/long et les zones postales françaises

Voici le tutoriel http://www.qgistutorials.com/en/docs/performing_spatial_joins.html

Les zones postales GIS DATA… se trouvent sur ce site

https://www.data.gouv.fr/en/datasets/correspondances-code-insee-code-postal-idf/

J'espère que cela t'aides!!


Après de nombreuses tentatives et même en contactant l'homme,Denis Carrière, qui a créé le module de géocodeur sur Python, veuillez trouver la solution ci-dessous.

Je me sens un peu épuisé après avoir fourni cette première incursion dans le développement, bien que mon script était différent au départ, mais je suis satisfait des résultats et des aides. :)

Tout est fait enPython, bien sûr.

import geocoder import unicodecsv import logging import time import csv pcode=[] avec open('locs2.csv', 'rb') comme f: reader = csv.DictReader(f) pour la ligne dans le lecteur : lat = float(line[' lat']) lon = float(line['lon']) g = geocoder.mapquest([lat,lon], method="reverse") tentatives = 1 # nombre de recherches sans (g.ok) et tentatives < 4: logging.warning('Geocoding ERROR: {}'.format(g.debug())) time.sleep(2) # 2 secondes sont spécifiées dans l'API. Si vous obtenez toujours des erreurs, c'est parce que vous avez atteint le quota quotidien. g = geocoder.mapquest([lat,lon], method="reverse") tentatives += 1 si tentatives > 3: logging.warning('Quota quotidien de recherches google dépassé.') break pcode.extend(g.postal) logging.info('SUCCES du géocodage : ({},{},{})'.format(lat,lon,pcode))

Lien ici : https://stackoverflow.com/questions/26914900/reverse-geocoding-with-python-geocoder