#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
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
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