Diffusion de données au format MapInfo avec MapGuide

5 min de lecture

FDO est la couche logicielle utilisée par AutoCAD Map 3D pour accéder aux données géospatiales.    
OGR est une bibliothèque de traduction géospatiale multi-plateformes open source. OGR est notamment utilisé dans MapServer pour accéder nativement à différents formats de données géospatiales.

Dans le cadre de la fondation OSGeo, un fournisseur open source FDO pour OGR a été développé. Grâce à ce fournisseur, tous les logiciels supportant FDO accèdent en lecture aux données aux formats MapInfo (tab et mif/mid).  C’est notamment le cas d’AutoCAD Map 3D 2008, de MapGuide Open Source et d’Autodesk MapGuide Enterprise. A ce jour, ce fournisseur n’est pas supporté par Autodesk; il n’est pas livré en standard avec les produits Autodesk.

J’ai parlé récemment d’accès natif aux données au format MapInfo depuis AutoCAD Map 3D 2009., en utilisant le fournisseur Open Source FDO pour OGR.   
   
Comme MapGuide et Map 3D utilisent la même technologie FDO d’accès aux données, ce qui vaut pour AutoCAD Map 3D, vaut aussi pour MapGuide.   
   
Ce billet couvrira l’installation et l’utilisation de ce fournisseur FDO pour OGR dans MapGuide, afin de diffuser des données au format MapInfo (.tab).

1. Quelle version du fournisseur ?      
Sur le site de l’OSGeo, différentes versions du fournisseur OGR sont disponibles en téléchargement.    
Pour savoir quelle version correspondant à votre logiciel, consultez l’URL : http://fdo.osgeo.org/content/products-using-fdo 
On y voit notamment qu’Autodesk MapGuide Enterprise 2009 utilise FDO FDO 3.3.1(comme AutoCAD Map 3D 2009).

FDO AMGE MGOS

Dommage qu’au moment de la rédaction de cet article, la page ne mentionne pas MapGuide Open Source 2.0.1. Vous auriez alors pu constater que cette version de MapGuide Open Source utilise la même version 3.3.1 ?

2. Télécharger le fournisseur      
Les fournisseurs FDO sont téléchargeable sur http://fdo.osgeo.org/content/downloads    
   
Pour Autodesk MapGuide Enterprise 2009 ou MapGuide Open Source 2.0.1, cliquez sur 3.3.1.

Le code source de FDO est disponible sur la page web.   
Ce qui nous intéresse ici, ce sont les binaires du fournisseur OGR. Ils sont disponibles dans le SDK Windows.    
Cependant, une version plus récente est disponible en bas de cette page web, dans la partie Patches.    
Téléchargez fdoogr-win32-3.3.1_S035.tar.gz sur cette page.    
   
FournisseurOGR_thumb1 

Ce fichier gz peut être décompressé avec Winzip, ou 7Zip.    
Vous y trouverez un seul fichier : OGRProvider.dll

3. Installer le fournisseur pour MapGuide    
Copier le fichier OGRProvider.dll dans le répertoire FDO\Bin du répertoire d’installation de MapGuide (par défaut, pour Autodesk MapGuide Enterprise, C:\Program Files\Autodesk\MapGuideEnterprise2009\Server\Bin\Fdo)    
Dans ce même répertoire se trouve le fichier providers.xml qui liste les fournisseurs disponible.    
Faire une copie de ce fichier, puis éditer l’original pour y ajouter le texte AVANT le dernier TAG de fermeture :

<FeatureProvider>   
   <Name>OSGeo.OGR.3.3</Name>    
   <DisplayName>Fournisseur OSGeo FDO pour OGR </DisplayName>    
   <Description>Accès en lecture via OGR (supporte Tab MapInfo et Personal GeoDB Esri)</Description>   
   <IsManaged>False</IsManaged>    
   <Version>3.3.0.0</Version>    
   <FeatureDataObjectsVersion>3.3.0.0</FeatureDataObjectsVersion>    
   <LibraryPath>OGRProvider.dll</LibraryPath>    
</FeatureProvider>

Une fois ce texte inséré, vérifiez que votre fichier ressemble à celui ci (cliquez sur l’image) :   
providers_thumb2

Attention : vous devez redémarrer le serveur applicatif MapGuide (service sous Windows, daemon sous Linux) pour que cette modification soit prise en compte.      

4. Lancez Autodesk MapGuide Studio    
Nous allons maintenant configurer une connexion vers un répertoire contenant des fichiers au format MapInfo. Nous utiliserons Autodesk MapGuide Studio, et sachez que MapGuide Maestro permet lui aussi de paramétrer une telle source de données.   
   
5. Créez une nouvelle source de données    
Dans Autodesk MapGuide Studio 2009, cliquez sur “Fichier/Nouveau/Connexion aux données” : 
Nouvelle connection[5]   
Notez que le fournisseur OGR apparaît dans la liste des fournisseurs disponibles. Sélectionnez-le, puis cliquez sur OK :    
Nouvelle connection OGR

6. Paramétrez la source de données    
Dans la section “Connection properties”, pour la propriété “DataSource”, placez en tant que valeur le chemin d’un dossier du serveur MapGuide contenant des données au format MapInfo.   
Placez la propriété “ReadOnly” à la valeur “TRUE”.   
Config datasource    
   
Allez ensuite plus bas pour cliquer sur “Test Connection”. “Successful connection” doit s’afficher après votre clic si tout est correct :   
Test connection

Ensuite, si nécessaire, paramétrez la section “Set coordinate system overrides”, afin de préciser le ou les système(e) de projection non reconnu(s) :   
Override   

Et une fois modifié : 
Fait    
   
7. Sauvergardez votre source de données    
Dans cet exemple, je nomme cette source de données "MapInfo”

8. Créez une nouvelle ressource Calque (LayerDefinition)      
Dans Autodesk MapGuide Studio 2009, cliquez sur “Fichier/Nouveau/Calque” :   
Nouveau calque   

9. Paramétrez le nouveau calque    
Sélectionnez la DataSource que vous venez de créer en tant que source de données de votre nouveau calque.   
Pour la partie classe d’objets (Feature Class), sélectionnez le fichier MapInfo parmi ceux présents dans le répertoire de votre DataSource :    
image

 

10. Diffusez vos données !    
Il vous reste à faire des choses classiques dans MapGuide : 
– paramétrer le(s) style(s) de votre couche 
– créer une nouvelle ressource Carte (Map)   
– créer une nouvelle ressource Présentation Web (WebLayout)   
   
Et vos données MapInfo sont maintenant diffusées dans MapGuide :    

image

Remarque : il y a eu des remarques sur un manque de stabilité du fournisseur OGR pour FDO sur des données MapInfo. Si vous mettez en place cette diffusion, n’hésitez pas à laisser un commentaire pour confirmer (ou infirmer).

Abonnement e-mail