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