#1 Tue 09 August 2011 14:33
- Jule
- Participant occasionnel
- Date d'inscription: 21 Jul 2009
- Messages: 48
[GeoServer] Aggrégations de couches et gestion du zoom
Bonjour,
Je cherche actuellement un moyen simple de faire de l’agrégation de couches dans GeoServer tout en ayant la possibilité de prendre en compte une couche à partir d'un certain niveau de zoom uniquement.
Je m'explique, j'ai deux couches :
A- Une couche worldwide de faible définition.
B- Une couche bien détaillée sur un pays.
Dans GeoServer je crée l'agrégation A+B. Lorsque j'accède à mon service WMS en pointant sur mon agrégation j'obtiens, à n'importe quel niveau de zoom, le carré franc de ma couche B en surimpression de ma couche A.
Maintenant ce que j'aimerais pouvoir faire c'est :
- à faible niveau de zoom : couche A
- à haut niveau de zoom : couche A+B
Bien évidemment mon souhait serait de pouvoir influer sur GeoServer de telle manière à ce que ce soit lui qui décide de prendre en compte ma couche B dans la génération ou non en fonction de la résolution demandée. Je voudrais éviter d'avoir à gérer ça côté client par soucis de simplicité et de performances. En effet, je voudrais me connecter à un unique layer et ne pas avoir à télécharger côté client des tuiles de ma couche A masquées par ma couche B à niveau de zoom plus élevé.
Je doute que ce soit réalisable mais si vous avez une solution je suis preneur.
Merci d'avance,
Jule.
Hors ligne
#2 Tue 09 August 2011 16:28
- Jule
- Participant occasionnel
- Date d'inscription: 21 Jul 2009
- Messages: 48
Re: [GeoServer] Aggrégations de couches et gestion du zoom
Je viens de songer à une éventuelle possibilité :
Ne serait-il pas possible de créer une pyramide pour ma couche B et de volontairement ajouter 1 ou n dossiers(/niveaux de zoom) vide voire contenant une unique dalle totalement transparente ? Ainsi en trichant un peu à la génération de ma pyramide de couche je la rend totalement transparente au delà d'un certain niveau de zoom...
Pas forcément pratique quand on veut pouvoir mettre des entrepôts ImageMosaic et laisser le GeoWebCache faire son travail... Ça oblige à faire des bidouilles couteuses en temps (gdal_retile + vider toutes les tuiles indésirables) et dont une partie n'est pas automatisée. Sachant que je risque de changer de données assez régulièrement ça risque d'être léger comme solution.
D'autre idées ?
Hors ligne
#3 Tue 09 August 2011 19:18
Re: [GeoServer] Aggrégations de couches et gestion du zoom
Peut être en appliquant à la couche que tu ne veux voir qu'à une certaine échelle un style sld (Min/MaxScaleDenominator).
http://docs.geoserver.org/2.0.x/en/user … index.html
Hors ligne
#4 Wed 10 August 2011 11:09
- Jule
- Participant occasionnel
- Date d'inscription: 21 Jul 2009
- Messages: 48
Re: [GeoServer] Aggrégations de couches et gestion du zoom
Bon bah un grand merci à toi j'avais pas du tout songé à chercher de ce côté là...
Il suffit simplement de dériver le style raster par défaut de GeoServer et de rajouter la ligne de MaxScaleDenominator pour faire apparaître la couche...
Ce qui nous donne par exemple le bloc :
Code:
<FeatureTypeStyle> <Rule> <Name>rule1</Name> <Title>Opaque Raster</Title> <Abstract>A raster with 100% opacity</Abstract> <MaxScaleDenominator>4000000</MaxScaleDenominator> <RasterSymbolizer> <Opacity>1.0</Opacity> </RasterSymbolizer> </Rule> </FeatureTypeStyle>
Ce qui a pour effet de masquer ma couche raster pour les niveaux de zoom inférieurs à 1:4000000.
Problème résolu !
Merci encore.
Hors ligne