Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/07/2011, 19h37   #1
Invité de passage
 
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Par défaut Autocomplétion des villes

Bonjour à tous,

Comment mettre en place, pour un site d'annonces auto par exemple, un système permettant d'englober dans sa recherche, les codes postaux des villes proches de x kilomètres par rapport à la ville choisie pour effectuer sa recherche?

Un exemple : http://www.autoscout24.fr/fre/home.asp ou pôle emploi
On peut par exemple faire une recherche pour le code postal 72000 en incluant les villes dans un rayon de 10 kms.

Je dispose d'une base de données de toutes les villes de France avec leurs longitude et leurs latitude ici :http://professionnels.ign.fr/fichePr...oc=5323862#top

Merci beaucoup
radion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 13h54   #2
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Votre probleme n'est pas un probleme SQL mais bel et bien d'algorithmie.
Jetez un oeil a ce lien, il va pouvoir certainement vous donner des clés pour continuer a avancer dans l'elaboration de votre projet.

Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/07/2011, 14h31   #3
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
Salut,

Je vois pas du tout en quoi ce n'est pas un problème SQL.

Si tu connais les coordonnées du code postal tapé, et que tu as en base les autres coordonnées, tu sais calculer les distances entre tes villes en base et celle que tu as saisi...

Le seul problème, c'est en cas de problème de performances arriver à placer de bons indexes.

Donc radion, il te suffit de connaître la formule de la distance (pas dur, hein ), et de mettre ça dans ton WHERE et ton ORDER BY...
__________________

(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...

Le pacblog : http://pacmann.over-blog.com/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 15h05   #4
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
Citation:
Envoyé par Yanika_bzh Voir le message
Votre probleme n'est pas un probleme SQL mais bel et bien d'algorithmie.
Jetez un oeil a ce lien, il va pouvoir certainement vous donner des clés pour continuer a avancer dans l'elaboration de votre projet.

Bon courage
Merci pour le lien, je cherchais une formule pour trouver l'orientation
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 15h14   #5
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Citation:
Envoyé par pacmann Voir le message
Salut,

Je vois pas du tout en quoi ce n'est pas un problème SQL.

Si tu connais les coordonnées du code postal tapé, et que tu as en base les autres coordonnées, tu sais calculer les distances entre tes villes en base et celle que tu as saisi...

Le seul problème, c'est en cas de problème de performances arriver à placer de bons indexes.

Donc radion, il te suffit de connaître la formule de la distance (pas dur, hein ), et de mettre ça dans ton WHERE et ton ORDER BY...
Son souci etait de trouver une méthode de calcul des distances.
Voila en quoi ce n'etait pas un pb SQL !!
Cela le deviendra peut etre plus tard, lorsqu'il lui faudra implémenter son calcul de distance.
Ne lui faites pas bruler les etapes de son projet, vous lui parlez d'indexation (architecture), de WHERE et order BY (conception) alors qu'il n'en est qu'a sa phase d'analyse... la conception viendra quand les solutions aux exigences fonctionnelles seront toutes atteintes.
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 15h24   #6
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Citation:
Envoyé par dehorter olivier Voir le message
Merci pour le lien, je cherchais une formule pour trouver l'orientation
Aucun probleme, la documentation est faite pour etre partagée
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 15h33   #7
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
Citation:
Envoyé par Yanika_bzh Voir le message
Son souci etait de trouver une méthode de calcul des distances.
Voila en quoi ce n'etait pas un pb SQL !!
Cela le deviendra peut etre plus tard, lorsqu'il lui faudra implémenter son calcul de distance.
Ne lui faites pas bruler les etapes de son projet, vous lui parlez d'indexation (architecture), de WHERE et order BY (conception) alors qu'il n'en est qu'a sa phase d'analyse... la conception viendra quand les solutions aux exigences fonctionnelles seront toutes atteintes.
Ok, j'ai zappé la complexité parce que j'ai cru que la terre est plate (Equirectangular approximation dans ton lien),

Cela dit, pour le reste, si je me place dans le cadre des problématiques SQL... c'est peut être parce que c'est un forum dédié au SQL, hein ?
__________________

(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...

Le pacblog : http://pacmann.over-blog.com/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 16h23   #8
Membre habitué
 
Étudiant
Inscription : avril 2008
Messages : 275
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2008
Messages : 275
Points : 139
Points : 139
Salut,

Je plussoie Yanika_bzh... Après avoir lu et googlé "distance fonction lattitude longitude" je me suis demandé pourquoi c'était à ce niveau un problème SQL (et pas d'algorithmie), je n'ai donc pas posté de réponse :-)... Après effectivement si t'as l'algo' pour la proc' stockée ça devient du SQL "basique".

@+
Tidus159 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 08h15   #9
Invité de passage
 
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Merci pour vos réponses,

Néanmoins on ne peut pas dire que je sois un expert en SQL, donc si je comprends bien, il faut intégrer l'une des formules du lien donné par Yanika Bzh dans un code PHP et mettre les villes avec leurs coordonnées géographiques dans le base SQL ?
radion est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 09h23   #10
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
La stratégie d'implémentation de votre formule va vous être très personnelle. Vous pouvez effectivement utiliser un langage client type PHP, vous pouvez aussi le faire via votre SGBD.

Dans tous les cas, analysez bien votre problème pour essayer d'en déduire le modèle relationnel le plus adapté.

Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h08.


 
 
 
 
Partenaires

Hébergement Web