#1 Mon 14 May 2012 14:54
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 142
Probleme affichage couche wms avec Openlayer
Bonjour,
problème redondant pour des débutants, je fais appel à vos aides pour me dépatouiller parce que là je ne m'en sors absolument pas.
J'essaie d'afficher une couche wms sur un fond openlayers. Il me semble avoir tous les éléments mais quelque chose coince et je ne trouve pas quoi et c'est pourtant pas faute d'avoir cherché je vous assure.
J'ai mon mapfile généré par QGis :
Code:
MAP NAME "QGIS-MAP" # Map image size SIZE 1000 1000 UNITS meters EXTENT 762628 1968750 943414 2105911 #FONTSET './fonts/fonts.txt' #SYMBOLSET './symbols/symbols.txt' PROJECTION "init=EPSG:27582" END # Background color for the map canvas -- change as desired IMAGECOLOR 255 255 255 IMAGEQUALITY 95 IMAGETYPE agg OUTPUTFORMAT NAME agg DRIVER AGG/PNG IMAGEMODE RGB END # Legend LEGEND IMAGECOLOR 255 255 255 STATUS ON KEYSIZE 18 12 LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 89 END END # Web interface definition. Only the template parameter # is required to display a map. See MapServer documentation WEB # Set IMAGEPATH to the path where MapServer should # write its output. IMAGEPATH '/tmp/' # Set IMAGEURL to the url that points to IMAGEPATH # as defined in your web server configuration IMAGEURL '/tmp/' # WMS server settings METADATA 'wms_title' 'QGIS-MAP' 'wms_onlineresource' 'http://localhost/cgi-bin/mapserv.exe?map=C:/OSGeo4W/apache/htdocs/mapfile/commune_isere.map' 'wms_srs' 'EPSG:27582 EPSG:4326' 'wms_format' 'image/png' END #Scale range at which web interface will operate # Template and header/footer settings # Only the template parameter is required to display a map. See MapServer documentation TEMPLATE 'fooOnlyForWMSGetFeatureInfo' END LAYER NAME 'Limites_Communes_isere' TYPE POLYGON STATUS ON CONNECTIONTYPE OGR CONNECTION 'F:\Donnees_generales\Limites_Communes_isere.TAB' DUMP true TEMPLATE fooOnlyForWMSGetFeatureInfo EXTENT 762628 1968750 943414 2105911 METADATA 'wms_title' 'Limites_Communes_isere' END TRANSPARENCY 100 CLASS NAME 'Limites_Communes_isere' STYLE WIDTH 0.91 OUTLINECOLOR 0 0 0 END END END END
Code javascript/HTML :
Code:
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://openlayers.org/api/OpenLayers.js"></script> <script type="text/javascript"> var map; function init() { map = new OpenLayers.Map('map'); var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} ); var commune = new OpenLayers.Layer.WMS( "Communes Isère", "http://localhost/cgi-bin/mapserv.exe?map=C:\OSGeo4W\apache\htdocs\mapfile\commune_isere.map", {layers: 'Limites_Communes_isere', transparent:true, format: "image/png", srs:'EPSG:27582'} ); var un_point=new OpenLayers.LonLat(5.7167,45.1667) // Center of the map var Zoom=10; map.addLayers([wms,commune]); map.setCenter(un_point,Zoom); map.addControl(new OpenLayers.Control.LayerSwitcher()); } </script> </head> <body onload="init()"> <div id="map" style="width: 600px; height: 300px"></div> </body>
Je me doute qu'il y a des problèmes de projection mais et de cohérence entre mon mapfile et l'affichage openlayers mais je ne les vois pas.
A savoir que l'affichage de ma couche seule par cette adresse url fonctionne :
Code:
http://localhost/cgi-bin/mapserv.exe?map=C:\OSGeo4W\apache\htdocs\mapfile\commune_isere.map&LAYERS=ALL&MODE=MAP
Ce qui m'intrigue le plus c'est que firebug me permet de voir dans "réseau>image" que ma couche "commune" n'est même pas uploadé. Par contre le fond openlayers lui s'affiche bien.
Merci à ceux qui pourront m'aider.
(discussion similaire posté sur "forum sig" mais n'ayant plus eu de réponse j'essaie de poster ici, merci de votre compréhension)
Dernière modification par Oliv38 (Mon 14 May 2012 14:55)
Hors ligne
#2 Mon 14 May 2012 15:12
Re: Probleme affichage couche wms avec Openlayer
Bonjour,
Ce qui saute aux yeux : var un_point=new OpenLayers.LonLat(5.7167,45.1667)
Tu as une projection en lambert 2 étendue et tu définies le centre en latlon (je sais le nom de la méthode n'est pas très pertinente
Code:
var un_point=new OpenLayers.LonLat(800000,2000000)
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
#3 Mon 14 May 2012 15:34
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 142
Re: Probleme affichage couche wms avec Openlayer
Réponse rapide et je valide totalement ta remarque. Cependant, il doit y avoir un souci de projection autre part puisque maintenant je suis totalement dans les choux.
Concernant le chargement de ma couche qui est inexistant tu as une idée?
Merci bien.
Hors ligne
#4 Mon 14 May 2012 16:03
Re: Probleme affichage couche wms avec Openlayer
Bonjour,
Est ce que Firebug envoie une requête correcte vers le serveur ?
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 Mon 14 May 2012 16:25
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 142
Re: Probleme affichage couche wms avec Openlayer
Peux-tu préciser ce que tu entends par "correcte"?
Hors ligne
#6 Mon 14 May 2012 16:49
Re: Probleme affichage couche wms avec Openlayer
Bonjour,
J'entend par correcte : structuré correctement avec des informations correctes par rapport à ce que tu penses avoir définie dans OL et ce que MS peut recevoir. Qu'elle renvoie bien des données (aka une image).
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 Mon 14 May 2012 17:01
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 142
Re: Probleme affichage couche wms avec Openlayer
Eh bien comme je le disais concernant ma couche wms que j'appelle dans mon code JS par "http://localhost/cgi-bin...mapfile.map" il n'ya absolument rien. Quand j'ouvre ma page html, seul mon fond openlayers s'affiche.
Dans firebug il n'y a aucune info concernant cette couche, elle n'est pas du tout chargée. Ou alors je ne regarde pas au bon endroit dans firebug mais il ne me semble pas.
Merci de m'aider.
Hors ligne
#8 Wed 16 May 2012 08:35
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 142
Re: Probleme affichage couche wms avec Openlayer
Je remonte juste le sujet pour indiquer que j'ai toujours besoin d'aide s'il vous plaît.
Merci.
Dernière modification par Oliv38 (Wed 16 May 2012 08:35)
Hors ligne
#9 Wed 16 May 2012 12:52
Re: Probleme affichage couche wms avec Openlayer
Bonjour
Ton mapfile me semble bizarre, car la propriété DATA est absente.
Essaies de la rajouter suite à la connexion (ça n'a pas l'air obligatoire à première vue, mais on ne sait jamais) :
Code:
LAYER ... CONNECTIONTYPE OGR CONNECTION "<datasource_name>" DATA "<layer_definition>" ... END
Regardes ce lien pour plus d'infos sur les connections OGR : http://mapserver.org/input/vector/ogr.html
Bonne continuation
Dernière modification par Taxo (Wed 16 May 2012 13:20)
Charly Laurent
CV : http://www.doyoubuzz.com/charly-laurent
LinkedIn : http://fr.linkedin.com/pub/charly-laurent/44/b94/81a
Hors ligne
#10 Mon 21 May 2012 09:25
- Oliv38
- Participant actif
- Date d'inscription: 21 Dec 2011
- Messages: 142
Re: Probleme affichage couche wms avec Openlayer
Bonjour,
merci pour cette réponse.
Cependant, j'avoue ne pas savoir quoi mettre dans la propriété DATA car d'après la documentation que tu m'as fournit, cette propriété n'est pas à mettre lorsqu'il s'agit d'un fichier .tab.
Mais il est possible que le problème vienne de la connexion OGR et dans ce cas il serait peut-être bon d'essayer de convertir ma couche .tab en .shp et de recommencer la manip'.
J'essaierai et reviendrai vers vous.
Merci en tous cas.
Hors ligne