Script Php de calcul de distances
28 messages • Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
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
Euh... ça existe, ça ? Ca doit donner un nombre tout à fait incroyable de combinaisons ?
Si tu as mille villes indexées, tu as... euh... un paquet de possibilités. Je n'ai plus fait de stats depuis longtemps, mais c'est énorme.
Si tu as mille villes indexées, tu as... euh... un paquet de possibilités. Je n'ai plus fait de stats depuis longtemps, mais c'est énorme.
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 passionné

- Messages: 843
- Inscription: Lun Mai 31, 2004 15:19
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...
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
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
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 
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: 451
- Inscription: Mer Sep 01, 2004 20:10
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)
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: 451
- Inscription: Mer Sep 01, 2004 20:10
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
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.
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 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 :
- L'algorithme BlockRank
- Les albums web Picasa passent à 1 Go de stockage
- Photos satellite des incendies en Grèce dans Google Earth
- Ajouter un Gadget Google sur son site
- Google Desktop pour Mac OS X
- Picasa Web Albums en français
- Calculer l'indice de co-occurrence et le ratio E/F
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- Etude du BlockRank, un algorithme de calcul rapide du PageRank
- Résultats des élections présidentielles du 1er tour 2007
- 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





le forum