Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !

10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …

Faire un don 

Retrouver nos membres bienfaiteurs

#1 Thu 14 November 2013 19:59

fdub
Juste Inscrit !
Date d'inscription: 14 Oct 2013
Messages: 4

OpenLayers WMSGetFeatureInfo très lent

Bonjour à tous,

Je suis entrain de mettre en place une solution Webmapping en utilisant PostGIS-MapServer-OpenLayers.
Tout fonctionne assez bien et la solution est assez fluide depuis que j'ai pris un logiciel intermédiaire de tuilage de mes couches wms (Tilecache), sinon l'affichage des couches était plutôt lent.

J'essaie de mettre en place des fenêtres PopUp lors d'un clic sur les polygones via la fonction WMSGetFeatureInfo. Or, le temps de réponse est de l'ordre de 30 secondes (ce qui est très lent quand on attend).

Pour donner rapidement quelques indications:
- Ma table POSTGIS a des indexes crées sur la géométrie et sur l'oid
- Mon Mapfile appelle mes données via la requête : ""geom FROM table using SRID=4326 using unique oid"
- Mon appli Openlayers charge les couches tuilées, plus les 3 couches wms non visibles (pour pouvoir avoir le GetFeatureInfo) qui font toutes moins de 5000 éléments, via le code :


Code:

// Add MouseClickInfo Control
        info = new OpenLayers.Control.WMSGetFeatureInfo({
            url: WMS_url, 
            title: 'Identify features by clicking',
            infoFormat:'text/html',
                        click: 'true',
                        layers: [lyr, lyr2, lyr3],
            
            eventListeners: {
                getfeatureinfo: function(event) {
                    map.addPopup(new OpenLayers.Popup.FramedCloud(
                        "chicken", 
                        map.getLonLatFromPixel(event.xy),
                        null,
                        event.text,
                        null,
                        true
                    ));
                }
            }
        });
        map.addControl(info);
        info.activate();

Donc voilà, je ne sais pas d'où vient le problème, ni comment accélérer les requêtes...
Pour d'autres indications :
- L'affichage des couches est également très lent si je ne passe pas par un logiciel de tuilage en cache et que j'appelle directement mes couches wms, cela peut venir de là?
- Pour les performances serveur, j'ai la solution maximale en serveur partagé chez alwaysdata
- Le problème ne semble pas venir de PostGIS (cf post suivant)

Toute aide serait la bienvenue!

Merci

Dernière modification par fdub (Thu 14 November 2013 20:47)

Hors ligne

 

#2 Thu 14 November 2013 20:46

fdub
Juste Inscrit !
Date d'inscription: 14 Oct 2013
Messages: 4

Re: OpenLayers WMSGetFeatureInfo très lent

Re,
Après des tests sur PostGIS, notamment interrogeant si les polygones de ma base contiennent un point de coordonnées données, j'ai une réponse en 200ms, donc le problème ne semble pas venir de PostGIS...

Le temps de communication long est donc dans la chaîne, mais je ne trouve toujours pas...

Hors ligne

 

Pied de page des forums

Powered by FluxBB