#1 Wed 27 April 2011 16:35
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
[Mapserver/Openlayers]Souci d'affichage
Bonjour à tous,
J'ai un petit souci très basic pour afficher une couche WMS (mapserver) via openlayers.
Apparemment mon WMS fonctionne, j'arrive à l'afficher via Qgis ou gaia sans problème.
Quand d'essai de l'afficher avec OpenLayers, il me ressort de tuiles roses. Je pense que cela doit venir de la projection, car quand j'affiche les coordonnées du curseur, il me sort des coordonnées en WGS84 alors qu'elles devrais être en lambert93.
Désolé de poster une énième fois la question mais là je sèche.
Merci d'avance
Voici mon MAPFILE :
Code:
MAP NAME "QGIS-MAP" # Map image size SIZE 1000 500 UNITS meters EXTENT 9***** 6****** 9***** 6****** FONTSET '../fonts/fonts.txt' PROJECTION "init=epsg:2154" END IMAGECOLOR 255 255 255 IMAGEQUALITY 95 IMAGETYPE png OUTPUTFORMAT NAME png DRIVER 'GD/PNG' MIMETYPE 'image/png' IMAGEMODE RGBA EXTENSION 'png' END # Legend LEGEND IMAGECOLOR 255 255 255 STATUS ON KEYSIZE 18 12 LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 89 END END WEB IMAGEPATH '/tmp/' IMAGEURL '/tmp/' METADATA "wms_title" "WMS Demo Server" "wms_onlineresource" "http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/apps/xxxx/mapfiles/xxxx.map&" "wms_srs" "epsg:2154" "wms_format" "image/png" END TEMPLATE 'fooOnlyForWMSGetFeatureInfo' END LAYER NAME 'COMMUNE' TYPE POLYGON DUMP true TEMPLATE fooOnlyForWMSGetFeatureInfo EXTENT 9***** 6****** 9***** 6****** CONNECTIONTYPE postgis CONNECTION "dbname='postgis' host=localhost port=5432 user='postgres' password='*****' sslmode=disable" DATA 'the_geom FROM "bdtopo"."COMMUNE" USING UNIQUE gid USING srid=2154' METADATA "wms_title" "COMMUNE" END PROJECTION "init=epsg:2154" END STATUS OFF TRANSPARENCY 100 LABELITEM 'NOM' CLASS NAME 'COMMUNE' STYLE WIDTH 1.26 OUTLINECOLOR 0 0 0 END LABEL FONT tahoma TYPE truetype SIZE 12 COLOR 0 0 0 ANGLE 0 POSITION cc FORCE true ANTIALIAS true PARTIALS true END END END
et voici ma page html:
Code:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <title>OpenLayers Basic Single WMS Example</title> <link rel="stylesheet" href="style.css" type="text/css" /> <link rel="stylesheet" href="style2.css" type="text/css" /> <script src="Openlayers/OpenLayers.js"></script> <script type="text/javascript"> var map, layer; function init(){ map = new OpenLayers.Map( 'map' ); layer = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://localhost/cgi-bin/mapserv.exe?MAP=C:\ms4w\apps\****\mapfiles\****.map&", {layers: 'basic'} ); map.addLayer(layer); map.zoomToMaxExtent(); // Set up the footer to display the mouse position var footerDiv = document.getElementById("footer"); var mousePosition = new OpenLayers.Control.MousePosition({div: footerDiv}) map.addControl(mousePosition); } </script> </head> <body onload="init()"> <h1 id="title">Basic Single WMS Example</h1> <div id="tags"> basic, simple, minimal, cleanup </div> <div id="shortdesc">Show a Simple Map</div> <div id="map" class="smallmap"></div> <div id="docs"> This example shows a very simple layout with minimal controls. This example uses a single WMS base layer. </div> </body> </html>
Dernière modification par smile (Wed 27 April 2011 16:52)
Hors ligne
#2 Wed 27 April 2011 17:38
- jack tippit
- Participant actif
- Lieu: Limoges
- Date d'inscription: 3 Dec 2008
- Messages: 116
- Site web
Re: [Mapserver/Openlayers]Souci d'affichage
Bonjour a toi,
bon je suis bien loin d'être un expert, je commence OpenLayers, mais je me lance ... il me semble que les tuile rose c'est quand le lien vers la source est cassé...
est-ce que tu arrives a l'afficher en l'appelant directement depuis ton navigateur?
chez moi ça donne ça
Code:
http://localhost/cgi-bin/mapserv?map=/home/loulou/cembra.map&service=WMS&version=1.1.1&request=getmap&layers=hillshase01,hillshaseColor01&srs=EPSG:32632&bbox=665938.372716,5111625.157394,672112.372716,5116322.501883&format=image/png&width=800&height=800
cela doit t'afficher la carte...
ensuite moi par précaution parce que je ne maitrise pas forcement très bien je commence toujours par définir les paramètre généraux de mon affichage un truc du genre
Code:
var options = { //maxExtent et maxResolution fonctionne ensemble si les bornes sont juste la résolution est calcule au vol maxExtent: new OpenLayers.Bounds(666732.26236444,5112445.0894041, 671318.48306756,5115502.5698729), maxResolution: "auto", //le numZoomLevels permet de definir le nombre de palier de zoom //numZoomLevels : 6 , units: 'm', projection: "EPSG:32632", //displayProjection:"EPSG:25832", //permet une navigation au clavier (fleches et zomm+-) dans la fenêtre carte //controls: [new OpenLayers.Control.KeyboardDefaults()], }; //initiallise une carte, avec les options sus définies :) map = new OpenLayers.Map('map',options);
j'espère que ça va t'aider... et que je ne dis pas de bêtises...
Hors ligne
#3 Thu 28 April 2011 09:57
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
Re: [Mapserver/Openlayers]Souci d'affichage
Salut,
Alors, quand j'utilise le lien directement dans le navigateur ma carte s'affiche bien.
J'ai également paramétré les options de ma carte avec le code que tu ma donné, d'après la position du curseur je suis bien au bon endroit.
Par contre j'ai toujours des tuiles roses! J'ai testé plusieurs façons d'insérer ma layer dans le code HTML, sans résultats.
Hors ligne
#4 Thu 28 April 2011 11:00
Re: [Mapserver/Openlayers]Souci d'affichage
Bonjour,
Voir ce lien pour débuguer : http://georezo.net/wiki/main/logiciels/ … rs/firebug
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Thu 28 April 2011 12:12
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
Re: [Mapserver/Openlayers]Souci d'affichage
Je viens d'inspecter une tuile avec firebug, et voila ce qu'il en ressort:
Code:
<img id="OpenLayersDiv140" style="width: 256px; height: 256px; position: relative; background-color: pink;" class="olTileImage" src="http://localhost/cgi-bin/mapserv.exe?map=C:ms4wappscccemapfilesccce.map&LAYERS=COMMUNE&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&SRS=EPSG%3A2154&BBOX=918837.790046,6931547.3726122,925251.72709518,6937961.3096614&WIDTH=256&HEIGHT=256">
Apparemment il y a un souci avec le chemin de mon mapfile : C:ms4wappscccemapfilesccce.map
Si je copie cette adresse dans mon navigateur en ajoutant les slashs dans le chemin du mapfile, il me renvoi bien la tuile!
Je vais test en mettant les slashs (et non des anti-slash comme il y a actuellement) dans le mapfile voir si çà fonctionne...
EDIT: Effectivement c’était bien un problème de slash, mon problème est résolu.
Merci a vous pour votre aide.
Maintenant j'ai un souci au niveau de l'affichage des étiquettes (multiples), mais ceci est un autre problème.
Dernière modification par smile (Thu 28 April 2011 12:16)
Hors ligne
#6 Thu 28 April 2011 14:17
Re: [Mapserver/Openlayers]Souci d'affichage
Comme celui-ci ?
http://georezo.net/forum/viewtopic.php? … 36#p190536
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Thu 28 April 2011 16:30
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
Re: [Mapserver/Openlayers]Souci d'affichage
Merci pour l'info, ça marche parfaitement.
Es-ce que le fait d'utiliser une tuile unique ne fait pas perde en performance l'application? (ça n'a pas l'air d’être le cas chez moi)
Hors ligne