Suite

Restreindre seulement une couche au lieu de donner tout le service ?


Scénario (exemple) :

j'ai une base de données qui s'appelleMYDBlié à GeoServer. Dans GeoServer, j'ai un espace de travail appeléUNEoù A a un magasin connecté à ma MYDB. Dans les couches de section, j'ai publié quatre couches appelées eaux, bâtiments, routes et personnes.

Comment puis-je fournir une URL pour chaque couche publiée séparément.

Par exemple, pour les eaux de couche, j'aurai l'URL WMS suivante :http://localhost:8080/geoserver/geonode/wms?service=WMS&version=1.1.0&request=GetMap&layers=A:waters

Lorsque je connecte cette URL à QGIS, elle se connecte à l'ensemble de l'espace de travail.

Comment puis-je m'assurer qu'il n'affichera qu'un calque ou un groupe de calques spécifique ?

Notez que si j'appelle OpenLayers, il ne filtrera que la couche spécifique, mais dans QGIS, il se connectera à l'ensemble de l'espace de travail.


Vous pouvez utiliser les points de terminaison de service virtuels de GeoServer pour ce faire. Par exemple, si votre point de terminaison WMS normal esthttp://localhost:8080/geoserver/wms, vous pouvez utiliserhttp://localhost:8080/geoserver/A/wmspour seulement les couches dans leUNEespace de travail.

Vous pouvez aussi utiliserhttp://localhost:8080/geoserver/A/people/wmspour le simpleUn peuplecouche.

Cependant, ce n'est pas totalement sécurisé, donc si vous vous inquiétez de l'accès d'autres couches, vous devez mettre en place des règles de sécurité.


Une autre option consiste à désactiver l'option « Annoncé » dans les propriétés de la couche, de sorte qu'elle ne sera affichée dans aucun document de propriétés et aucun logiciel utilisant des propriétés ne le saura (par exemple, il ne sera pas affiché dans les propriétés QGIS wms). Pour afficher une couche, l'utilisateur doit connaître son nom…

Bien sûr, gardez à l'esprit qu'il ne s'agit pas d'une restriction - dans ce cas, vous pouvez toujours afficher cette couche dans OpenLayers ou tout autre logiciel lorsque vous lui donnerez son nom directement car elle n'est pas désactivée, mais pas annoncée.