banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Sun 05 October 2014 03:52

qassim
Juste Inscrit !
Date d'inscription: 5 Oct 2014
Messages: 2

Proj4js : conversions de coordonnées complètement abbérantes

Bonjour,

Je débute depuis peu dans le domaine du web mapping et je bloque complètement sur une histoire de conversion de coordonnées avec proj4js j'ai l'impression d'avoir effectué toutes les recherches possibles...

J'essaye d'effectuer cette conversion de coordonnées avec proj4js : google mercator ----> WGS84 web mercator :

Code:

  Proj4js.defs["EPSG:4326"] = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
Proj4js.defs["EPSG:900913"]= "+title=GoogleMercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";

var dest = new Proj4js.Proj("EPSG:4326");    
var source = new Proj4js.Proj("EPSG:900913");
var point = new Proj4js.Point( 85286.417057415703, 4347668.9422677439 ); 
Proj4js.transform(source, dest, point);
var transformation = Proj4js.transform(source, dest, point);
alert(point.y + "," + point.x);

Voilà donc les coordonnées que j'ai en retour : x=0.0003264583485814848 y=0.000006882360979601046, alors que cela devrait plutôt etre
x (long) = 0.7661409 et y(lat) =36.3411771 (que j'obtient graçe à http://twcc.free.fr/ et qui sont conformes au travail effectué sur QGIS)


Cordialement

Dernière modification par qassim (Sun 05 October 2014 03:55)

Hors ligne

 

#2 Sun 05 October 2014 07:23

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 947
Site web

Re: Proj4js : conversions de coordonnées complètement abbérantes

Bonjour,

Il faut déjà faire attention. La version actuelle de Proj4JS fait partie des séries 2.x. La syntaxe que vous utilisez est pour la série 1.x qu'il n'est plus recommandé d'utiliser.

Un exemple ci- dessous pour tester

Code:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="chrome=1">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>proj4js v2 example </title>
  </head>
  <body>
    <script src="http//cdnjs.cloudflare.com/ajax/libs/proj4js/2.2.2/proj4.js" type="text/javascript"></script>
    <script>
        // Explicite
        var google = proj4.Proj('EPSG:3857');
        console.log(proj4(google, proj4.WGS84).forward([85286.417057415703, 4347668.9422677439]));

        // Implicite (Comme les conversions Google <=> WGS 84 sont courantes, c'est inclut par défaut)
        console.log(proj4(google).inverse([85286.417057415703, 4347668.9422677439]));
    </script>
  </body>
</html>

Pour la V1, pour mémoire,

Code:

<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="chrome=1">
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
    <title>proj4js v1 example </title>
  </head>
  <body>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/proj4js/1.1.0/proj4js-compressed.js" type="text/javascript"></script>
    <script>
        //Define the source Coord Sys
        var src = new Proj4js.Proj("EPSG:900913");
        //Create a point object 
        var point = new Proj4js.Point(85286.417057415703, 4347668.9422677439); 
        //Do your conversion 
        Proj4js.transform(src, Proj4js.WGS84, point) 
        //The point object no has the converted coordinates 
        console.log(point.x + "," + point.y);
    </script>
  </body>
</html>

Cordialement

Thomas Gratier

Hors ligne

 

#3 Sun 05 October 2014 17:36

qassim
Juste Inscrit !
Date d'inscription: 5 Oct 2014
Messages: 2

Re: Proj4js : conversions de coordonnées complètement abbérantes

Impeccable.
Ça marche, merci.

Hors ligne

 

Pied de page des forums

Powered by FluxBB