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 17:17

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

[openlayers] comment avoir id feature selected du vector

Bonjour

j'ai une couche polygone et son vector, ils s'affichent et j'arrive à récupérer l'area du feature que je sélectionne, mais pas les autres champs notamment l'ID:


featureselected: function(event) {
        var feature = event.feature;
        var area = feature.geometry.getArea();
         var id = feature.attributes.key;

Comment devrais-je récupérer l'ID car ce code me renvoi undefined ?

j'ai essayé geometry.id mais ça me donne à chaque fois un nouveau numéro qui ne correspond pas à mon ID.

Merci

Hors ligne

 

#2 Tue 10 May 2011 11:07

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [openlayers] comment avoir id feature selected du vector

Bonjour,

utilises-tu firefox et firebug ?
fais un console.log(feature.data) dans ta fonction featureselected.
dans la console firebug, clique sur la ligne qui vient d'apparaître, a priori, tu devrais trouver les champs liés à cette feature.

J'imagine que la couche dont tu parles provient d'une BD postgis.
L'id récupéré via geometry.id ne doit avoir aucun rapport avec l'iq sql que tu souhaites récupérer, mais plutôt avec le fonctionnement interne d'Open Layers.

tu récupérerais ton id comme ceci :

Code:

var monId = feature.data.id;

A tester.

Dis nous si cela t'aide.

Dernière modification par sigdu80 (Tue 10 May 2011 11:08)

Hors ligne

 

#3 Tue 10 May 2011 11:47

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

Re: [openlayers] comment avoir id feature selected du vector

Bonjour

merci pour votre réponse, en fait quand j'ai essayé event.feature.fid ça marche. Merci

Hors ligne

 

#4 Tue 10 May 2011 11:52

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [openlayers] comment avoir id feature selected du vector

Très bien alors.
Si tu veux récupérer d'autres champs, tu peux utiliser ce feature.data.nom_du_champ_souhaite


Bonne journée.

Hors ligne

 

#5 Tue 10 May 2011 11:59

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

Re: [openlayers] comment avoir id feature selected du vector

Merci beaucoup. En fait pour les autres champs j'utilise event.feature.attributes.name_champ.

Par contre pour l'id on me retourne  namTable.X,  X est l'id. Votre méthode renvoi le X directement ?

Merci

Hors ligne

 

#6 Tue 10 May 2011 16:23

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [openlayers] comment avoir id feature selected du vector

feature.attributes semble renvoyer les mêmes données que feature.data

eh oui, il renvoie directement le x donc essaie le déjà.

Firebug pourrait vraiment t'aider dans la suite de tes opérations, je te le recommande vivement, pour combler la documentation plus que succincte d'Open Layers.

Hors ligne

 

#7 Tue 10 May 2011 16:40

Magalie.Brunet
Participant occasionnel
Lieu: Cannes
Date d'inscription: 6 Nov 2005
Messages: 11

Re: [openlayers] comment avoir id feature selected du vector

Bonjour,

Si ton ID est défini comme clé primaire dans ta table PostGIS, tu dois pouvoir récupérer cet élément en faisant

Code:

feature.fid

.

Hors ligne

 

#8 Tue 10 May 2011 16:53

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

Re: [openlayers] comment avoir id feature selected du vector

Bonjour

Je vous remercie pour vos réponses, pour l'ID la seule instruction qui fonctionne est event.feature.fid  mais elle retoune nomTable.X

Merci

Hors ligne

 

#9 Tue 10 May 2011 17:07

Magalie.Brunet
Participant occasionnel
Lieu: Cannes
Date d'inscription: 6 Nov 2005
Messages: 11

Re: [openlayers] comment avoir id feature selected du vector

Il existe des fonctions en javascript qui permettent de découper une chaîne de caractère pour en extraire une partie. Regarde notamment la fonction split.

Hors ligne

 

#10 Tue 10 May 2011 17:10

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

Re: [openlayers] comment avoir id feature selected du vector

merci

Hors ligne

 

#11 Tue 10 May 2011 17:33

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [openlayers] comment avoir id feature selected du vector

oui, le split est présent en js, mais tu aurais pu au moins testé ce que je t'avais dit, tu aurais alors résolu ton problème avant 12h.

re-re-vive firebug.

Hors ligne

 

#12 Tue 10 May 2011 23:10

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

Re: [openlayers] comment avoir id feature selected du vector

Merci M. sigdu80 mais j'ai vérifié ce que vous m'avez dit, le .data est similaire à attributes mais le ID ne fonctionne pas même avec data.

Je travail avec Firebug depuis quelques mois déjà et c'est grâce à lui que je suis arrivé à ce stade.

Hors ligne

 

#13 Wed 11 May 2011 10:36

sigdu80
Participant actif
Date d'inscription: 2 Sep 2010
Messages: 112

Re: [openlayers] comment avoir id feature selected du vector

Bonjour,

cela a toujours fonctionné pour moi.
Les identifiants SQL des tables postgis que j'ai, s'appellent en général, idQuelqueChose, comme idparcelle ou idcommune.

Du coup, je les appelle avec :

Code:

console.log(feature.data.idparcelle);
console.log(feature.data.idcommune);

Soit, tes id ne s'appelent pas id mais idQuelqueChose ou alors, il y a quelque chose qui m'échappe, c'est fort possible.
En voyant les xml renvoyé par le WFS, tu en sauras plus.
Très bien si tu utilises Firebug. C'est juste que tu ne me répondais pas, cela donnait l'impression que tu n'écoutais pas ce que je disais, ce qui peut être frustrant pour un membre qui intervient dans le but unique d'aider un autre membre.

Bonne journée.

Hors ligne

 

#14 Wed 11 May 2011 11:41

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

Re: [openlayers] comment avoir id feature selected du vector

Bonjour


Je m'excuse pour ce mal entendu alors big_smile, effectivement ma clé s'appel code_parcelle


Merci en tout cas ^^

Hors ligne

 

Pied de page des forums

Powered by FluxBB