Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

#1 Sat 30 June 2012 15:48

Christian Bleau
Participant occasionnel
Date d'inscription: 10 Jun 2012
Messages: 22

Coordonnées Lon Lat

Bonjour,

Il y a un point sur lequel, je n'ai manifestement pas compris.

sur l'exemple suivant: http://pofableau.com/OpenLayers/ok2_tes … ouche.html

je souhaite à faire apparaitre les coordonnées selon une projection type WGS 1984
soit en décimale soit en degré minute et seconde.

Comme vous pouvez le constater ce n'est pas le cas ........ sad

Auriez vous une piste de réflexion à me suggérer?

Merci.

Christian

Hors ligne

 

#2 Sun 01 July 2012 12:16

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

Re: Coordonnées Lon Lat

Bonjour,

Pour le fait d'afficher au survol la bonne unité, voir l'option displayProjection, illustrée par exemple dans le code http://wiki.openstreetmap.org/wiki/Open … ck_example

Pour le formatage en degrés minutes secondes (DMS), voir à la fois http://dev.openlayers.org/docs/files/Op … ttedLonLat et le pied de page de http://www.peterrobins.co.uk/it/olchang … ction.html

Vous avez tout, juste à analyser un peu les exemples fournis maintenant

Cordialement

ThomasG

Hors ligne

 

#3 Sun 01 July 2012 20:04

Christian Bleau
Participant occasionnel
Date d'inscription: 10 Jun 2012
Messages: 22

Re: Coordonnées Lon Lat

Tout ceci fonctionne parfaitement et je vous remercie pour ces renseignements.

Cordialement.

Christian

en résumé pour ceux qui seraient intéressés par les détails:

la projection est évoquée dans l'option de la couche de base:

       map = new OpenLayers.Map("basicMap",{displayProjection: new OpenLayers.Projection("EPSG:4326")});

le système DMS Degré Minutes Secondes s'obtient par l'intégration de la fonction suivante:

         function formatLonlats(lonLat) {
            var lat = lonLat.lat;
            var long = lonLat.lon;
            var ns = OpenLayers.Util.getFormattedLonLat(lat);
            var ew = OpenLayers.Util.getFormattedLonLat(long,'lon');
            return ns + ', ' + ew + ' (' + (Math.round(lat * 10000) / 10000) + ', ' + (Math.round(long * 10000) / 10000) + ')'; } 

fonction appelée dans:

        map.addControl(new OpenLayers.Control.MousePosition({formatOutput: formatLonlats}));

Hors ligne

 

#4 Thu 13 September 2012 11:30

Christian Bleau
Participant occasionnel
Date d'inscription: 10 Jun 2012
Messages: 22

Re: Coordonnées Lon Lat

Bonjour,

Sur l'exemple e test ici http://blo.pofableau.com/pluxml/OpenLayers/ign/ign.html

Je n'arrive pas à résoudre un problème lié aux projection utilisées.

En utilisant le script de mesure de distance, il s'avère que celles ci sont inexactes.

Les résultats sont supérieurs à la réalité.

Voici les projections appelées, sachant

Code:

Proj4js.defs["EPSG:3857"] = "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs";


               
                  
      function init() {  
                 
          map = new OpenLayers.Map("basicMap", {
                  projection: "EPSG:3857",
                  displayProjection: new OpenLayers.Projection("EPSG:4326")
            });
        
        var ghyb = new OpenLayers.Layer.Google( "Google Hybride",{type: google.maps.MapTypeId.HYBRID, numZoomLevels: 20} );
        
        var options = {
        name: "Cartes IGN",
        url: "http://gpp3-wxs.ign.fr/xfwvg8nh6nsfww6mvoxu4lxa/wmts",
        layer: "GEOGRAPHICALGRIDSYSTEMS.MAPS",
        matrixSet: "PM",
        style: "normal",
        numZoomLevels: 20
        };

        var ign = new OpenLayers.Layer.WMTS(options); 

        var fromProjection = new OpenLayers.Projection("EPSG:4326");   // Transform from WGS 1984
        var toProjection   = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection 
        var position       = new OpenLayers.LonLat(2.534904,48.387558).transform( fromProjection, toProjection);
        var zoom           = 18 ;

<script src="http://svn.osgeo.org/metacrs/proj4js/trunk/lib/proj4js-compressed.js"></script> etant appelé préalablement dans la page html

Auriez vous une piste?

Merci bien.

Dernière modification par Christian Bleau (Thu 13 September 2012 11:37)

Hors ligne

 

#5 Sat 15 September 2012 12:55

Christian Bleau
Participant occasionnel
Date d'inscription: 10 Jun 2012
Messages: 22

Re: Coordonnées Lon Lat

si cela peut servir avec l'option:

geodesic: true


le résultats sont plus proches de la réalité.

Hors ligne

 

Pied de page des forums

Powered by FluxBB