#1 Thu 25 August 2016 09:42
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
openlayers-3 mapserver WMS probleme affichage
Bonjour,
J'essaye désespéramment d'inclure un mapserver WMS dans Openlayers-3 utilisant la projection personnalisée sans proj4j.js , selon cet exemple . Je n'ai aucune image , aucun message d'erreur et Openlayers "trouve" bien mapserver .map selon les outils de débogage, réseau de fenêtre.
Je présume qu'une histoire de projection est à l'origine de ma page vide mais je ne trouve pas .
Merci
Code:
<!doctype html> <html lang="en"> <head> <style> #map { height: 256px; width: 512px; } .ol-attribution a{ color: black; } </style> <script src="http://openlayers.org/en/v3.17.1/build/ol.js" type="text/javascript"></script> <title>OpenLayers 3</title> </head> <body> <div id="map"></div> <script type="text/javascript"> var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Image({ title: 'operations Inrap', source: new ol.source.ImageWMS({ url: 'http://10.3.1.51:8080/cgi-bin/mapserv.exe?map=C:\OSGeo4W\apache\htdocs\fond_mapserver.map', params: {'LAYERS': 'Interrégions', //'CRS': 'EPSG:2154', 'FORMAT': 'image/jpeg'}, serverType: 'mapserver', extent: [93501.1, 6044342.00, 1248133.25, 7115784.50] }) }) ], view: new ol.View({ projection: new ol.proj.Projection({ code:'EPSG:2154', units: 'm' }), center: [681845, 6606361], zoom:10 }), controls: ol.control.defaults({ attributionOptions: { collapsible: true } }), }); </script>
Hors ligne
#2 Thu 25 August 2016 11:05
Re: openlayers-3 mapserver WMS probleme affichage
Bonjour,
pour pouvoir vous aider, il faut voir le mapfile correspondant, c'est souvent là que le problème se trouve !
Cordialement,
Jean-François Behm, formateur SIG, jf.behm@, idgeo.frformations@ idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique 42, avenue de Général de Croutte - 31100 toulouse
Hors ligne
#3 Thu 25 August 2016 11:09
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
Le mapfile fonctionne très bien sous qgis 2.14.
Sinon le .map étant très long, quelle partie devrais-je coller ?
EDIT:comment être sûr que openlayers recupere bien l'image de mapserver ? même s'il ne l'affiche pas (encore).
Dernière modification par Leehan (Thu 25 August 2016 11:48)
Hors ligne
#4 Thu 25 August 2016 12:22
Re: openlayers-3 mapserver WMS probleme affichage
La partie WEB METADATA .... END END et la partie LAYER ... END de la couche a visualiser.
Pour voir si une image est bien récupérer, F12 (console) et partie réseau dans la navigateur.
Jean-François Behm, formateur SIG, jf.behm@, idgeo.frformations@ idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique 42, avenue de Général de Croutte - 31100 toulouse
Hors ligne
#5 Thu 25 August 2016 13:22
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
Code:
WEB METADATA "wms_title" "WMS-Inrap, outil d'aide au montage des opérations" "wms_onlineresource" "http://10.3.1.51:8080/cgi-bin/mapserv.exe?MAP=C:\OSGeo4W\apache\htdocs\fond_mapserver.map&" "wms_enable_request" "*" #active les getcapabilities, getmap "wms_srs" "EPSG:2154 EPSG:3857 EPSG:900913" "wms_encoding" "UTF-8" END #fin metadata #attention : onlineresource doit etre identique au debut de l'URL du navigateur (= pas oublier le MAP) END #end web
Code:
LAYER NAME "Interrégions" TYPE POLYGON OPACITY 30 CONNECTIONTYPE POSTGIS CONNECTION "host=10.3.1.51 dbname=inraptours user=PostGIS password=xxxx port=5432" DATA "geom from (select gid, geom, nom_com, code_dept from activite.communes) as plop using unique gid srid = 2154" PROCESSING "CLOSE_CONNECTION=DEFER" PROJECTION "init=epsg:2154" END #fin projection LABELITEM "nom_com" CLASSITEM "code_dept" LABELMAXSCALEDENOM 450000 LABELMINSCALEDENOM 70000 CLASS #-----debut class CIF NAME "Centre Ile-de-France" #apparait en legende EXPRESSION /18|28|36|37|41|45|75|77|78|91|92|93|94|95/ STYLE COLOR 255 240 140 OUTLINECOLOR 0 0 0 WIDTH 0.5 MAXSCALEDENOM 1500000 END #end STYLE CIF STYLE COLOR 255 240 140 OUTLINECOLOR 255 240 140 WIDTH 0.5 MINSCALEDENOM 1500000 END #end STYLE CIF LABEL #apparait pour chaque entité sur la carte FONT "dejavu" COLOR 255 240 140 OUTLINECOLOR 0 0 0 OUTLINEWIDTH 1 POSITION cc SIZE 4.5 TYPE TRUETYPE END #ENd label END # end class CIF CLASS #-----debut RAA NAME "Rhône-Alpes Auvergne" #apparait en legende EXPRESSION /01|03|07|15|26|38|42|43|63|69|73|74/ STYLE COLOR 0 200 100 OUTLINECOLOR 0 0 0 WIDTH 0.5 MAXSCALEDENOM 1500000 END #end STYLE RAA STYLE COLOR 0 200 100 OUTLINECOLOR 0 220 100 WIDTH 0.5 MINSCALEDENOM 1500000 END #end STYLE RAA LABEL #apparait pour chaque entité sur la carte FONT "dejavu" COLOR 0 200 100 OUTLINECOLOR 0 0 0 OUTLINEWIDTH 1 POSITION cc SIZE 4.5 TYPE TRUETYPE END #ENd label END # end class RAA CLASS #-----debut GEN NAME "Grand Est Nord" #apparait en legende EXPRESSION /08|10|51|52|54|55|57|88/ STYLE COLOR 160 50 0 OUTLINECOLOR 0 0 0 WIDTH 0.5 MAXSCALEDENOM 1500000 END #end STYLE GEN STYLE COLOR 160 50 0 OUTLINECOLOR 180 50 0 WIDTH 0.5 MINSCALEDENOM 1500000 END #end STYLE GEN LABEL #apparait pour chaque entité sur la carte FONT "dejavu" COLOR 160 50 0 OUTLINECOLOR 0 0 0 OUTLINEWIDTH 1 POSITION cc SIZE 4.5 TYPE TRUETYPE END #ENd label END # end class GEN CLASS #-----debut GES NAME "Grand Est Sud" #apparait en legende EXPRESSION /21|25|39|58|67|68|70|71|89|90/ STYLE COLOR 180 220 150 OUTLINECOLOR 0 0 0 WIDTH 0.5 MAXSCALEDENOM 1500000 END #end STYLE GES STYLE COLOR 180 220 150 OUTLINECOLOR 180 220 150 WIDTH 0.5 MINSCALEDENOM 1500000 END #end STYLE GES LABEL #apparait pour chaque entité sur la carte FONT "dejavu" COLOR 180 220 150 OUTLINECOLOR 0 0 0 OUTLINEWIDTH 1 POSITION cc SIZE 4.5 TYPE TRUETYPE END #ENd label END # end class GES METADATA "wms_title" "Interrégions" END #fin metadata interrégions End #end layer interrégions
quant à la réponse de mapserver : transfert : 0.57ko, Taille : 0 ko. Est-ce à dire que l'image n'est pas recuperée même si le connexion au serveur se fait ?
Dernière modification par Leehan (Thu 25 August 2016 13:22)
Hors ligne
#6 Thu 25 August 2016 13:58
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: openlayers-3 mapserver WMS probleme affichage
Bonjour,
Tu peux tester ton mapfile dans un navigateur en lui donnant dirctement l'url mapserver :
Code:
http://10.3.1.51:8080/cgi-bin/mapserv.exe?map=C:\OSGeo4W\apache\htdocs\fond_mapserver.map&mode=map
S'il y a une erreur de syntaxe dans le mapfile, tu auras un message d'erreur dans ton navigateur.
Si page blanche, l'image est générée mais elle est vide. Ca peut être un problème d'extent ou de projection.
Vianney Dugrain
Hors ligne
#7 Thu 25 August 2016 14:00
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
Le mapfile fonctionne très bien sous Qgis 2.14.
Je suppose un problème de projection mais suis incapable de l'identifier clairement.
Hors ligne
#8 Thu 25 August 2016 14:17
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
J'ai comme un doute là :
la requete envoyée par le navigateur popur récupérer l'image de mapserver commence par :
Code:
http://10.3.1.51:8080/cgi-bin/mapserv.exe?map=C:OSGeo4Wapachehtdocs%0Cond_mapserver.map&SERVICE=WMS&...
Je ne vois pas les "/" entre le C: et OSGeo4W ni les autres ??! 0_o
Hors ligne
#9 Thu 25 August 2016 14:22
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: openlayers-3 mapserver WMS probleme affichage
C'est normal, les URL ne peuvent pas contenir de caractères spéciaux. Il sont remplacés par un codage URL commençant par %.
Vianney Dugrain
Hors ligne
#10 Thu 25 August 2016 14:28
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
oui mais là y'a rien du tout entre le" C:" et "OSGeo4W".
Si je copie/colle dans le navigateur cette adresse, ca ne fonctionne pas évidemment. Faut rajouter les "/".
J'ai bon ou je suis en train de dire n'importe quoi et passer du coté obscur ?
Hors ligne
#11 Thu 25 August 2016 15:13
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: openlayers-3 mapserver WMS probleme affichage
Ah oui effectivement j'avais regardé trop vite ^^
Comme ça je dirais que l'antislash est interprété par javascript comme un caractère d'échappement, d'où sa disparition.
Essaie de doubler les antislash de l'url dans ton code js ('\\').
Sinon, l'appel mapserver dans le navigateur te renvoie quoi ? une image blanche ?
Vianney Dugrain
Hors ligne
#12 Thu 25 August 2016 15:37
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
Je reçois un belle image blanche si je ne mets pas les \ là où il faut.
J'essaie de doubler les "\" mais je crois que j'ai déjà essayé...
Dernière modification par Leehan (Thu 25 August 2016 15:41)
Hors ligne
#13 Thu 25 August 2016 15:58
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
on avance :
Code:
url: 'http://10.3.1.51:8080/cgi-bin/mapserv.exe?map=C:\\OSGeo4W\\apache\\htdocs\\fond_mapserver.map'
dans le javascript a permis d'obtenir
Code:
http://10.3.1.51:8080/cgi-bin/mapserv.exe?map=C:\OSGeo4W\apache\htdocs\fond_mapserver.map&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fjpeg&TRANSPARENT=true&LAYERS=Interr%C3%83%C2%A9gions&CRS=EPSG%3A2154&STYLES=&MAP_RESOLUTION=108.00000429153442&WIDTH=922&HEIGHT=461&BBOX=158470.20322265627%2C6289091.986718751%2C1351657.6157226562%2C6885685.692968749
en requête dans le navigateur, recupérée dans les outils de debug. Ca semble résolu pour cette partie. On a recuperé le bon chemin. Merci
Cette requête directement passée dans FF renvoie
Code:
<ServiceExceptionReport version="1.3.0" xsi:schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd"><ServiceException code="LayerNotDefined"> msWMSLoadGetMapParams(): WMS server error. Invalid layer(s) given in the LAYERS parameter. </ServiceException></ServiceExceptionReport>
donc il doit manquer un paramètre dans le mapfile...
remarque : le wms est toujours bien lu par QGIS.
Hors ligne
#14 Thu 25 August 2016 16:13
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: openlayers-3 mapserver WMS probleme affichage
Je pense que c'est l'accent dans ton nom de couche ("Interrégions").
Sans l'accent ça donne quoi ?
Vianney Dugrain
Hors ligne
#15 Thu 25 August 2016 16:24
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
exactement je viens de m'en rendre compte à l'instant !
du coup, comment gérer le truc (à part en changeant le nom de la couche dansle mapfile) ?
Hors ligne
#16 Thu 25 August 2016 16:29
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: openlayers-3 mapserver WMS probleme affichage
(à part en changeant le nom de la couche dansle mapfile)
C'est la meilleure chose à faire à mon avis.
Vianney Dugrain
Hors ligne
#17 Thu 25 August 2016 17:39
Re: openlayers-3 mapserver WMS probleme affichage
Je suis d'accord avec VianneyD : pas de caractères accentués dans le nom des layers (par contre dans CLASS, on peut).
Jean-François Behm, formateur SIG, jf.behm@, idgeo.frformations@ idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique 42, avenue de Général de Croutte - 31100 toulouse
Hors ligne
#18 Fri 26 August 2016 09:40
- Leehan
- Participant actif
- Lieu: tours
- Date d'inscription: 10 Jun 2009
- Messages: 52
Re: openlayers-3 mapserver WMS probleme affichage
Bref, manitenant ca fonctionne.
Merci du coup de patte en tout cas
Hors ligne