banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

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

 

Pied de page des forums

Powered by FluxBB