Bienvenue! Inscrivez-vous et rejoignez notre communaut :)
  • Login:

Bienvenue sur Forum SIG - Systmes d'Information Gographique et Gomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre premire visite, assurez vous de faire une recherche pralable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des rsultats 1 6 sur 6
  1. #1

    Date d'inscription
    janvier 2005
    Messages
    380

    Par dfaut Non Rsolu : Slectionner des entits d'une couche wms

    Bonjour,

    j'affiche une couche wms de polygones sur ma carte, et je voudrais en slectionner certains.

    je dfini ma map avec la carte de fond :
    Code:
    var map = new OpenLayers.Map('map');
    
    var wmsLayer = new OpenLayers.Layer.WMS(
                    "vmap0",
                    "http://vmap0.tiles.osgeo.org/wms/vmap0",
                    {layers: 'basic', isBaseLayer:true}
    );
    Mon layer wms :
    Code:
    var monlayerwms = new OpenLayers.Layer.WMS(
                    "monlayerwms",
                    "http://monsite.fr:8080/geoserver/wms",
                    {layers: 'monlayer', transparent: true}
    );
    Le controle de slection :
    Code:
    var select, hover, control;
    select = new OpenLayers.Layer.Vector("Selection", {styleMap: 
                    new OpenLayers.Style(OpenLayers.Feature.Vector.style["select"])
                });
                hover = new OpenLayers.Layer.Vector("Hover");
    //            map.addLayers([layer, hover, select]);
    map.addLayers([wmsLayer, monlayerwms, hover, select]);
                
                control = new OpenLayers.Control.GetFeature({
                    protocol: OpenLayers.Protocol.WFS.fromWMSLayer(monlayerwms),
                    box: true,
                    hover: true,
                    multipleKey: "shiftKey",
                    toggleKey: "ctrlKey"
                });
                control.events.register("featureselected", this, function(e) {
                    select.addFeatures([e.feature]);
                });
                control.events.register("featureunselected", this, function(e) {
                    select.removeFeatures([e.feature]);
                });
                control.events.register("hoverfeature", this, function(e) {
                    hover.addFeatures([e.feature]);
                });
                control.events.register("outfeature", this, function(e) {
                    hover.removeFeatures([e.feature]);
                });
                map.addControl(control);
                control.activate();
    mais quand je slectionne un polygone, il n'y a rien qui se slectionne ...
    je me suis bas sur cet exemple, qui marche parfaitement :
    http://openlayers.org/dev/examples/getfeature-wfs.html

    qu'est ce qui cloche ?

    Merci,
    Nico

  2. #2

    Date d'inscription
    mars 2012
    Messages
    9

    Par dfaut

    Il faudrait que tu ouvres la console de dveloppeur Web (Ctrl+Maj+I sous chrome, Ctrl+Maj+K sous firefox) pour voir s'il y a des erreurs dans la console ou dans les requtes de l'onglet rseau. Si tu en vois reporte nous les.

    Tu peux aussi essayer de remplacer ton layer par le layer de l'exemple pour voir si a vient pas de lui.

  3. #3

    Date d'inscription
    avril 2012
    Messages
    3

    Red face

    Bonjour tout le monde,

    J'ai exactement le mme problme , lorsque je slectionne un polygone dans openLayers, rien est slectionn. J'ai ouvert le console d'excution (ctrl+ Maj + k) mais il n'y a pas d'erreur. Pourriez vous m'aider sil vous plait.

    Merci beaucoup,
    Houlder

  4. #4

    Date d'inscription
    janvier 2005
    Messages
    380

    Par dfaut

    Il faut installer un fichier proxy dans cgi-bin :

    rcuprer le fichier d'exemple proxy.cgi ici :
    http://trac.osgeo.org/openlayers/bro...ples/proxy.cgi

    dans la liste allowedHosts, rajouter le nom du serveur qu'on veut atteindre.

    copier le fichier dans /usr/lib/cgi-bin et le rendre excutable (chmod a+x proxy.cgi).

    dans le fichier de votre application Ext JS, il faut dclarer le proxy :
    Code:
    OpenLayers.ProxyHost= "../cgi-bin/proxy.cgi?url=";
    et a marche ...

    Nico

  5. #5

    Date d'inscription
    janvier 2012
    Messages
    48

    Par dfaut

    Bonjour


    je dispose du mme problme sauf que moi, jexcute mon programme dans tomcat via netbeans (port: 8084) et je fais appel au wfs dans geoserver dans le port:8080

    Commen faire dans ce cas ? Merci

  6. #6

    Date d'inscription
    mai 2005
    Messages
    4

    Par dfaut

    Il faut mettre en place un reverse proxy qui permet au client web de ne voir qu'un seul serveur et donc de ne pas avoir des problmes de scurit.

 

 

Discussions similaires

  1. [OpenLayers] Slectionner des entits d'une couche wms/wfs
    Par hnahoulder dans le forum Assistance et Programmation
    Rponses: 0
    Dernier message: 05/06/2012, 15h26
  2. [ArcGIS 9.x] Gnrer une boucle pour selectionner des entits
    Par depdep dans le forum Assistance Technique
    Rponses: 0
    Dernier message: 28/03/2011, 16h03
  3. [ArcGIS 9.x] Slectionner par entits en VBA
    Par VincentF dans le forum Programmation
    Rponses: 2
    Dernier message: 16/11/2009, 14h42
  4. [ArcGIS 9.x] Selectionner les entits selon un intervalle d'attributs
    Par skaguigui dans le forum Assistance Technique
    Rponses: 4
    Dernier message: 05/11/2009, 11h05
  5. Rponses: 4
    Dernier message: 23/02/2009, 13h00

Les tags pour cette discussion

Liens sociaux

Rgles de messages

  • Vous ne pouvez pas crer de nouvelles discussions
  • Vous ne pouvez pas envoyer des rponses
  • Vous ne pouvez pas envoyer des pices jointes
  • Vous ne pouvez pas modifier vos messages
  •