Pages: 1
- Sujet précédent - [Openlayers/Mapserver] Emprise/couches disponibles suivant login - Sujet suivant
#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
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
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
Pages: 1
- Sujet précédent - [Openlayers/Mapserver] Emprise/couches disponibles suivant login - Sujet suivant