IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP class pour Conversion entre systèmes géodésiques


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 277
    Points : 120
    Points
    120
    Par défaut PHP class pour Conversion entre systèmes géodésiques
    Bonjour,

    Je cherche un moyen de convertir (en php) des coordonnées Lambert vers Lat,Long (comme: Latitude: 44.8378 / Longitude: -0.594)

    En fait exactement le contraire de ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       /**** Conversion latitude,longitude en coordonnée lambert 93 ****/      //variables:     $a=6378137; //demi grand axe de l'ellipsoide (m)     $e=0.08181919106; //première excentricité de l'ellipsoide     $l0=$lc=deg2rad(3);     $phi0=deg2rad(46.5); //latitude d'origine en radian     $phi1=deg2rad(44); //1er parallele automécoïque     $phi2=deg2rad(49); //2eme parallele automécoïque          $x0=700000; //coordonnées à l'origine     $y0=6600000; //coordonnées à l'origine          $phi=deg2rad($latitude);     $l=deg2rad($longitude);          //calcul des grandes normales     $gN1=$a/sqrt(1-$e*$e*sin($phi1)*sin($phi1));     $gN2=$a/sqrt(1-$e*$e*sin($phi2)*sin($phi2));          //calculs des latitudes isométriques     $gl1=log(tan(pi()/4+$phi1/2)*pow((1-$e*sin($phi1))/(1+$e*sin($phi1)),$e/2));     $gl2=log(tan(pi()/4+$phi2/2)*pow((1-$e*sin($phi2))/(1+$e*sin($phi2)),$e/2));     $gl0=log(tan(pi()/4+$phi0/2)*pow((1-$e*sin($phi0))/(1+$e*sin($phi0)),$e/2));     $gl=log(tan(pi()/4+$phi/2)*pow((1-$e*sin($phi))/(1+$e*sin($phi)),$e/2));          //calcul de l'exposant de la projection     $n=(log(($gN2*cos($phi2))/($gN1*cos($phi1))))/($gl1-$gl2);//ok          //calcul de la constante de projection     $c=(($gN1*cos($phi1))/$n)*exp($n*$gl1);//ok          //calcul des coordonnées     $ys=$y0+$c*exp(-1*$n*$gl0);          $x93=$x0+$c*exp(-1*$n*$gl)*sin($n*($l-$lc));     $y93=$ys-$c*exp(-1*$n*$gl)*cos($n*($l-$lc));
    merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 277
    Points : 120
    Points
    120
    Par défaut
    J'ai presque trouvé

    En fait pas vraiment besoin d'une class.
    Comme j'ai déjà les valeurs en Degré,Minutes,Seconde une formule de calcul en php serait parfaite pour la conversion en degrés décimaux.

    Pour convertir en degrés décimaux la formule est :
    latitude (degrés décimaux) = degrés + (minutes / 60) + (secondes / 3600)

    Exemple pour la ville de Toulouse
    Si la longitude en DMS (Degré,Minutes,Seconde)= 433616
    soit 43 degrés, 36 minutes et 16 secondes
    formule= 43 + (36 / 60) + (16 / 3600) =43.604444444444

    Latitude en DMS (Degré,Minutes,seconde)= 12631
    soit 1 degrés, 26 minutes et 31 secondes
    1 + (26 / 60) + (31 / 3600) =1.4419444444444

    en php la formule serait :
    $calcul_Long= 43 + (36 / 60) + (16 / 3600);
    $calcul_Lat= 1 + (26 / 60) + (31 / 3600);

    MAIS les valeurs qui sorte de ma base ne sont pas exploitable pour faire ce calcul !
    Puisque j'ai 433616 en longitude DMS (Degré,Minutes,Seconde)

    Je crois que la fonction preg_replace pourrait me donner LA SOLUTION pour pouvoir ajouter des valeurs entre les chiffres
    $calcul= $valeur_DMS preg_replace(CE QUE JE RECHERCHE A AJOUTER, $calcul);

    Reste à faire...

Discussions similaires

  1. Conversion entre systèmes géodésiques
    Par philben dans le forum Contribuez
    Réponses: 13
    Dernier message: 27/08/2009, 12h27
  2. [PHP 5.0] class PHP 5 pour formulaire
    Par okoweb dans le forum Langage
    Réponses: 2
    Dernier message: 22/06/2009, 17h03
  3. [PHP 5.0] UML->PHP - Logiciel pour diagramme de classes
    Par dorian53 dans le forum Langage
    Réponses: 5
    Dernier message: 18/12/2008, 17h28
  4. Aide pour conversion php vers Asp
    Par jidébé dans le forum ASP
    Réponses: 2
    Dernier message: 17/10/2007, 22h10
  5. [PHP] Commande pour connaître le système
    Par Crayon dans le forum Langage
    Réponses: 3
    Dernier message: 02/08/2006, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo