Cet article a été rédigé grâce aux éléments et idées fournis par Maxime Suing, un des chefs de projet d’Autodesk Consulting. A nouveau, un grand merci à lui !
Au moment de la rédaction de ce billet, les versions disponibles sont MapGuide Open Source 2.01 et Autodesk MapGuide Enterprise 2009. Ce sont donc celles utilisées ci dessous.
Dans un précédent article, j’expliquais comment publier des données WGS 84 dans un service WMS avec MapGuide.
Evidemment, il est aussi possible de diffuser des données dans d’autres systèmes de projections. C’est ce qui est expliqué dans cet article.
MapGuide est un client et un serveur certifié WMS.
En tant que serveur WMS, il permet de mettre à disposition des lots de données via un service web.
Pour cela, il y plusieurs étapes :
– paramétrage de la section WMS de MapGuide (à faire une seule fois sur le serveur).
– paramétrage des systèmes de projection utilisés pour une diffusion WMS dans MapGuide.
– paramétrage de la diffusion (à faire pour chaque source de données.
Paramétrage de la section WMS de MapGuide
1. Connectez-vous à MapGuide Site Administrator (disponible par exemple à l’URL http://localhost:8008/mapguide2009/mapadmin/login.php, avec le login par défaut “Administrator”, et le mot de passe par défaut “admin”).
Puis, cliquez sur “Configure WMS” :
2. Paramétrez les champs Server Name et Script Name de la partie “General Properties” :
Les valeurs à saisir :
– pour Server name : nom_du_serveur : port
– pour Script name : /mapguide2009/mapagent/mapagent.fcgi
Attention : vous devez redémarrer le serveur Web et le serveur applicatif MapGuide (service sous Windows, daemon sous Linux) pour que cette modification soit prise en compte.
Paramétrage des systèmes de projection utilisés pour une diffusion WMS
Pour diffuser avec d’autres systèmes de projections que du WGS84, il faut ajouter la définition du (ou des) système(s) utilisé(s) à un fichier de configuration de MapGuide. Et il faut d’abord trouver la chaîne WKT qui représente ce système de projection. Pour cela :
1. Connectez vous à MapAgent, à l’URL : http://localhost:8008/mapguide2009/mapagent/
(remplacez localhost:8008 par le nom et le port de votre serveur)
2. Dans le cadre en haut à gauche, dans la partie “Miscellaneous API”, cliquez sur Coordinate System :
3. Dans le cadre en bas à gauche, cliquez sur “ConvertEpsgCodeToWkt” :
4. Dans le cadre à droite, saisissez le code EPSG du système de projection que vous souhaitez utiliser pour diffuser vos données. Par exemple :
– 27572 pour du Lambert 2 Etendu
– 4171 pour du Lambert 93
Vous obtenez alors le code WKT (Well Known Text) pour votre système de projection :
5. Avec un éditeur de texte, ouvrez le fichier OgcWmsService.config.awd du répertoire Server\WMS de Mapguide :
Insérer la chaîne de caractère du WKT dans la section <Define item="SRS.WKT.map">, en respectant la syntaxe définie.
Ainsi, pour le Lambert 93, insérez la chaine suivante :
<translate from"EPSG:4171">GEOGCS["LL-RGF93",DATUM["RGF93",SPHEROID["GRS1980",6378137.000,298.25722210]],PRIMEM["Greenwich",0],UNIT["Degree",0.01745329251994]]</translate>
Votre fichier doit donc ressembler à ceci :
Attention : vous devez redémarrer le serveur Web et le serveur applicatif MapGuide (service sous Windows, daemon sous Linux) pour que cette modification soit prise en compte.
Paramétrage de la diffusion WMS, dans MapGuide Studio
1. Dans Autodesk MapGuide Studio, sélectionner la ressource de type Calque (LayerDefinition) que vous souhaitez diffuser, faites un clic droit sur cette ressource et sélectionnez “Propriétés” :
2. Dans le dernier onglet (propriété du service), cochez la case de publication via WMS, et saisissez le titre, le résumé et les mots clés :
3. Remplissez la cellule Bounds avec l’emprise de votre jeu de données, dans son système de projection, ainsi que le ou les systèmes de projection dans lesquels votre source de données peut être diffusée, puis cliquez sur Appliquer :
Les valeurs ci dessus sont :
<Bounds SRS="EPSG:4171" north="6862000" west="640000" south="6852000" east="650000" abstract="true" />
et
EPSG:4171
Votre couche est maintenant disponible depuis les clients WMS, dont AutoCAD Map 3D. Et vous pouvez ainsi choisir le système de coordonnées des données WMS :
Et votre carte s’affiche dans AutoCAD Map 3D :
Quelques remarques :
– On peut ainsi ajouter définir plusieurs systèmes de projections pour chaque couche.
– Si vous souhaitez connaître l’emprise de vos données, dans MapGuide, créez une ressource carte vide, et ajouter votre ressource de type Calque (LayerDefinition) La ressource de type Carte prendra automatiquement le rectangle d’encombrement de votre source de données.
Si vous mettez en place un service WMS avec MapGuide, dites le moi 🙂