|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
sdamain WRInaute accro

Inscrit le: 14 Oct 2003 Messages: 1260 Localisation: Arlon, Belgique
|
Posté le : Sam Mai 06, 2006 11:25 Sujet du message: 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. |
|
| |
|
 |
dd32 Modérateur

Inscrit le: 09 Sep 2005 Messages: 3076 Localisation: Witamine d'abord !
|
Posté le : Sam Mai 06, 2006 13:07 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
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 |
|
| |
|
 |
ecocentric WRInaute accro

Inscrit le: 10 Fév 2004 Messages: 3262 Localisation: Mons
|
Posté le : Sam Mai 06, 2006 13:16 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
| 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 occasionnel

Inscrit le: 25 Aoû 2005 Messages: 239 Localisation: Belgique
|
Posté le : Sam Mai 06, 2006 13:39 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
[quote="ecocentric"]
| 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 accro

Inscrit le: 14 Oct 2003 Messages: 1260 Localisation: Arlon, Belgique
|
Posté le : Sam Mai 06, 2006 20:44 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
| 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 occasionnel

Inscrit le: 12 Juin 2005 Messages: 170
|
|
| |
|
 |
amazigh25 WRInaute passionné

Inscrit le: 04 Juin 2005 Messages: 982 Localisation: à 15 km de l'europe.
|
Posté le : Sam Avr 07, 2007 18:37 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
http://gnswww.nga.mil/geonames/GNS/index.jsp
fournit des fichiers textes assez riches, mais est il possible d'importer celà sur MySql ?
Adam |
|
| |
|
 |
PoT_de_NuTeLLa² Nouveau WRInaute
Inscrit le: 21 Juin 2007 Messages: 1
|
Posté le : Jeu Juin 21, 2007 11:28 Sujet du message: 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 |
|
| |
|
 |
Robinson WRInaute accro

Inscrit le: 26 Oct 2005 Messages: 1383
|
Posté le : Jeu Juin 21, 2007 23:07 Sujet du message: 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 |
Excellent, merci
(même si pas besoin pour le moment) |
|
| |
|
 |
gomodo Nouveau WRInaute
Inscrit le: 04 Juil 2007 Messages: 1
|
Posté le : Mer Juil 04, 2007 18:40 Sujet du message: 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 accro

Inscrit le: 26 Oct 2005 Messages: 1383
|
Posté le : Dim Juil 29, 2007 1:08 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
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.
Dernière édition par Robinson le Lun Juil 30, 2007 11:54; édité 1 fois |
|
| |
|
 |
Robinson WRInaute accro

Inscrit le: 26 Oct 2005 Messages: 1383
|
Posté le : Dim Juil 29, 2007 14:37 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
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. |
|
| |
|
 |
Robinson WRInaute accro

Inscrit le: 26 Oct 2005 Messages: 1383
|
Posté le : Dim Juil 29, 2007 17:08 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
J'ai trouvé une formule pour calculer le cap
| Citation: |
//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) |
|
| |
|
 |
rog WRInaute accro

Inscrit le: 21 Sep 2006 Messages: 1662 Localisation: sapucaia do sul (RS)
|
Posté le : Lun Juil 30, 2007 4:08 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
moi j'aurai tenté de compatibiliser les echelles
rog |
|
| |
|
 |
Robinson WRInaute accro

Inscrit le: 26 Oct 2005 Messages: 1383
|
Posté le : Lun Juil 30, 2007 21:42 Sujet du message: Système de recherche par code postal + rayon de x kms |
|
|
La base de données n'est pas top, il manque quelques villes/villages...
Il y a des ptits bleds de 500 habitants présents dans la base alors que des villages de 2000 habitants n'y figurent pas... |
|
| |
|
 |
| |
|
|