Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 08/01/2007, 14h00   #1
Membre habitué
 
Homme
Inscription : octobre 2003
Messages : 255
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2003
Messages : 255
Points : 103
Points : 103
Par défaut Formulaire de recherche par proximité

Bonjour,

je recherche comment faire une recherche par proximité, mais je trouve pas les bons termes pour google. Sur les sites d'agence immobiliere, souvent on demande de saisir la ville et on peut cocher : "élargir la recherche à 10Km" .
Ce qui va permettre d'obtenir les villes limitrophes.

J'ai pensé à une solution, mais autant prendre ce qui existe.
Avez vous des liens, termes ou idées à me fournir ???

mon idée est d'affecter un nombre de km à chaque ville, en prennant pour référence une ville, celle ou se trouve l'entreprise.


Citation:
exemple : mon entreprise se trouve à puget

Fréjus : 10km
Saint raphaël : 15km
Puget sur argens : 0km(référence)
Bagnol : 30 km

Imaginons que je prenne les villes à 10 km de Fréjus.
Ca me fais les 10km de Fréjus -/+ 10 et me donne donc
Fréjus, St raphaël, et puget
Le voyez vous comme cela aussi ??


cordialement,
David
D4rK_C0uaK6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 14h30   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Je pense pas que ça marche parce que tes villes sont pas sur une ligne droite... Exemple 200 kms entre Le Mans et Paris, 250 kms entre Le Mans et Le Havre. Avec ton algo si on se base au Mans on a Le Mans 0 Paris 200 Le Havre 250, dans un rayon de 50 kms autour de Paris on aurait donc Le Havre, je pense pas que ça soit le cas en réalité...

Je pense que les calculs sont faits à partir des coordonnées latitude longitude des lieux, mais il faut trouver le moyen de récupérer ça, peut-être voir du côté des web-services si quelqu'un propose ça mais c'est pas gagné...

Si il y a pas beaucoup de villes c'est sûrement jouable de saisir dans une table des distances entre les villes (id_ville1, id_ville2, distance) mais si c'est pour quelque chose de général c'est évidemment pas jouable comme ça...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 14h54   #3
Membre chevronné
 
Avatar de cadoudal56
 
Inscription : février 2005
Messages : 671
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2005
Messages : 671
Points : 646
Points : 646
Cela doit necessairement passer par longitude et latitude...

Car imaginons que puget soit ta référence...

Puget 0Km
Paris 150 Km
Marseille 150 km

Si tu cherches ce qui est a proximité de Paris.... tu va dire Paris 150km - Puget 0km, Puget est a 150km de Paris
Paris 150km - Marseille 150 km, Paris est a Marseille !!!

Ce que je veux démontrer c'est que cela ne prends pas en compte le nord le sud etc...

@+
cadou
cadoudal56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 11h15   #4
Membre habitué
 
Homme
Inscription : octobre 2003
Messages : 255
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2003
Messages : 255
Points : 103
Points : 103
D'accord j'ai donc effectué des recherches sur longitude et latitude.
J'ai trouvé un mot clé : l'orthodromie qui correspond au calcul de la distance à vol d'oiseau entre deux villes.

je vous donne mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$deg2rad = 0.0174532925; // angle en radian = angle en degre  * (pi/180)
$rayonTerre = 6371;//km
 
// Convertir les longitude/latitude (degré minute seconde) en  RADIAN
 
$debut_lat = 45.45;
$debut_lat *= $deg2rad;
 
$debut_long =  - 4.51;
$debut_long *= $deg2rad;
 
$fin_lat = 43.27;
$fin_lat *= $deg2rad;
 
$fin_long = - 6.41;
$fin_long *= $deg2rad;
 
// Calcul otrhodromique
$distance = ( cos($debut_lat) * cos($fin_lat) * cos( $fin_long - $debut_long ) + sin($debut_lat) * sin($fin_lat) );
$distance = $rayonTerre * acos($distance );
 
echo $distance ;
D4rK_C0uaK6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 11h21   #5
Membre chevronné
 
Avatar de J0r_x
 
Homme
Analyste - Programmeur
Inscription : mai 2006
Messages : 712
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Analyste - Programmeur
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2006
Messages : 712
Points : 607
Points : 607
Maintenant il ne te reste plus qu'a rentré dans une table les lattitudes et longitudes des 36000 communes françaises
J0r_x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 11h52   #6
Membre éclairé
 
Avatar de johweb
 
Inscription : décembre 2003
Messages : 332
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : décembre 2003
Messages : 332
Points : 316
Points : 316
Citation:
Envoyé par J0r_x
Maintenant il ne te reste plus qu'a rentré dans une table les lattitudes et longitudes des 36000 communes françaises
Plutôt que de tout rentrer à la main (un peu long, même en exploitant plusieurs stagiaires, LOL) voir ici : http://www.lion1906.com/Pages/franca...argements.html
johweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 16h02   #7
Membre habitué
 
Homme
Inscription : octobre 2003
Messages : 255
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2003
Messages : 255
Points : 103
Points : 103
Merci beaucoup ^^ ben je passe la discussion en résolu je pense que y a tout ce qu'il faut maintenant pour faire ce que je veux.
D4rK_C0uaK6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h35.


 
 
 
 
Partenaires

Hébergement Web