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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 06 May 2011 13:43

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

[openlayer] Problème avec Vector

Bonjour

J'ai un problème à utiliser vector pour sélectionner un polygone et le voir en highlight ... Je ne vois que ma couche (postgis) etat avec comme style default. Rien ne se passe quand je clique sur un polygone.

Merci pour votre aide.

Voici le code:


  var map = new OpenLayers.Map('map');
 
  var layer = new OpenLayers.Layer.WMS(
     "province",
     "http://localhost:8080/geoserver/wms",
     {layers: "sf:etat",
     format: "image/png"}
     ,{isBaseLayer: true}                 
    );
   
        map.addLayer(layer);   

  var vectorlayer = new OpenLayers.Layer.Vector("vector", {
    strategies: [new OpenLayers.Strategy.BBOX()],
    protocol: new OpenLayers.Protocol.WFS({
        url:  "http://localhost:8080/geoserver/wfs",
        version: "1.1.0",
        featureType: "etat",
        featureNS: "sf",
        srsName: "EPSG:4326"
    }),
    styleMap: new OpenLayers.StyleMap({
                "default": new OpenLayers.Style({
                    fillColor: "#ffcc66",
                                strokeColor: "#ff9933",
                                strokeWidth: 2
                              
                }),
                "select": new OpenLayers.Style({
                     fillColor: "#66ccff",
                     strokeColor: "#3399ff"
                })
            })


});

//Controls
    map.addLayer(vectorlayer);   
    map.addControl(new OpenLayers.Control.LayerSwitcher());

    var select = new OpenLayers.Control.SelectFeature([vectorlayer]);
    map.addControl(select);
    select.activate();

Hors ligne

 

#2 Fri 06 May 2011 15:42

WWS
Participant occasionnel
Date d'inscription: 11 Oct 2010
Messages: 16

Re: [openlayer] Problème avec Vector

Bonjour,

Est-ce que votre couche WFS s'affiche ?
Si pas, je commencerais par essayer de remplacer "featureNS: "sf"," par "featureNS:"http://localhost:8080/geoserver/sf,"

Sinon, problème de proxy ?

Bonne chance smile

Dernière modification par WWS (Fri 06 May 2011 15:46)

Hors ligne

 

#3 Fri 06 May 2011 15:46

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

Re: [openlayer] Problème avec Vector

Bonjour


Tout d'abord merci pour votre réponse, oui ma couche wfs s'affiche. Pour le proxy, je devrais faire quoi ?

Merci

Hors ligne

 

#4 Fri 06 May 2011 15:49

WWS
Participant occasionnel
Date d'inscription: 11 Oct 2010
Messages: 16

Re: [openlayer] Problème avec Vector

Proxy : si la couche s'affiche (en WFS, hein wink ) ce n'est pas un problème de proxy.
Comme la même couche est appelée en WMS et en WFS, je n'avais pas compris si le problème de base était l'affichage ou simplement la sélection des entités.

Hors ligne

 

#5 Fri 06 May 2011 15:52

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

Re: [openlayer] Problème avec Vector

ma 1ère couche ayant le style default s'affiche, mais le vector ne s'affiche pas et quand je le reli à un évenement rien ne se passe. La séléction ne se fait pas ... rien.

euh ... si le wfs veut dire vector, alors il ne s'affiche pas. c'est juste le wms qui s'affiche.

Dernière modification par khalid_sig (Fri 06 May 2011 15:56)

Hors ligne

 

#6 Fri 06 May 2011 16:00

WWS
Participant occasionnel
Date d'inscription: 11 Oct 2010
Messages: 16

Re: [openlayer] Problème avec Vector

Essayez de commenter la définition des deux couches, et d'ajouter celle-ci :

var vectorlayer = new OpenLayers.Layer.WFS( "vector",
   "http://localhost:8080/geoserver/wfs", {typeName: 'sf:etat'}
);
map.addLayer(vectorlayer);

Si rien ne s'affiche, je vote pour un problème de proxy (on y revient ...).

Dernière modification par WWS (Fri 06 May 2011 16:02)

Hors ligne

 

#7 Fri 06 May 2011 16:16

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

Re: [openlayer] Problème avec Vector

ça ne fonctionne pas, firebug ne dit qu'il y a une erreur dans maxExtent, que je les définit ou pas.

Pour var layer = new OpenLayers.Layer.WMS --> fonctionne ( car je lui donne un style default polygon)

Mais var vectorlayer = new OpenLayers.Layer.Vector  --> ne fonctionne pas.

Avec firebug je voyais qu'il executait l'url, et dans son response je voyais les informations correcpondante à ma couche, mais rien ne s'affiche.

Dans le fichier proxy.cgi j'ai définit  http://localhost:8080/geoserver/wfs.

MErci


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#8 Fri 06 May 2011 16:20

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

Re: [openlayer] Problème avec Vector

En plus du code que vous m'avez envoyé, j'ai ajouter la définition de ma couche wms, et ça fonctionne.

Donc maintenant je dois faire la fonction du highlight de la séléction.

Merci

Hors ligne

 

#9 Fri 06 May 2011 16:24

WWS
Participant occasionnel
Date d'inscription: 11 Oct 2010
Messages: 16

Re: [openlayer] Problème avec Vector

Lorsque j'avais rencontré ce problème (données WFS reçues d'après Firebug, mais pas d'affichage) c'était un problème de featureNS.
Après avoir bien renseigné "l'url de l'espace de nommage" dans les propriétés de l'espace de travail GeoServer et le featureNS dans le Javascript, ça a fonctionné.
Je débute aussi ... donc si ceci ne fonctionne toujours pas, il va falloir faire appel à des membres plus expérimentés smile
WWS

Hors ligne

 

#10 Fri 06 May 2011 16:30

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

Re: [openlayer] Problème avec Vector

juste une question par rapport au namespace, jusque là je travail avec cite ou sf qui sont prédéfinit, car quand je voulais faire le mien, il ne l'acceptais pas.

Pour créer le mien, je spécifie un dossier sur mon pc. est-ce correct ?

Hors ligne

 

#11 Fri 06 May 2011 16:35

WWS
Participant occasionnel
Date d'inscription: 11 Oct 2010
Messages: 16

Re: [openlayer] Problème avec Vector

Si nous parlons de l'espace de travail, non, ce n'est pas l'emplacement des données en local qu'il faut définir mais l'url de l'espace de nommage (dans votre cas, probablement http://localhost:8080/geoserver/nom_de_l'espace_de_travail

Hors ligne

 

#12 Fri 06 May 2011 16:50

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

Re: [openlayer] Problème avec Vector

ok je vois maintenant. Donc comme j'utilise le sf prédéfinit, je dois écrire dans la définition du vector

localhost:8080/geoserver/data_dir/workspaces/sf

ou l'url qu'ils ont définit dans geoserver http://www.openplans.org/spearfish ?

Hors ligne

 

#13 Fri 06 May 2011 16:56

WWS
Participant occasionnel
Date d'inscription: 11 Oct 2010
Messages: 16

Re: [openlayer] Problème avec Vector

J'essaierais de remplacer l'url par "http://localhost:8080/geoserver/sf", aussi bien dans geoserver que dans le script ...
Sans certitude ! Mais pour mon espace de travail AFFTEST, sur ce modèle, ça fonctionne.

Hors ligne

 

#14 Fri 06 May 2011 17:05

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

Re: [openlayer] Problème avec Vector

MErci infiniment pour votre aide.

Hors ligne

 

#15 Sat 07 May 2011 12:34

khalid_sig
Participant actif
Date d'inscription: 7 Apr 2011
Messages: 52

Re: [openlayer] Problème avec Vector

Retour d'experience: Effectivement le problème était le namespace, je travail avec sf alors il fallait mettre l'url de sf définit dans geoserver. Donc ce qu'il fallait changer dans le premier code c'est featureNS: http://www.openplans.org/spearfish

Bon courage à tous et merci M. WMS

Hors ligne

 

Pied de page des forums

Powered by FluxBB