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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

Webiboo
Participant occasionnel
Lieu: Lons-le-Saunier
Date d'inscription: 18 Apr 2006
Messages: 13
Site web

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. smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB