#1 Mon 30 March 2009 18:36
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
[Openlayers] intégrer le WFS
Bonjour,
j'utilise openlayers pour intégrer du WFS à l'api geoportail.
Je sohaiterai intégrer le wfs de cartorisque ou de carmen mais sans succès:
Mon code:
Code:
map.addLayer( "WFS", "Carmen", "http://carto.ecologie.gouv.fr/MEDD/wfs.php?", { service_idx:'18W', map:'essai_baignades.map', layers:'Zones_de_baignades' }, { singleTile:true, projection: "EPSG:27572", // maxExtent expressed in EPSG:27572 : maxExtent: new OpenLayers.Bounds(290607.95159492,2116593.4560314,842615.03220582,2668600.5366423), minZoomLevel:5, maxZoomLevel:15, opacity:0.5, units:'m', isBaseLayer: false, visibility:false} );
Cela fait référence au WFS disponible à cette page:
http://carto.ecologie.gouv.fr/HTML_PRIV … ce_idx=18W
Est ce quelqu'un a déjà expérimenté avec openlayers et a donc une solution, ou est ce que le service de carmen n'est pas ouvert pour ce type de requête (seulement par l'intermédiaire des sig.
Merci
pour votre aide
Xav'
Dernière modification par xavier78 (Mon 30 March 2009 19:43)
Hors ligne
#2 Mon 30 March 2009 19:42
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
Re: [Openlayers] intégrer le WFS
J'avance petit à petit,
en faisant ceci et en remplaçant le type de données par WMS, cela marche bien.
Code:
map.addLayer( "WFS", "Carmen", "http://carto.ecologie.gouv.fr/MEDD/wfs.php?service_idx=18W&map=essai_baignades.map", { layers:'Zones_de_baignades', transparent:true }, { singleTile:true, projection: "EPSG:27572", // maxExtent expressed in EPSG:27572 : maxExtent: new OpenLayers.Bounds(290607.95159492,2116593.4560314,842615.03220582,2668600.5366423), minZoomLevel:5, maxZoomLevel:15, opacity:0.5, units:'m', isBaseLayer: false, visibility:false } );
Je pense donc que c'est lié à la représnetation de mes objets vecteur dans les paramètres.
Comment faire?
Et surtout après comment récup les attributs.
Merci
Xav'
Hors ligne
#3 Tue 31 March 2009 15:06
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
Re: [Openlayers] intégrer le WFS
BOnjour,
un petit up.
Geolittoral indique bien qu'il faut redéfinir la symbologie des données WFS, c'est quand même le seul à indiquer cela...
SI quelqu'un à la solution je suis preneur.
Merci
Xav'
Dernière modification par xavier78 (Tue 31 March 2009 15:31)
Hors ligne
#4 Tue 31 March 2009 15:15
Re: [Openlayers] intégrer le WFS
Bonjour,
Deux informations qui me paraissent erronées :
1. Je ne comprend pas ta syntaxe que tu utilises dans map.addLayer(), je pense qu'elle est tout simplement fausse.
2. Geolittoral indique bien qu'il faut redéfinir la symbologie des données WMS, c'est quand même le seul à indiquer cela... Non la symbologie n'a pas à être redéfinie pour un WMS. À la rigueur pour un service WFS. Dans le cas d'un WMS il est possible de modifier la symbologie via SLD.
Voilà ce qui me parait plus correcte :
Code:
var wms = new OpenLayers.Layer.WMS( _name, wmsUrl, { transparent: true, format: "image/png" }, { isBaseLayer: true, reproject: false, alpha: true, gutter: 0, wrapDateLine: true, ratio: 1 } ); map.addLayer(wms);
Vérifier l'API pour les détails des propriétés disponibles : http://dev.openlayers.org/docs/files/Op … MS-js.html
Autre doc disponible : http://doc.openlayers.org/library/layers.html
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 Tue 31 March 2009 15:34
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
Re: [Openlayers] intégrer le WFS
C'est du WFS dont je parle, et la 2e fonction écrite me semble bonne pour le WFS. Ce qui me manque c'est la définition de la symbologie du WFS, la classe symbol du site de développement d'Openlayers n'étant pas explicite.
Merci
Dernière modification par xavier78 (Tue 31 March 2009 15:36)
Hors ligne
#6 Tue 31 March 2009 15:42
Re: [Openlayers] intégrer le WFS
Bonjour,
Si personne n'explique qu'il faut définir un style pour un service WFS, c'est que c'est "évident" dans la mesure où tu obtiens des données brutes, contrairement à un service WMS où dans ce cas tu reçois une carte. La problématique est la même pour une couche WCS.
Voilà le code pour une couche WFS :
Code:
var votrestyle = new OpenLayers.Style({ fillColor: #000000, fillOpacity: 0.8, strokeColor: #FFFFFF, strokeOpacity: 1 }); var options = { styleMap:new OpenLayers.StyleMap({ "default": votrestyle, "select": votre StyleHighlight }) }; } var vector = new OpenLayers.Layer.Vector(name, options );//, options map.addLayer(vector);
La doc qui explique tout cela :
* http://trac.openlayers.org/wiki/Styles
* http://dev.openlayers.org/releases/Open … le-js.html
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 Tue 31 March 2009 15:49
- freesnowpetrel
- Participant assidu
- Lieu: Pretoria, Afrique du Sud
- Date d'inscription: 1 Mar 2007
- Messages: 222
Re: [Openlayers] intégrer le WFS
Salut
Yves a raison, ta syntaxe est fausse meme pour du WFS.
Openlayers wfs layer d'apres la doc de l'API
Tu peux aussi regarder le code source de l'exemple openmnnd.html dans les exemples d'Openlayers.
Geoportal WFS layer d'apres la doc de l'API
A+
Rodolphe
Edit: oups! Yves a ete plus rapide que moi...
Dernière modification par freesnowpetrel (Tue 31 March 2009 15:50)
Hors ligne
#8 Tue 31 March 2009 20:29
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
Re: [Openlayers] intégrer le WFS
Merci beaucoup pour cela.
Xav'
Hors ligne