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 15 June 2009 09:57

Remi01
Participant actif
Date d'inscription: 18 Jan 2007
Messages: 75

[Openlayers/Mapserver] Emprise/couches disponibles suivant login

Bonjour Ă  tous,

Je me demande quelles sont les possibilités de restreindre l'emprise de la carte et les couches visualisables en fonction d'un login utilisateur. J'utilise Openlayers/Mapfish/Mapserver et PostgreSql.

J'ai identifié quelques pistes/début de solution mais j'aimerais des compléments :

- Générer un Mapfile pour chaque cas d'utilisation, et en stocker plusieurs sur le serveur. Créer également un fichier client (openlayers) adapté à chaque cas
Solution assez lourde si les utilisateurs sont nombreux, mais qui permet de gérer finement les "droits".

- Construire uniquement un fichier client Openlayers adaptĂ© Ă  chaque compte utilisateur (dĂ©finir le maxExtent, et l'ajout des couches et des fonctionnalitĂ©s suivant le cas) et se baser sur les mĂȘmes services web (mĂȘme Mapfile).

- Le plugin Mapfish d'authentification, dont je ne connais pas encore grand chose pour le moment ...

Il y'a sans doute d'autres façons de faire ... Je suis intéressé par vos retours d'expérience et vos remarques.

Bon début de semaine !

Rémi

Dernière modification par Remi01 (Mon 15 June 2009 09:57)

Hors ligne

 

#2 Mon 15 June 2009 10:21

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

Re: [Openlayers/Mapserver] Emprise/couches disponibles suivant login

bonjour,

Il y a plus simple. Rapidement. Il est possible d'envoyer une liste de couche dans une fonction constructeur genre init(listerLayer,extentLimit) qui sera utilisé comme liste de couche et limite des extents.

L'identification de l'utilisateur permettra de rĂ©cupĂ©rer ces deux variables stockĂ© en base comme variable utilisateur (au mĂȘme titre qu'un login, etc.).

Au niveau des couches : une boucle permet de parser listLayer qui devra ĂȘtre un tableau contenant toutes les informations nĂ©cessaires pour crĂ©er les objets Layers.

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

 

#3 Mon 15 June 2009 14:14

Remi01
Participant actif
Date d'inscription: 18 Jan 2007
Messages: 75

Re: [Openlayers/Mapserver] Emprise/couches disponibles suivant login

Merci pour cette réponse Yves !

Si d'autres on des retours d'expérience n'hésitez pas !

Rémi

Hors ligne

 

#4 Tue 16 June 2009 12:41

Remi01
Participant actif
Date d'inscription: 18 Jan 2007
Messages: 75

Re: [Openlayers/Mapserver] Emprise/couches disponibles suivant login

Bonjour,

Je suis en train de potasser la question et je m'interroge sur la façon de faire.

Disons que si la solution proposée permet de paramétrer l'ajout des couches et l'extent, comment restreindre une couche (WFS par exemple) à l'emprise administrative dont l'extent est passé en paramÚtre et sur laquelle la carte est centrée ?

Je ne vois pour qu'une requĂȘte spatiale entre la gĂ©omĂ©trie de l'entitĂ© administrative et les diffĂ©rentes couches vectorielles.
Y'a t'il une solution de filtrage autre que de la rĂ©aliser depuis le Mapfile en paramĂ©trant la requĂȘte ? (ce qui m'obligerais Ă  construire le Mapfile de façon dynamique, ce qui n'est pas le cas pour le moment)  Puis-je filtrer directement grĂące Ă  l'API OpenLayers ?

Enfin, j'aimerai savoir comment optimiser au mieux les flux WFS ? parce que c'est relativement lent pour le moment.

Voila, ça fait beaucoup de questions, merci de m'avoir lu !

Rémi

Hors ligne

 

#5 Tue 16 June 2009 13:22

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

Re: [Openlayers/Mapserver] Emprise/couches disponibles suivant login

Bonjour,

Pour restreindre la zone de visibilité dans OpenLayers il faut utiliser :

Code:

restrictedExtent: new OpenLayers.Bounds(restrictBbox.minX, restrictBbox.minY,restrictBbox.maxX, restrictBbox.maxY),

dans les options de ton objet map.

Pour optimiser un WFS il n'y a pas beaucoup de solutions (en supposant que tu ne peux/veux pas limiter le nombre de réponse), l'une d'entre elle serait d'utiliser la compression des données par Apache http://httpd.apache.org/docs/2.0/mod/mod_deflate.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

 

Pied de page des forums

Copyright Association GeoRezo