Script Php de calcul de distances
28 messages
• Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
-

Americas - WRInaute accro

- Messages: 3380
- Inscription: 24 Sep 2003
Script Php de calcul de distances
Je cherche un script en PHP pour calculer les distances entre deux villes.
Ce script existe en javascript mais cela ne m'intéresse pas. Si vous connaissez un faites-moi signe SVP. Et si possible avec une base de données conséquentes de villes... pour ne pas avoir à rechercher tout cela
Ce script existe en javascript mais cela ne m'intéresse pas. Si vous connaissez un faites-moi signe SVP. Et si possible avec une base de données conséquentes de villes... pour ne pas avoir à rechercher tout cela
- Haq
- WRInaute passionné

- Messages: 2104
- Inscription: 29 Aoû 2002
Même en se limitant à une distance arbitraire, c'est énorme...
Entre 3 villes différentes, ça fait 3 possibilités. Là ça va...
Mais pour 5 villes, ça en fait déjà 10...
Pour 10 villes, 45...
Pour 21 villes, 210...
Pour 35 villes, 595...
Et je vous épargne la suite (sous réserve que mes calculs soient bons, ce que je crois).
Entre 3 villes différentes, ça fait 3 possibilités. Là ça va...
Mais pour 5 villes, ça en fait déjà 10...
Pour 10 villes, 45...
Pour 21 villes, 210...
Pour 35 villes, 595...
Et je vous épargne la suite (sous réserve que mes calculs soient bons, ce que je crois).
- petit-ourson
- WRInaute impliqué

- Messages: 855
- Inscription: 31 Mai 2004
Il n'y a pas vraiment de combinaisons si tu souhaites calculer la distance a vol d'oiseaux entre les villes.
Il suffit du couple altitude / longitude pour chacune des villes souhaitées et le calcul se fait par algo.
Donc si tu as 5 villes cela te donne 5 lignes dans ton tableaux, 1000 villes pour 1000 lignes...
Il suffit du couple altitude / longitude pour chacune des villes souhaitées et le calcul se fait par algo.
Donc si tu as 5 villes cela te donne 5 lignes dans ton tableaux, 1000 villes pour 1000 lignes...
- Grantome
- WRInaute accro

- Messages: 2899
- Inscription: 16 Jan 2004
Re: Script Php de calcul de distances
Americas a écrit:Je cherche un script en PHP pour calculer les distances entre deux villes.
Ah bah quand même...
Je me demandais qu'and le concepteur du calcul des courte distance chez MSN allait demander l'avis de pros
-

olivieri - WRInaute impliqué

- Messages: 889
- Inscription: 3 Fév 2003
En voila un en ASP qui donne une distance à vol d'oiseau entre deux points repérés par latitude/longitude en tenant compte de la courbure de la terre...
Ca devrait pas être très compliqué à réécrire en PHP
- Code: Tout sélectionner
dim gPI
gPI = 3.14159265358979
dim gEARTH_RADIUS_METRES
gEARTH_RADIUS_METRES = 6378007
dim gEARTH_CIRCUM_METRES
gEARTH_CIRCUM_METRES = gEARTH_RADIUS_METRES * 2 * gPI
dim gMETRES_PER_LAT_DEGREES
gMETRES_PER_LAT_DEGREES = 111113.519
Function GetDistance(dX1, dY1, dX2, dY2)
Dim dDeltaX
Dim dDeltaY
Dim dDeltaXMeters
Dim dDeltaYMeters
Dim dMetersPerDegreeLong
Dim dCenterY
dDeltaX = Abs(dX2 - dX1)
dDeltaY = Abs(dY2 - dY1)
dCenterY = (dY1 + dY2) / 2
dMetersPerDegreeLong = MetresPerDegreeLong(dCenterY)
dDeltaXMeters = dDeltaX * dMetersPerDegreeLong
dDeltaYMeters = dDeltaY * gMETRES_PER_LAT_DEGREES
GetDistance = Sqr(dDeltaXMeters ^ 2 + dDeltaYMeters ^ 2)
End Function
Function MetresPerDegreeLong(dLat )
MetresPerDegreeLong = (Cos(dLat * (gPI / 180)) * gEARTH_CIRCUM_METRES) / 360
End Function
Ca devrait pas être très compliqué à réécrire en PHP
- Tex
- WRInaute occasionnel

- Messages: 449
- Inscription: 9 Juil 2004
l'algorythme qui permet de trouver le chemin le plus court (dans un reseau complexe, rien a voir avec le vol d'oiseau) et qui est utilisé dans la pluspart de ce genre d'appli s'appelle l'algorythle de Dijkstra (du nom de son inventeur), une petite recherche sur google avec cet mot devrait vous etre utile 
-

olivieri - WRInaute impliqué

- Messages: 889
- Inscription: 3 Fév 2003
Tex a écrit:l'algorythme qui permet de trouver le chemin le plus court (dans un reseau complexe, rien a voir avec le vol d'oiseau) et qui est utilisé dans la pluspart de ce genre d'appli s'appelle l'algorythle de Dijkstra (du nom de son inventeur), une petite recherche sur google avec cet mot devrait vous etre utile
Qui a dit chemin le plus court ?
-

MarvinLeRouge - WRInaute impliqué

- Messages: 525
- Inscription: 1 Sep 2004
Bon, 2 optiques :
- soit il s'agit de la distance à vol d'oiseau, auquel cas la formule est racine carrée ((x2 - x1)² + (y2 - y1)²)
- soit il s'agit de la distance entre 2 villes en suivant des sections de route dnot on connaît la longueur, auquek cas il s'agit de l'algorithme du chemin minimal entre deux sommets d'un graphe, algorithme que tu trouveras sur Google
NB pour Olivieri : LA distance signifie nécessairement la distance la plus courte, car on peut toujours trouver plus long (en s'amusant à faire un tour pour rien par exemple)
- soit il s'agit de la distance à vol d'oiseau, auquel cas la formule est racine carrée ((x2 - x1)² + (y2 - y1)²)
- soit il s'agit de la distance entre 2 villes en suivant des sections de route dnot on connaît la longueur, auquek cas il s'agit de l'algorithme du chemin minimal entre deux sommets d'un graphe, algorithme que tu trouveras sur Google
NB pour Olivieri : LA distance signifie nécessairement la distance la plus courte, car on peut toujours trouver plus long (en s'amusant à faire un tour pour rien par exemple)
-

Blini - WRInaute impliqué

- Messages: 506
- Inscription: 29 Nov 2004
MarvinLeRouge a écrit:- soit il s'agit de la distance à vol d'oiseau, auquel cas la formule est racine carrée ((x2 - x1)² + (y2 - y1)²)
Valable seulement en métrique, pour des distances courtes...
MarvinLeRouge a écrit:NB pour Olivieri : LA distance signifie nécessairement la distance la plus courte, car on peut toujours trouver plus long (en s'amusant à faire un tour pour rien par exemple)
Et si tu parcours un graphes où les "distances" entre les sommets du graphe sont des temps de parcours, par exemple, eh bien ton calcul du "plus court" correpsond au plus rapide (temps le plus petit) !
-

MarvinLeRouge - WRInaute impliqué

- Messages: 525
- Inscription: 1 Sep 2004
Blini a écrit:MarvinLeRouge a écrit:- soit il s'agit de la distance à vol d'oiseau, auquel cas la formule est racine carrée ((x2 - x1)² + (y2 - y1)²)
Valable seulement en métrique, pour des distances courtes...
Comment ça valable seulement pour des distances courtes ?
Blini a écrit:MarvinLeRouge a écrit:NB pour Olivieri : LA distance signifie nécessairement la distance la plus courte, car on peut toujours trouver plus long (en s'amusant à faire un tour pour rien par exemple)
Et si tu parcours un graphes où les "distances" entre les sommets du graphe sont des temps de parcours, par exemple, eh bien ton calcul du "plus court" correpsond au plus rapide (temps le plus petit) !
Oui, on peut effectivement calculer le temps de parcours minimal selon la même méthode (ce qui en général ne rend pas le même chemin, d'ailleurs
-

Bobez - WRInaute impliqué

- Messages: 716
- Inscription: 20 Mai 2004
MarvinLeRouge a écrit:Comment ça valable seulement pour des distances courtes ?C'est la formule de calcul de la distance du point A au point B dans le plan, et l'ordre de grandeur n'a rien à voir là dedans, pas plus que l'unité employée. A moins que tu ne tiennes compte de la non-planitude de la surface terrestre, mais là il n'est plus question du même argument.
![]()
Oui, je crois que c'est cela dont il s'agit...la terre n'est pas un plan, donc sur de grosses distances ce genre de calcul doit être très approximatif, je suppose.
-

Blini - WRInaute impliqué

- Messages: 506
- Inscription: 29 Nov 2004
MarvinLeRouge a écrit:Comment ça valable seulement pour des distances courtes ?C'est la formule de calcul de la distance du point A au point B dans le plan, et l'ordre de grandeur n'a rien à voir là dedans, pas plus que l'unité employée. A moins que tu ne tiennes compte de la non-planitude de la surface terrestre, mais là il n'est plus question du même argument.
![]()
Oui, la formule, c'est pour le plan. Mais pour les cartes terrestres, deux cas: ou bien tu représentes basiquement les coordonnées sur les axes (degrés-minutes-secondes), et là, pas possible de calculer des distances, ou bien tu as une carte métrique, ce qui suppose que tu as fait une projection. La projection habituelle pour la France est le Lambert IIe (avec des variantes possibles: projections différentes sur 4 parties de la France). Le Lambert IIe, c'est une projection de l'ellipsoïde terrestre sur un cône sécant en deux parallèles de l'ellipsoïde. Je vais peut-être pas rentrer dans les détails, mais grosso modo, plus tu t'éloignes du centre de projection, plus l'erreur est importante. Donc, oui, les calculs de distances par la formule donnée ne sont valables que pour des distances assez courtes.
28 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 :
- script de calcul de densité en PHP
- Calcul du pagerank avec un script PHP
- Voilà le script de calcul des backlinks en php
- Calcul de la bande passante utilisé par un script php
- Comment lancer un script php à parrtir d'un autre script php ?
- Script de calcul de la latitude/longitude ?
- Script calcul page rank
- calcul en php
- Soucis de calcul en php!
- vitesse de calcul de php
- Calculer le ratio de liens profonds
Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés. - Calculer l'indice de co-occurrence
Cet outil vous permet de calculer l'indice de co-occurrence de 2 ou 3 termes, ainsi que le ratio E/F. L'indice de co-occurrence mesure le relation entre les termes : plus cet indice est élevé, plus les termes sont reliés. Concrètement, plus l'indice est élevé, plus il est fréquent de trouver des documents qui contiennent les différents termes.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
