Veremap.pro : Client et Serveur WMS
Transcription
Veremap.pro : Client et Serveur WMS
Veremap.pro Client et Serveur WMS Veremap.pro – Client et Serveur WMS VEREMES – version 1.4 Page : 1/8 Table des matières 1. Préambule.....................................................................................................................3 2. Client WMS...................................................................................................................3 2.1 Le fichier de propriétés d’un serveur WMS........................................................................3 Récupérer le fichier de propriétés................................................................................................................3 Consultation du fichier de propriétés...........................................................................................................3 2.2 Création d’une couche cliente WMS dans Veremap.admin...............................................5 Mise en place...............................................................................................................................................5 Exploitation.................................................................................................................................................5 3. Serveur WMS................................................................................................................6 3.1 Paramétrage du serveur Web...............................................................................................6 Copie du CGI MapServer............................................................................................................................6 Modification du fichier de configuration.....................................................................................................6 3.2 Création d’une carte spécifique dans Veremap.admin.......................................................6 Vérification de la définition des couches....................................................................................................6 Création d’un objet Web spécifique............................................................................................................7 Mise en place...............................................................................................................................................7 Exploitation.................................................................................................................................................8 Veremap.pro – Client et Serveur WMS VEREMES – version 1.4 Page : 2/8 1. Préambule Si le serveur cartographique MapServer est compilé de manière à disposer des capacités WMS, il peut être à la fois utilisé en tant que client et serveur WMS. Ce document présente à l’administrateur de Veremap.pro la méthodologie à suivre pour utiliser ses deux fonctionnalités à travers l’interface d’administration Veremap.admin. 2. Client WMS Cette première partie à pour vocation de permettre à l’administrateur de mettre en place, depuis Veremap.admin, des couches de données « WMS ». Ce processus revient à utiliser l’application Veremap.pro comme client d’un serveur WMS existant. 2.1 Le fichier de propriétés d’un serveur WMS Un serveur WMS peut être interrogé à condition d’en connaître le « contenu ». Pour ce faire, il est nécessaire de récupérer le fichier de propriétés du serveur. Ce fichier est codé en XML, il permet notamment de connaître le nom des couches de données accessibles et leur système de coordonnées. Récupérer le fichier de propriétés La récupération du fichier de propriétés d’un serveur WMS se fait via un navigateur Web, en tapant une requête du type : http://[NOM_SERVEUR]/[NOM_EXECUTABLE]?SERVICE=WMS&REQUEST=GetCapabilities Où [NOM_SERVEUR] représente le nom d’hôte de la machine qui héberge le serveur WMS, et [NOM_EXECUTABLE] représente le nom du processus à appeler pour accéder au serveur WMS (par exemple un CGI…). Exemple : http://www.geosignal.org/cgi-bin/wmsmap?SERVICE=WMS&REQUEST=GetCapabilities Une fois la requête exécutée, le serveur doit renvoyer au navigateur un fichier XML. C’est ce fichier qui contient les informations nécessaires à l’exploitation du serveur WMS. Consultation du fichier de propriétés Aperçu du contenu d’un fichier de propriétés d’un serveur WMS : … <WMT_MS_Capabilities version="1.1.1"> <!-- MapServer version 4.6.0 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=PDF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=THREADS INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE --> <Service> <Name>OGC:WMS</Name> Veremap.pro – Client et Serveur WMS VEREMES – version 1.4 Page : 3/8 <Title>Serveur Geosignal</Title> <Abstract>Ce serveur met à disposition les données créées par Géosignal depuis 13 ans.</Abstract> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.geosignal.org/cgi-bin/wmsmap?"/> <ContactInformation> <ContactAddress> <AddressType>Adresse postale</AddressType> <Address>52 Av. Marcel Dassault</Address> <City>TOULOUSE</City> <StateOrProvince></StateOrProvince> <PostCode>31500</PostCode> <Country>FRANCE</Country> </ContactAddress> <ContactElectronicMailAddress>[email protected]</ContactElectronicMailAddress> </ContactInformation> <Fees>tous doits réservés - 2005</Fees> </Service> … <GetMap> <Format>image/png</Format> <Format>image/gif</Format> <Format>image/png; mode=24bit</Format> <Format>image/jpeg</Format> <Format>image/wbmp</Format> <Format>image/tiff</Format> <DCPType> <HTTP> <Get><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.geosignal.org/cgi-bin/wmsmap?"/></Get> <Post><OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.geosignal.org/cgi-bin/wmsmap?"/></Post> </HTTP> </DCPType> </GetMap> … <Layer queryable="0" opaque="0" cascaded="0"> <Name>RASTER1000k</Name> <Title>Raster France 1/1 000 000</Title> <SRS>EPSG:27582</SRS> </Layer> <Layer queryable="0" opaque="0" cascaded="0"> <Name>RASTER500k</Name> <Title>Raster France 1/500 000</Title> <SRS>EPSG:27582</SRS> </Layer> <Layer queryable="0" opaque="0" cascaded="0"> <Name>RASTER250k</Name> <Title>Raster France 1/250 000</Title> <SRS>EPSG:27582</SRS> </Layer> … Le contenu ci-dessus est exploité dans Veremap.admin : - La balise <WMT_MS_Capabilities> : o Version : représente la version du serveur WMS La balise <OnlineResource> : o xlink:href : représente le chemin vers l’exécutable du serveur WMS La balise <GetMap> : o <Format> : représente la liste des formats images disponibles sur le serveur WMS Veremap.pro – Client et Serveur WMS VEREMES – version 1.4 Page : 4/8 - Les balises <Layer> : o <Name> : représente le nom de la couche de données o <SRS> : représente le système de coordonnées de la couche de données 2.2 Création d’une couche cliente WMS dans Veremap.admin Mise en place Créer une nouvelle couche : Menu « Couches / Consulter », cliquer sur le lien « Ajouter ». Le type de géométrie de cette couche doit être « RASTER ». Exemple de définition pour une couche cliente WMS dans Veremap.admin : LAYER END NAME "[LAYER_NAME]" TYPE [LAYER_TYPE] STATUS DEFAULT CONNECTIONTYPE WMS CONNECTION "http://www.geosignal.org/cgi-bin/wmsmap" METADATA "wms_srs" "EPSG:27582" "wms_name" "RASTER1000k" "wms_server_version" "1.1.1" "wms_format" "image/png" END [COORDSYS] MINSCALE 750000 Le type de connexion « CONNECTIONTYPE » vaut toujours WMS, par ailleurs cette définition de couche MapServer fait référence aux valeurs des balises du fichier de propriétés du serveur WMS : - CONNECTION : vaut le contenu de la balise <OnlineResource xlink:href> METADATA o « wms_srs » : vaut le contenu d’une des balises <Layer><SRS> o « wms_name » : vaut le contenu d’une des balises <Layer><Name> o « wms_server_version » : vaut le contenu de la balise <WMT_MS_Capabilities version> o « wms_format » : vaut le contenu d’une des balises <GetMap><Format> Exploitation Avant d’ajouter cette couche à une carte existante dans Veremap.admin, il est conseillé de la tester : cliquer sur le bouton « Tester ». Cette nouvelle couche peut être ajoutée à la liste des couches de n’importe quelle carte. Résultat du test de visualisation de la couche créée ci-dessus : Veremap.pro – Client et Serveur WMS VEREMES – version 1.4 Page : 5/8 3. Serveur WMS Veremap.admin peut également être utilisé pour permettre à l’administrateur de mettre en place un service WMS sur son propre serveur. De cette manière, le serveur hébergeant Veremap.pro devient également un serveur WMS. 3.1 Paramétrage du serveur Web Le paramétrage du serveur Web constitue une première étape indispensable. Ce paramétrage permet de simplifier l’accès au serveur WMS pour les clients. Dans ce document, le serveur Web utilisé est Apache, version 2.XX. Copie du CGI MapServer Avant de modifier le fichier de configuration du serveur Web, il est nécessaire de copier le CGI MapServer utilisé par Veremap.pro, et de le renommer en « wmsmap » Par exemple, dans un environnement Linux RedHat (configuration par défaut) : cp /var/www/cgi-bin/mapserv /var/www/cgi-bin/wmsmap Modification du fichier de configuration Après avoir localisé le fichier de configuration du serveur Web, l’éditer et ajouter la ligne suivante sur une seule et même ligne : SetEnvIf Request_URI "/cgi-bin/wmsmap" MS_MAPFILE=[VM_PRO_CHEMIN]/map/wms/wmsmap.map Où [VM_PRO_CHEMIN] représente le chemin complet vers le répertoire de l’application Veremap.pro. Cette manipulation ne prend effet qu’après redémarrage du serveur Web. Elle permet d’automatiquement rediriger les clients du serveur WMS vers un fichier MAPFILE spécifiquement utilisé pour cette fonctionnalité (voir 3.2). 3.2 Création d’une carte spécifique dans Veremap.admin Avant de créer une carte spécifiquement utilisée par le serveur WMS, il est nécessaire de s’assurer que la définition de chacune des couches qui sera utilisé par le serveur contienne les informations appropriées. Par ailleurs, un objet Web spécifique doit être créé. Vérification de la définition des couches Exemple de définition pour une couche utilisée par le serveur WMS dans Veremap.admin : LAYER NAME "[LAYER_NAME]" TYPE [LAYER_TYPE] STATUS ON [COORDSYS] METADATA Veremap.pro – Client et Serveur WMS VEREMES – version 1.4 Page : 6/8 "wms_title" "[LAYER_NAME]" "wms_srs" "EPSG:27583" END DATA "[DATADIR]dde83/raster/SCAN100ECW/scan100_dep83_l3.ecw" END La définition de cette couche contient une balise METADATA indispensable. Cette balise permet de spécifier au serveur WMS le nom de la couche de données, ainsi que son système de coordonnées (par le biais des atrtibuts « wms_title » et « wms_srs »). Création d’un objet Web spécifique Créer un nouvel objet Web : Menu « Cartes / Objets Web », cliquer sur le lien « Ajouter ». Contenu de l’objet Web utilisé par le serveur WMS : WEB METADATA "wms_title" "ServeurWMS" "wms_onlineresource" "[URL_SERVICE_WMS]" "wms_srs" "[LISTE_PROJ]" END END Où [URL_SERVICE_WMS] représente l’URL vers le CGI nommé « wmsmap » (voir 3.1). Par exemple, pour un serveur www.veremes.com : http://www.veremes.com/cgi-bin/wmsmap Où [LISTE_PROJ] représente la liste des systèmes de coordonnées supportés par le serveur WMS. Attention, il est indispensable que cette liste contienne la référence de chacun des systèmes de coordonnées des couches utilisée par le serveur WMS. Par exemple, pour un serveur WMS supportant les systèmes de coordonnées Lambert Sud et Lambert 2 Etendu : EPSG:27563 EPSG:27572 Mise en place Créer une nouvelle carte : Menu « Cartes / Consulter », cliquer sur le lien « Ajouter ». Exemple de définition pour une carte utilisé par le serveur WMS dans Veremap.admin : MAP NAME "Serveur WMS" STATUS ON SIZE 500 500 EXTENT 865000 1780000 977000 1880000 SYMBOLSET "../symbols/symbols.sym" FONTSET "../fonts/fonts.list" [WEB] [COORDSYS] [LAYERS] END Par rapport à une carte « normale », seules les balises [WEB], [COORDSYS] et [LAYERS] sont indispensables. Il est donc nécessaire de spécifier dans le formulaire de création de la carte : - Un système de coordonnées Un objet Web Veremap.pro – Client et Serveur WMS VEREMES – version 1.4 Page : 7/8 Une fois la nouvelle carte créée, ajouter les couches : Menu « Carte / Couches des cartes », sélectionner la nouvelle carte. Exploitation Une carte pouvant être utilisée par le serveur WMS existe, il faut l’activer depuis l’interface Veremap.admin : Menu « Cartes / Service WMS », sélectionner la nouvelle carte dans la liste. Un message de confirmation apparaît. Pour visualiser le contenu du fichier de propriétés du serveur WMS, depuis un navigateur Web : http://[URL_SERVICE_WMS]?SERVICE=WMS&REQUEST=GetCapabilities Où [URL_SERVICE_WMS] représente l’URL vers le CGI nommé « wmsmap » (voir 3.1). N.B : si le navigateur ne propose pas le téléchargement ou la visualisation du fichier de propriétés nommé « wmsmap », il est nécessaire de vérifier la configuration du serveur WMS. Pour visualiser le contenu d’une couche de données disponible sur le serveur WMS (une des couches associée à la carte dans Veremap.admin), depuis un navigateur Web : http://[URL_SERVICE_WMS]? SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=[NOM_COUCHE] Où [NOM_COUCHE] représente le nom de la couche de données à visualiser. N.B : si la navigateur propose le téléchargement ou la visualisation du fichier de propriétés nommé « wmsmap », il est nécessaire de vérifier que l’étape 3.2 du présent document ait bien été respectée. Veremap.pro – Client et Serveur WMS VEREMES – version 1.4 Page : 8/8