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é ?

Annonce

Printemps des cartes 2024

#1 Tue 28 February 2017 06:37

thierryboudignon
Juste Inscrit !
Date d'inscription: 6 Jun 2012
Messages: 3

OpenLayers3 Service WMS Geoserver en Lambert 93

Bonjour,

J'ai un service WMS publié depuis Geoserver en Lambert 93. Je voudrais l'exploiter dans une appli OpenLayers, mais la classe ol.View ne me permet pas de l'afficher dans un autre système que WGS84 ou web-mercator.
A chaque fois que je mets projection:'EPSG:2154' la carte disparait (même avec les bonne coordonnées pour le centrage de la carte). Si je remets 'EPSG:3857' je vois ma carte mais elle n'est pas dans le système tel que le service est publié avec Geoserver.

Je met le code à la suite. Si quelqu'un sait je le remercie d'avance de m'aider.
Cordialement

 
   
   
      .map {
        height: 700px;
        width: 100%;
      }
   
   
    OpenLayers example
 
 
    test
   
   
   
      var map = new ol.Map({
        target: 'map',
        layers: [
          new ol.layer.Image({
            source: new ol.source.ImageWMS({
                url:'http://gis1:8080/geoserver/iris/wms',
                params: {'LAYERS':'iris:Reims'},
                serverType:'geoserver'
            })
          })
        ],
    view: new ol.View({
      projection:'EPSG:3857',           
          center:[450802.0, 6313714.0],
          zoom: 12

        })
      });

Hors ligne

 

#2 Tue 28 February 2017 12:28

FlorianD
Membre
Date d'inscription: 22 Dec 2016
Messages: 90
Site web

Re: OpenLayers3 Service WMS Geoserver en Lambert 93

Bonjour Thierry,

La vue de la carte définit la projection globale. Dans ton code, la projection de la vue est 3857 et tu dis que celle de ta couche WMS est 2154, donc logiquement la couche n'apparaît pas sur la carte.

Plusieurs solutions s'offrent à toi :

Si tu n'as que la couche iris:reims à afficher, tu as juste à enlever la ligne projection:'EPSG:3857' de view et à définir center avec des coordonnées en EPSG:2154.

Je suppose que tu ajoutes des fonds de carte comme OSM, BING... par défaut ces dernières ont une projection en 3857 donc tu n'as pas le choix de changer la projection de la couche wms.
Dans la source du WMS, il faut préciser la projection : projection:'EPSG:3857' .

Un exemple de "reprojection" est disponible sur le site d'Openlayers : http://openlayers.org/en/latest/example … image.html

Dans cet exemple, on reprojette les coordonnées de geolocalisation http://www.geomatick.com/demo/2/zoom-su … alisation/

Geomatick
http://www.geomatick.com

Dernière modification par geomatick (Tue 28 February 2017 13:00)

Hors ligne

 

#3 Tue 28 February 2017 15:32

thierryboudignon
Juste Inscrit !
Date d'inscription: 6 Jun 2012
Messages: 3

Re: OpenLayers3 Service WMS Geoserver en Lambert 93

Bonjour Geomatik,
merci pour ta réponse.

C'est lorsque je mets EPSG:3857 que je vois ma carte en Web Mercator donc. Alors que dans GeoServer le système défini est 2154 qui est aussi le système des données.

Si j'efface la ligne projection:'EPSG:3857', il faut tout de même que je mette les coordonnées du centre en 3857. Si je les mets en 2154 la carte est décalée.

Et si je mets projection:EPSG:2154 rien ne marche.

C'est comme si le service était publié en 3857, alors que c'est paramétré en 2154 côté GeoServer. Mais peut-être que le problème vient de GeoServer.

Thierry

Hors ligne

 

#4 Tue 28 February 2017 16:25

FlorianD
Membre
Date d'inscription: 22 Dec 2016
Messages: 90
Site web

Re: OpenLayers3 Service WMS Geoserver en Lambert 93

Thierry,

On est d'accord lorsque tu effaces la ligne projection 'ESPG:3857' et que tu mets la vue avec des coordonnées en 3857, il n'y a pas de souci pour l'affichage de ta couche?

Je me suis trompé la projection par défaut de la vue (view) d'OpenLayers est 3857, donc c'est normal que tu dois afficher les coordonnées 'center' en 3857' : http://openlayers.org/en/latest/apidoc/ol.View.html (option projection).

Geomatick
http://www.geomatick.com

Dernière modification par geomatick (Tue 28 February 2017 16:38)

Hors ligne

 

#5 Tue 28 February 2017 22:48

thierryboudignon
Juste Inscrit !
Date d'inscription: 6 Jun 2012
Messages: 3

Re: OpenLayers3 Service WMS Geoserver en Lambert 93

Ok merci beaucoup j'ai compris. Donc ça marche.

Thierry

Hors ligne

 

Pied de page des forums

Powered by FluxBB