Système de recherche par code postal + rayon de x kms

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

sdamain
WRInaute accro
WRInaute accro
 
Messages: 1268
Inscription: Mar Oct 14, 2003 7:36

Système de recherche par code postal + rayon de x kms

Message le Sam Mai 06, 2006 10:25

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
Modérateur
 
Messages: 3261
Inscription: Ven Sep 09, 2005 10:21

Message le Sam Mai 06, 2006 12:07

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
WRInaute accro
 
Messages: 3577
Inscription: Mar Fév 10, 2004 16:40

Message le Sam Mai 06, 2006 12:16

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
WRInaute occasionnel
 
Messages: 239
Inscription: Jeu Aoû 25, 2005 21:20

Message le Sam Mai 06, 2006 12:39

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 accro
WRInaute accro
 
Messages: 1268
Inscription: Mar Oct 14, 2003 7:36

Message le Sam Mai 06, 2006 19:44

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
WRInaute occasionnel
 
Messages: 170
Inscription: Dim Juin 12, 2005 17:59

Message le Dim Mai 07, 2006 0:16

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...).

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 996
Inscription: Sam Juin 04, 2005 12:53

Message le Sam Avr 07, 2007 17:37

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
 
Messages: 1
Inscription: Jeu Juin 21, 2007 8:27

ville + département + région + pays

Message le Jeu Juin 21, 2007 10:28

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
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Re: ville + département + région + pays

Message le Jeu Juin 21, 2007 22:07

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
 
Messages: 1
Inscription: Mer Juil 04, 2007 17:23

Re: ville + département + région + pays

Message le Mer Juil 04, 2007 17:40

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
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Message le Dim Juil 29, 2007 0:08

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 10:54, édité 1 fois.

Robinson
WRInaute accro
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Message le Dim Juil 29, 2007 13:37

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
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Message le Dim Juil 29, 2007 16:08

J'ai trouvé une formule pour calculer le cap

//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
WRInaute accro
 
Messages: 1662
Inscription: Jeu Sep 21, 2006 2:32

Message le Lun Juil 30, 2007 3:08

moi j'aurai tenté de compatibiliser les echelles

rog

Robinson
WRInaute accro
WRInaute accro
 
Messages: 1855
Inscription: Mar Oct 25, 2005 23:10

Message le Lun Juil 30, 2007 20:42

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...

Système de recherche par code postal + rayon de x kms

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 Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités