Système de recherche par code postal + rayon de x kms
16 messages
• Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- sdamain
- WRInaute passionné

- Messages: 1277
- Inscription: 14 Oct 2003
Système de recherche par code postal + rayon de x kms
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
On peut par exemple faire une recherche pour le code postal 75010 en incluant les villes dans un rayon de 10 kms.
Sébastien.
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
On peut par exemple faire une recherche pour le code postal 75010 en incluant les villes dans un rayon de 10 kms.
Sébastien.
-

dd32 - Modérateur

- Messages: 3387
- Inscription: 9 Sep 2005
Tu veux dire comment faire pour ne pas avoir à se pastiller la construction de la base de données en indiquant à la main quels sont les CP proches ?...
Moi je dirais : récupérer une liste existante de CP mais où ?...
edit : plutôt que x kms, ne peux-tu pas procéder par cantons par exemple ? une liste ici
Moi je dirais : récupérer une liste existante de CP mais où ?...
edit : plutôt que x kms, ne peux-tu pas procéder par cantons par exemple ? une liste ici
-

ecocentric - WRInaute accro

- Messages: 3602
- Inscription: 10 Fév 2004
dd32 a écrit:Tu veux dire comment faire pour ne pas avoir à se pastiller la construction de la base de données en indiquant à la main quels sont les CP proches ?...
Moi je dirais : récupérer une liste existante de CP mais où ?...
edit : plutôt que x kms, ne peux-tu pas procéder par cantons par exemple ? une liste ici
En Belgique, je l'ai fait avec des coordonnées de Lambert ou longitude / latitude. Après, c'est facile à calculer la proximité avec un seuil.
Moins précis, tu peux aussi jouer sur les départements, par exemple (lien CP / département, de mémoire).
-

bordas_69 - WRInaute discret

- Messages: 239
- Inscription: 25 Aoû 2005
ecocentric a écrit:dd32 a écrit:En Belgique, je l'ai fait avec des coordonnées de Lambert ou longitude / latitude. Après, c'est facile à calculer la proximité avec un seuil.
Et comment as tu eu cette base de donnée? Ca pourrait également m'interressé cette DB...
- sdamain
- WRInaute passionné

- Messages: 1277
- Inscription: 14 Oct 2003
ecocentric a écrit:Moins précis, tu peux aussi jouer sur les départements, par exemple (lien CP / département, de mémoire).
Oui en effet, c'est une solution.
Mais je ne suis pas sure que les numéro de CP numériquement proches soient forcément géographiquement proches également.
-

lilian - WRInaute discret

- Messages: 170
- Inscription: 12 Juin 2005
Unr solution avec les coordonnées lat/lon des villes : http://gnswww.nga.mil/geonames/GNS/index.jsp
Et la formule qui permet de connaitre la distance à vol d'oiseau sur le globe terrestre : http://www.dstu.univ-montp2.fr/GRAAL/perso/magnan/ortho/ortho.html
Et enfin la base de donnée des codes postaux :
http://www.galichon.com/codesgeo/
Maintenant si tu arrives a faire un script php pour charger ces fichier dans mySQL, je suis prenneur (le premier surtout...).
Et la formule qui permet de connaitre la distance à vol d'oiseau sur le globe terrestre : http://www.dstu.univ-montp2.fr/GRAAL/perso/magnan/ortho/ortho.html
Et enfin la base de donnée des codes postaux :
http://www.galichon.com/codesgeo/
Maintenant si tu arrives a faire un script php pour charger ces fichier dans mySQL, je suis prenneur (le premier surtout...).
- amazigh25
- WRInaute passionné

- Messages: 1006
- Inscription: 4 Juin 2005
http://gnswww.nga.mil/geonames/GNS/index.jsp
fournit des fichiers textes assez riches, mais est il possible d'importer celà sur MySql ?
Adam
fournit des fichiers textes assez riches, mais est il possible d'importer celà sur MySql ?
Adam
- PoT_de_NuTeLLa²
- Nouveau WRInaute

- Messages: 1
- Inscription: 21 Juin 2007
ville + département + région + pays
Bonjour ci joint le lien pour les tables ville (avec GPS), département, région, pays.
http://on-irc.com/ville_region_departement_pays.sql
Si quelqu'un connait la formule par contre pour qu'avec les valeur GPS on puisse sélectionner les villes au alentours ca m'intéresse grandement
http://on-irc.com/ville_region_departement_pays.sql
Si quelqu'un connait la formule par contre pour qu'avec les valeur GPS on puisse sélectionner les villes au alentours ca m'intéresse grandement
- Robinson
- WRInaute passionné

- Messages: 2233
- Inscription: 25 Oct 2005
Re: ville + département + région + pays
Excellent, merciPoT_de_NuTeLLa² a écrit:Bonjour ci joint le lien pour les tables ville (avec GPS), département, région, pays.
http://on-irc.com/ville_region_departement_pays.sql
Si quelqu'un connait la formule par contre pour qu'avec les valeur GPS on puisse sélectionner les villes au alentours ca m'intéresse grandement
(même si pas besoin pour le moment)
- gomodo
- Nouveau WRInaute

- Messages: 1
- Inscription: 4 Juil 2007
Re: ville + département + région + pays
PoT_de_NuTeLLa² a écrit:Bonjour ci joint le lien pour les tables ville (avec GPS), département, région, pays.
http://on-irc.com/ville_region_departement_pays.sql
Si quelqu'un connait la formule par contre pour qu'avec les valeur GPS on puisse sélectionner les villes au alentours ca m'intéresse grandement
Y a un pb dans cette base dans la correspondance entre ville et départements.
La clé étrangère de la table ville qui pointe vers les départements à été construite automatiquement en prenant les 2 premiers caractères du code postal
Ca marche pour tous les départements sur 2 chiffres, mais pas avec les département 01,02,03,04,05,06,07,08,09.
Par exemple Privas : Code postal 7000 et Département Ariège (07)
Dans la base le lien vers le département a été donc construit a partir du Code Postal -> et donc Département = 70 , cad HAUTE-SAONE... (ce qui est totalement faux bien sur, Privas c'est bien dans l'ariège).
Pour corriger, il faut regénérer le code du département : on divise par 1000 le Code postal (avec un arrondi correct), tout en tenant compte de la particularité de la Corse (2A et 2B). A ce propos, il faut aussi modifier la table Département dans lequels les 2 départements sont regroupés dans un seul enregistrement...
- Robinson
- WRInaute passionné

- Messages: 2233
- Inscription: 25 Oct 2005
Pour ma part j'ai laissé la Corse en un bloc vu que je ne vais pas m'amuser à trier chacune des villes...
Pour les départements, j'ai fait une simple requête :
UPDATE `ville_table` SET `departement_id` = floor(cp_vi/1000) WHERE 1
Je souhaite créer une carte de France et via php créer une image indiquant l'emplacement de certaines villes grâce aux coordonnées.
Avez-vous des cartes à l'échelle et une formule permettant de s'y repérer ?
Merci.
Pour les départements, j'ai fait une simple requête :
UPDATE `ville_table` SET `departement_id` = floor(cp_vi/1000) WHERE 1
Je souhaite créer une carte de France et via php créer une image indiquant l'emplacement de certaines villes grâce aux coordonnées.
Avez-vous des cartes à l'échelle et une formule permettant de s'y repérer ?
Merci.
Dernière édition par Robinson le Lun Juil 30, 2007 10:54, édité 1 fois.
- Robinson
- WRInaute passionné

- Messages: 2233
- Inscription: 25 Oct 2005
J'avance petit à petit.
Sur ma carte, j'ai déterminé la localisation de Paris pour ensuite placer les autres villes en fonction d'elle.
J'arrive à calculer la distance qui les sépare mais il me manque la formule pour calculer le "cap", l'angle.
Le site http://www.ephemeride.com/atlas/distance/27/ indique les km et le cap mais je ne trouve nul part comment le calculer...
Si vous avez la solution, merci d'avance.
Sur ma carte, j'ai déterminé la localisation de Paris pour ensuite placer les autres villes en fonction d'elle.
J'arrive à calculer la distance qui les sépare mais il me manque la formule pour calculer le "cap", l'angle.
Le site http://www.ephemeride.com/atlas/distance/27/ indique les km et le cap mais je ne trouve nul part comment le calculer...
Si vous avez la solution, merci d'avance.
- Robinson
- WRInaute passionné

- Messages: 2233
- Inscription: 25 Oct 2005
J'ai trouvé une formule pour calculer le cap
$A est l'angle trouvé.
Cependant, la précision n'y est pas...
Par endroit, il manque 7-8 degrés, à d'autres c'est 7-8 degrés de trop... l'angle est bon assez rarement.
Il existe diverses formules avec une précision plus ou moins bonne, il faut trouver celle adaptée...
Edit : en bidouillant un peu et en prenant comme point de repère Brest, j'ai amélioré la précision et les décalages ne dépassent pas 2 degrés. (qq millimetres sur la carte)
//Distance en km entre deux villes
function distance($lat1, $lon1, $lat2, $lon2)
{
$lat1 = deg2rad($lat1);
$lat2 = deg2rad($lat2);
$lon1 = deg2rad($lon1);
$lon2 = deg2rad($lon2);
$R = 6371;
$dLat = $lat2 - $lat1;
$dLong = $lon2 - $lon1;
$var1= $dLong/2;
$var2= $dLat/2;
$a= pow(sin($dLat/2), 2) + cos($lat1) * cos($lat2) * pow(sin($dLong/2), 2);
$c= 2 * atan2(sqrt($a),sqrt(1-$a));
$d= $R * $c;
//CALCUL DE L'ANGLE
$H = asin(sin($lon1)*sin($lon2) + cos($lon1)*cos($lon2)*cos($lat2-$lat1));
$A = acos((sin($lon2)-sin($lon1)*sin($H))/(cos($lon1)*cos($H)));
$val[0] = $d; //distance
$val[1] = $A; //angle (cap)
return $val;
}
$A est l'angle trouvé.
Cependant, la précision n'y est pas...
Par endroit, il manque 7-8 degrés, à d'autres c'est 7-8 degrés de trop... l'angle est bon assez rarement.
Il existe diverses formules avec une précision plus ou moins bonne, il faut trouver celle adaptée...
Edit : en bidouillant un peu et en prenant comme point de repère Brest, j'ai amélioré la précision et les décalages ne dépassent pas 2 degrés. (qq millimetres sur la carte)
16 messages
• Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Code postal Morbihan
- Code postal international
- Pb requete code postal
- script code postal / ville
- Requête sur champs code postal
- Mon nouveau site Code Postal France
- Extraire un code postal dans une chaine
- Rayon asp dot Net...
- Calcul des coordonnées GPS dans un rayon de x km
- [phpBB] Optimiser le système de recherche
- Les Rich Snippets de Google (descriptions enrichies des résultats) - 15-05-2009
- Le moteur d'Orange.fr répond aux questions géographiques - 09-02-2010
- Une icone pour afficher des plans dans les résultats de Google (Plus Box) - 13-12-2006
- Google ouvre un blog sur la sécurité informatique en ligne - 23-05-2007
- Google Chrome pour Mac et Linux : Chrome 5 - 27-05-2010
Consultez la description détaillée des produits ou services de Google suivants : Google Code
- Analyse de l'entête HTTP
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

