#1 Mon 12 November 2012 18:21
- jonathan
- Participant assidu
- Date d'inscription: 16 May 2006
- Messages: 263
affichage wfs mapserver openlayers
Bonjour,
Comme beaucoup d'utilisateur, je bloque sur l'affichage de donnée wfs dans openlayers via mapserver. Ayant parcouru de nombreux sujets sans parvenir à afficher mes données, je crée un nouveau sujet (encore un).
En suivant le lien suivant, je suis parvenu à afficher le fond de plan OSM dans le système de coordonnées que j'utilise. Je pensais donc que le plus dur serait fait.
http://www.forumsig.org/showthread.php?t=23650
Cependant, si firebug ne me retourne pas d'erreur, aucune donnée wfs n'est affichée.
En saisissant dans la console map.layers, je vois que features (de mon calque wfs) ne contient aucune données.
Si je test l'url et le serveur wfs dans qgis, aucun problème.
voici le code javascript
Code:
function init() { var options = { projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:3949"), units: 'm', maxResolution: "auto", maxExtent: new OpenLayers.Bounds(1424700.0,8169000.0,1451156.0,8188335.0) }; map = new OpenLayers.Map('basicMap',options); var mapnik = new OpenLayers.Layer.OSM(); var epsg4326 = new OpenLayers.Projection("EPSG:4326"); // Transform from WGS 1984 var epsg3949 = new OpenLayers.Projection("EPSG:3949"); // Transform from rgf93cc49 var epsg900913 = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection var position = new OpenLayers.LonLat(-0.57,48.75).transform( epsg4326, epsg900913); var zoom = 12; map.addLayer(mapnik); map.setCenter(position, zoom ); test = new OpenLayers.Layer.WFS("test", "http://serveur/cgi-bin/mapserv.exe?map=chemin/economie/economie.map&", {typename: 'BATIMENT_ENTREPRISE'}, {extractAttributes: true}, {projection: new OpenLayers.Projection("EPSG:3949")} ); map.addLayer(test); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.addControl(new OpenLayers.Control.MousePosition()); }
J'ai essayé plusieurs façon pour charger les données dans openlayers sans succès.
A priori le mapfile est ok, je parviens à afficher les données en wms. les métadonnées pour le wfs sont saisies.
Je ne vois pas où ça cloche.
Merci d'avance pour votre aide.
Hors ligne
#2 Tue 13 November 2012 10:31
- jonathan
- Participant assidu
- Date d'inscription: 16 May 2006
- Messages: 263
Re: affichage wfs mapserver openlayers
Bonjour,
En plaçant tous les fichiers sur le serveur ça avance légèrement. J'obtiens une réponse (problème de proxy ??) Cependant ca ne fonctionne toujours pas.
j'obtiens une réponse xml avec entre autre :
Code:
<gml:boundedBy><gml:null>missing</gml:null></gml:boundedBy>
le paramètre bbox de la requète wfs utilise des coordonnées qui ne correspondent pas à mon système de projection, mais je ne vois comment corriger cela.
Code:
bbox -101059.12766324,6197386.5644715,-25845.091841094,6267708.6304839
le code lié au calque wfs :
Code:
var test2 = new OpenLayers.Layer.Vector( "test2", { // styleMap: styles, strategies: [new OpenLayers.Strategy.BBOX()], protocol: new OpenLayers.Protocol.HTTP({ url: "http://serveur/cgi-bin/mapserv.exe?map=E:/signet/map/economie/economie.map&", params: { typename: "BATIMENT_ENTREPRISE", service: "WFS", format: "WFS", version: "1.0.0", request: "GetFeature", srs: "EPSG:3949" }, format: new OpenLayers.Format.GML() }) //,{extractAttributes: true} }) map.addLayer(test2);
help
Dernière modification par jonathan (Tue 13 November 2012 11:23)
Hors ligne
#3 Tue 13 November 2012 11:16
Re: affichage wfs mapserver openlayers
Bonjour,
Tu interroges ton service en 3949, ta carte s'affiche en 4326 ou 900913.
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
#4 Tue 13 November 2012 11:31
- jonathan
- Participant assidu
- Date d'inscription: 16 May 2006
- Messages: 263
Re: affichage wfs mapserver openlayers
Bonjour,
Merci pour ta réponse.
Quel que soit le code epsg (3949, 900913, 4326) que je donne en paramètre au layer, cela ne change rien.
Étant données les options de ma carte (projection et displayprojection), je pensais en finir avec ces problèmes.
Dernière modification par jonathan (Tue 13 November 2012 11:41)
Hors ligne
#5 Tue 13 November 2012 14:18
- jonathan
- Participant assidu
- Date d'inscription: 16 May 2006
- Messages: 263
Re: affichage wfs mapserver openlayers
ok,
Merci beaucoup,
Je ne modifiais pas le bon paramètre. Il suffisait d'inverser les codes entre projection et displayProjection dans les options de la map. :\
Je pensais pouvoir projeter en cc49, faire l'inverse quoi.
heureusement qu'il y a des forums comme georezo pour relever la tête du guidon.
Dernière modification par jonathan (Tue 13 November 2012 14:24)
Hors ligne