IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Recherche de codes postaux dans un rayon de prédéfini


Sujet :

Algorithmes et structures de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Points : 532
    Points
    532
    Par défaut Recherche de codes postaux dans un rayon de prédéfini
    Bonjour,

    Je ne savais pas vraiment où poster ce sujet, alors je le place dans une section la plus générale possible. Peut-être en base de données aurait été plus logique.

    Bref, je me pose une question à propos des moteur de recherche en fonction d'une distance. Par exemple, fut un temps, sur ebay pour rechercher un objet, on peut donner un code postal et un rayon de recherche.

    Ma question est alors, comment cette recherche se fait-elle ? J'imagine qu'il y a une fonction qui renvoie tous les codes postaux dans un rayon de n km. Mais comment elle fonctionne ? Et comment se passe le filtre qui renseigne si oui ou non un filtre est dans le rayon ?

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2012
    Messages : 30
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par oneagaindoguys Voir le message
    Bonjour,

    J'imagine qu'il y a une fonction qui renvoie tous les codes postaux dans un rayon de n km. Mais comment elle fonctionne ?
    Bonjour,

    J'imagine quelque chose comme l'algo ci dessous :
    a) Pour chaque département, faire la liste des 8 Plus grandes villes
    soit une liste d'environ 700 à 800 villes

    b) faire une matrice qui donne la distance entre 2 villes quelconques
    soit une matrice à environ 560 000 eléments

    c) pour un code postal donné par l'utilisateur du site, en déduire bureau principal de distribution . le Bureau principal de distribution est donné par les 3 premiers caractères du code postal
    exemple1 : 34000 ou 34060 ou 34070 ou 34080 = Montpellier

    NOTE : Lors de la création du code postal à cinq chiffres en 1972 une circulaire a été envoyée à chaque bureau distributeur pour que les huit principales villes de chaque département français possède un code finissant par 100, 200, 300... jusqu'à 800 et les préfectures se terminant par "000" (source: wikipedia)

    d) en utilisant la matrice , et le bureau de distribution fourni, rechercher toutes les villes situés à une distance <= au rayon donné

    e) faire la liste de tous les objets situés dans ces villes ou situés dans les villages dont le code postal se référe à un bureau de distribution appartenant à cette liste de villes
    cordialement

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Pour implémenter une distance à vol d'oiseau, on peut utiliser les données suivantes pour la France.

    L'onglet "Commune" du fichier (1) fournit la correspondance entre code INSEE ("code département" + "code commune") et code postal + nom de commune + ...

    Le fichier (2) RGC_2009.TXT fournit à partir du Code INSEE ("DEP" + "COM") les coordonnées géographiques ("LONGI_DMS" + "LATI_DMS").

    En croisant les 2 fichiers, on peut associer des coordonnées géorgraphiques à un code postal. Il ne reste plus qu'à faire un simple calcul de distance orthodromique :
    d=acos(sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon1-lon2))
    d, lon et lat en radians / 2 * PI radians = 40 000 km

    Lien pour le téléchargement des données (1) "2Mo - XLS" et (2) "2Mo - TAB":
    http://www.infosig.net/les-donnees-s...-sig-gratuites
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Points : 532
    Points
    532
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Bonjour,

    Pour implémenter une distance à vol d'oiseau, on peut utiliser les données suivantes pour la France.

    L'onglet "Commune" du fichier (1) fournit la correspondance entre code INSEE ("code département" + "code commune") et code postal + nom de commune + ...

    Le fichier (2) RGC_2009.TXT fournit à partir du Code INSEE ("DEP" + "COM") les coordonnées géographiques ("LONGI_DMS" + "LATI_DMS").

    En croisant les 2 fichiers, on peut associer des coordonnées géorgraphiques à un code postal. Il ne reste plus qu'à faire un simple calcul de distance orthodromique :
    d=acos(sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon1-lon2))
    d, lon et lat en radians / 2 * PI radians = 40 000 km

    Lien pour le téléchargement des données (1) "2Mo - XLS" et (2) "2Mo - TAB":
    http://www.infosig.net/les-donnees-s...-sig-gratuites
    Il s'agit d'une idée ou c'est réellement comme ça que ça fonctionne ?

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Il s'agit d'une idée ou c'est réellement comme ça que ça fonctionne ?
    Dans la grande majorité des cas, c'est bien le principe.

    Trouver la distance par la route suppopse des calculs de plus court chemin qui demandent du temps machine (ainsi qu'une cartographie routière détaillée).
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Points : 532
    Points
    532
    Par défaut
    D'accord, merci pour votre aide. Merci pour ces renseignements. Les fichiers sont régulièrement mis à jour ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/02/2014, 09h25
  2. probleme de code postaux dans word
    Par tof1801 dans le forum Word
    Réponses: 2
    Dernier message: 20/01/2010, 12h35
  3. Recherche d'un String dans le code d'une page
    Par MyWork dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/04/2007, 19h52
  4. recherche code postaux
    Par fscli dans le forum Access
    Réponses: 4
    Dernier message: 04/05/2006, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo