La spécification WMS (Web Map Service) de l'OGC (Open Geospatial Consortium, Inc.) est une spécification internationale de diffusion et d'utilisation de cartes dynamiques sur le Web. Vous pouvez publier un service WMS sur ArcGIS Server en activant la fonctionnalité WMS lorsque vous publiez un service de carte ou d'imagerie dans ArcGIS for Desktop..
Les services WMS s'avèrent utiles si vous souhaitez que vos cartes soient disponibles en ligne dans un format ouvert et reconnu sur divers clients et plateformes. Les clients compatibles avec la spécification WMS peuvent afficher et utiliser votre service. Jusqu'à présent, quatre versions de la spécification WMS ont été publiées. Il s'agit des versions 1.0.0, 1.1.0, 1.1.1 et 1.3.0 (la plus récente).
Les applications clientes utilisent un service WMS en ajoutant des paramètres à l'URL du service. Les services WMS publiés sur ArcGIS Server permettent d'effectuer les opérations suivantes :
- requête de métadonnées à propos du service (GetCapabilities),
- requête d'une carte de type image (GetMap),
- requête d'informations relatives aux entités de la carte (GetFeatureInfo [facultatif]),
- requête de styles définis par l'utilisateur (GetStyles),
- requête de symboles de légende (GetLegendGraphic).
Un service WMS ne doit pas forcément prendre en charge toutes ces opérations. Il doit toutefois prendre en charge au moins les opérations GetMap et GetCapabilities pour être un service WMS de base, et prendre en charge l'opération facultative GetFeatureInfo pour être un service WMS interrogeable. Les opérations GetLegendGraphic et GetStyles s'appliquent uniquement dans un service WMS SLF (Styled Layer Descriptor).
Les images de carte renvoyées par un service WMS ne contiennent pas de données réelles, même si les demandes d'attributs peuvent être formulées par le biais de l'opération GetFeatureInfo. Pour exposer vos données en tant qu'entités vectorielles par l'intermédiaire des spécifications OGC, publiez plutôt un service WFS. Pour exposer des données en tant que couches raster, publiez un service WCS. Pour en savoir plus sur les services WMS, reportez-vous au site Web de l'Open Geospatial Consortium.
Publication d'un service WMS
Vous pouvez publier un service WMS de deux manières :
- Publier un service de carte avec la fonctionnalité WMS activée. Pour publier un service de carte, vous devez tout d'abord créer une carte.
- Publier un service d'imagerie avec la fonctionnalité WMS activée. Pour publier un service d'imagerie, vous devez disposer d'un jeu de données raster, d'une mosaïque ou d'un fichier de couches qui référence un jeu de données raster ou une mosaïque.
Lorsque vous publiez votre service de carte ou d'imagerie, veillez à activer la fonctionnalité WMS en cochant la case WMS dans l'onglet Fonctionnalités de l'Editeur de services. Pour une présentation détaillée de la procédure de création d'un service WMS, reportez-vous à la rubrique Didacticiel : Publication d'un service WMS.
Le nombre de couches de la carte affecte directement le temps requis pour la création du service WMS ou pour son redémarrage lorsqu'il a été arrêté. Supprimez ou consolidez quelques couches pour réduire le temps de démarrage.
Si un cache du service de carte est disponible, il est mis à profit par les services WMS. Le cache du service de carte est utilisé uniquement lors de la requête de projection originale, d'ordre des couches et de visibilité des couches du service. Les tuiles mises en cache sont ré-échantillonnées en fonction de l'échelle demandée par le client, ce qui peut prendre un certain temps et réduire la qualité d'image. L'utilisation d'un cache s'avère particulièrement bénéfique si votre service WMS comporte de nombreuses couches ou une symbologie élaborée qui prendrait autrement beaucoup de temps à s'afficher dynamiquement. Si vous avez quelques couches uniquement et une symbologie simple, les performances seront sans doute meilleures sans cache.
Remarque :
Les services WMS peuvent uniquement utiliser les caches du service de carte. Les caches du service d'imagerie ne sont pas pris en charge.
L'affichage d'un service WMS à partir d'un service de carte mis en cache sur demande crée des tuiles dans le cache si l'utilisateur parcourt des zones non mises en cache.
Si votre WMS provient d'un service d'imagerie ArcGIS Server basé sur une mosaïque, le client peut envoyer des requêtes pour demander des rasters spécifiques du jeu de données. Dans ce cas, la requête GetMap WMS présente le paramètre supplémentaire IMAGES. Par exemple le paramètre IMAGES=1,2 permet de demander les images aux identifiants d'objet 1 et 2 de la table du catalogue du service d'imagerie.
Configuration des propriétés du service WMS
Les propriétés d'un service WMS se répercutent dans ses fichiers de fonctionnalités, de sorte que quiconque utilise le service peut avoir une meilleure compréhension de l'éditeur du service. Lors de la publication d'un service WMS avec des fichiers de fonctionnalités générés par le système (paramètre par défaut), il est recommandé de définir les propriétés du service WMS. Pour plus d'informations sur chaque propriété que vous pouvez définir pour un service WMS, reportez-vous à la rubrique Propriétés de service WMS disponibles. En outre, les rubriques suivantes expliquent comment accéder aux propriétés des services WMS :
Configurer les opérations prises en charge par le service WMS
Vous pouvez contrôler les opérations autorisées du service WMS dans le Gestionnaire et ArcGIS for Desktop. Par exemple, s'il existe une requête pour restreindre l'accès aux informations d'entités individuelles, décochez l'option GetFeatureInfo. Toute requête d'accéder à ces informations sera refusée.
Par défaut, toutes les opérations de ce service sont activées. Les opérations disponibles sont les suivantes :
- GetCapabilities : renvoie au client les informations relatives aux fonctionnalités en réponse à une requête GetCapabilities.
- GetFeatureInfo : renvoie au client les entités en réponse à une requête GetFeatureInfo.
- GetLegendGraphic : renvoie au client une image de la légende en réponse à une requête GetLegendGraphic.
- GetMap : renvoie au client une image de la carte en réponse à une requête GetMap.
- GetSchemaExtension : renvoie au client la structure en réponse à une requête GetSchemaExtension.
- GetStyles : renvoie au client les styles disponibles en réponse à une requête GetStyles.
Remarque :
Pour une conformité parfaite avec OGC WMS, activez (au moins) les opérations GetCapabilities et GetMap.
Définition des propriétés WMS à l'aide d'un fichier de fonctionnalités externes
Un fichier de fonctionnalités externes peut également être utilisé pour définir les métadonnées. Il vous permet d'inclure des projections autres que les valeurs par défaut pour vos types d'entités. Les valeurs par défaut comprennent le système de coordonnées de la couche ou de la classe d'entités et le système WGS 84 (EPSG 4326). Pour plus d'informations, reportez-vous à la rubrique Utilisation des fichiers de fonctionnalités externes avec les services WMS.
Sécurisation des services WMS
La sécurité d'un service WMS ArcGIS Server est gérée par le contrôle de la sécurité du service de carte ou d'imagerie parent. Si un rôle particulier (planificateurs, par exemple) n'a pas accès à une carte, les planificateurs ne sont pas en mesure d'accéder à la carte, qu'ils utilisent une interface SOAP, REST (representational state transfer) ou OGC (WMS, par exemple). ArcGIS Server prend en charge divers schémas d'authentification, notamment l'authentification HTTP (de base et Digest), et l'authentification à base de jetons gérée par ArcGIS Server.
Authentification HTTP
Les services auxquels l'accès est possible via des interfaces WMS doivent être sécurisés à l'aide de HTTP de base ou HTTP Digest. La plupart des clients WMS (clients Esri et autres qu'Esri) comprennent et utilisent ces schémas d'authentification standard répandus.
Authentification à base de jetons gérée par ArcGIS Server
Bien que ce ne soit pas recommandé, un service WMS peut être sécurisé à l'aide d'une authentification à base de jetons gérée par ArcGIS Server, en appliquant ce type d'authentification à son service de carte ou d'imagerie parent. Pour envoyer des requêtes brutes aux services WMS protégés par un jeton, vous pouvez obtenir un jeton valide auprès du service de jetons et ajouter la chaîne de jetons en tant que paramètre supplémentaire aux requêtes que vous envoyez. En d'autres termes, les requêtes envoyées à un service WMS sécurisé par jetons doivent avoir le format suivant :
http://<WMS_service_url>?<paramètres WMS standard>&token=<valid_tokenString>
La plupart des clients WMS bureautiques tiers ne sont pas en mesure de se connecter aux services WMS sécurisés de cette façon. Cette technique peut toutefois être utilisée avec les clients WMS créés à l'aide d'ArcGIS API for JavaScript.
Utilisation des services de l'WMS
Pour établir une connexion à un service WMS, vous devez connaître son URL. L'URL des services WMS publiés sur ArcGIS Server a le format suivant :
http://gisserver.domain.com:6080/arcgis/services/folder/service/service type(can be MapServer or ImageServer)/WMSServer?
N'oubliez pas que la fonctionnalité WMS est disponible pour les services de carte et d'imagerie. Ce type de service présente par conséquent deux options.
Par exemple, si le service de carte Tokyo est stocké dans un dossier intitulé Japan qui s'exécute sur la machine gisserver avec le numéro de port 6080, l'URL du service WMS doit avoir l'aspect suivant :
http://gisserver:6080/arcgis/services/Japan/Tokyo/MapServer/WMSServer?
Pour un service d'imagerie IdahoImages qui s'exécute sur myServer avec le numéro de port 6080, l'URL du service WMS aura l'aspect suivant :
http://gisserver:6080/arcgis/services/IdahoImages/ImageServer/WMSServer?
Clients WMS courants
Un navigateur Web est le client le plus simple d'un service WMS. Les demandes WMS peuvent être émises via HTTP ; les réponses ou exceptions sont renvoyées par l'intermédiaire du navigateur. Les services WMS prennent en charge diverses opérations : GetCapabilities, GetMap, GetFeatureInfo, GetStyles et GetLegendGraphic. Un client peut utiliser ces opérations par l'intermédiaire des paramètres URL afin d'obtenir des métadonnées, des cartes, des informations sur les entités, des symbologies et des symboles de légende auprès du service WMS. Ces opérations et paramètres sont décrits en détail dans la spécification WMS de l'OGC.
Affichage des informations de légende pour un service WMS
Les services WMS peuvent être configurés de façon à renvoyer des informations sur la symbologie des couches dans le service. Les clients peuvent utiliser ces informations pour créer une légende. Par défaut, les services WMS que vous publiez sur ArcGIS Server peuvent renvoyer des légendes. Vous pouvez désactiver cette fonctionnalité dans la propriété Utiliser les noms de couche du document ArcMap. Pour plus d'informations, reportez-vous à la rubrique Propriétés du service WMS disponible.
Astuce:
Vous pouvez afficher une légende pour les couches WMS dans ArcMap en cliquant avec le bouton droit sur la couche dans la table des matières et en sélectionnant Ajouter la légende WMS à la carte.
Vous avez un commentaire à formuler concernant cette rubrique ?