BASE DE CONNAISSANCES

Création d'une connexion de carte personnalisée


Date de publication : 14 Apr 2017
Date de dernière modification : 19 Oct 2023

Question

Comment vous connecter à des cartes personnalisées à l'aide de Tableau Desktop. 

Environnement

Tableau Desktop

Réponse

La manière la plus simple d'utiliser vos propres cartes dans Tableau consiste à vous connecter à un serveur WMS ou à une carte MapBox. Pour plus d'informations, consultez Utiliser les serveurs WMS (Web Map Service) et Utiliser les cartes Mapbox.

Si votre serveur de cartes ne prend pas en charge la norme WMS et n'est pas une carte Mapbox, vous pourrez sans doute toujours vous connecter à votre serveur de cartes en créant une connexion depuis le service de cartographie de Tableau (TMS). Pour vous connecter à TMS, créez un fichier .tms.

Remarque : si un fichier .tms peut être utile pour la connexion à votre serveur de cartes, Tableau ne teste pas les fichiers .tms et ne les prend pas en charge. La réussite n'est pas systématique.

Conditions requises pour une connexion TMS

Pour que vous puissiez vous connecter à votre serveur de cartes à l'aide d'un fichier .tms, il faut que votre serveur de cartes présente les fonctions suivantes :

  • Les cartes sont renvoyées sous la forme d'une collection de mosaïques
  • Les mosaïques se trouvent dans la projection Web Mercator
  • Les mosaïques peuvent être traitées par URL en utilisant le même schéma de numérotation que les services de cartographie Web courants. Pour plus d'informations, consultez la section <url-format> sous Variables dans le fichier TMS.

Créer un fichier TMS simple

 Un fichier .tms est un simple fichier texte que vous pouvez créer dans un éditeur de texte.

  1. Ouvrez un éditeur de texte.

  2. Copiez et collez le code XML suivant dans l'éditeur de texte.

    <?xml version="1.0" encoding="utf-8"?>
    <mapsource inline="<boolean>" version="8.1">
    <connection class="OpenStreetMap" port="80" server="<server-url>" url-format="<url-format>" />
    <layers>
    <layer display-name='Base' name='base' show-ui='false' type='features' request-string='/' />
    </layers>
    </mapsource>

  3. Remplacez les variables <boolean><server-url> et <url-format> comme décrit dans la section Variables requises dans le fichier TMS de cet article.

  4. Enregistrez le fichier TMS avec une extension .tms dans le dossier Mapsources de Tableau Desktop ou Tableau Server.

    Emplacement par défaut du dossier Mapsources :

    • Pour Tableau Desktop sur Mac - /Users/<user>/Documents/My Tableau Repository/Mapsources

    • Pour Tableau Desktop sur Windows - C:\Users\<user>\Documents\My Tableau Repository\Mapsources

    • Pour Tableau Server - C:\Program Files\Tableau\Tableau Server\<version>\vizqlserver\mapsources

  5. Ouvrez Tableau Desktop.

  6. Connectez-vous à un classeur contenant les informations d'emplacement.

  7. Sélectionnez Carte > Cartes d'arrière-plan, puis sélectionnez la carte d'arrière-plan sur le serveur de cartes que vous avez configuré dans le fichier TMS.

  8. (Facultatif) Si vous avez ajouté le fichier TMS au dossier Mapsources de Tableau Server, publiez le classeur dans Tableau Server et consultez la carte d'arrière-plan que vous avez configurée dans le fichier TMS.

Variables requises dans le fichier TMS

Seules variables suivantes peuvent être modifiées dans le code XML :

  • <boolean>: Remplacez <boolean> par une valeur true ou false.
    • Une valeur true permet à Tableau Desktop d'enregistrer la configuration spécifiée dans le fichier TMS avec le classeur. Utilisez cette valeur si votre classeur est publié sur Tableau Cloud ou Tableau Public.
    • Une valeur false exige que Tableau Desktop ou Tableau Server ait accès au fichier TMS enregistré dans le dossier Mapsources pour afficher les cartes depuis votre serveur de cartes.
  • <server-url>: Remplacez <server-url> par l'URL de votre serveur de cartes.
  • <url-format>: Remplacez <url-format> par les fragments d'URL supplémentaires requis par votre serveur de cartes. Les balises suivantes peuvent être incluses :
    • {Z}: La balise {Z} indique le niveau de zoom. Le niveau de zoom 0 affiche le monde entier dans une mosaïque de carte. Le TMS recherche les mosaïques de carte jusqu'au niveau 16.
    • {X} et {Y} : Les balises {X} et {Y} indiquent les coordonnées du titre de la carte. Pour plus d'informations sur les mosaïques de cartes, consultez les pages Web suivantes :

Exemple de XML

Supposons que vous vouliez vous connecter à un exemple de serveur de cartes fourni par OpenStreetMaps. Le fichier TMS peut ressembler à ce qui suit :

<?xml version="1.0" encoding="utf-8"?>
<mapsource inline="true" version="8.1">
<connection class="OpenStreetMap" port="80" server="http://a.tile.openstreetmap.org" url-format="/{Z}/{X}/{Y}.png" />
<layers>
<layer display-name='Base' name='base' show-ui='false' type='features' request-string='/' />
</layers>
</mapsource>

Paramètres TMS avancés

Vous pouvez utiliser le format de fichier TMS avancé pour la gestion spéciales des clés API et pour le contrôle de l'extension, de la réduction et de l'estompage des mosaïques de carte.

Remarque : Dans le dossier Mapsources, vous trouverez les fichiers TMS qui accompagnent Tableau Desktop et Tableau Server. Les paramètres configurés dans ces fichiers ne sont pas pris en charge pour les connexions à d'autres serveurs de cartes.

Clé API

Si votre serveur de cartes attend la clé API dans l'URL du serveur, vous pouvez utiliser la balise {K} dans la section <url-format> de l'élément de connexion.

Vous pouvez également séparer la clé API de votre chaîne <url-format> en utilisant la balise {K} dans votre chaîne et en plaçant la clé API dans l'attribut de nom d'utilisateur.

L'exemple suivant montre comment utiliser la balise {K} avec la clé API dans l'attribut de nom d'utilisateur.

<?xml version="1.0" encoding="utf-8"?> 
<mapsource inline="true" version="8.1"> 
<connection class="OpenStreetMap" port="80" server="http://a.tile.mapbox.com" url-format="/v4/base.mapbox-streets+bg-e8e0d8_landuse_water_buildings_streets/{Z}/{X}/{Y}.png?access_token={K}" username="<your-api-key>"/> 
<layers> 
<layer display-name='Base' name='base' show-ui='false' type='features' request-string='/' /> 
</layers> 
</mapsource>

Extension maximale et réduction minimale

Par défaut, Tableau étend les mosaïques de carte qu'il reçoit du serveur de cartes pour les faire correspondre à vos données. Si vous avez besoin de davantage de contrôle sur le mode d'affichage de vos mosaïques de carte, vous pouvez définir les attributs d'étirement maximum, max-stretch et d'étirement minimum, min-shrink, dans l'élément de connexion.

Si vous définissez l'extension maximale et la réduction minimale sur 1, Tableau n'étend ni ne réduit les mosaïques de carte. À la place, Tableau ancre le zoom de la carte sur les mosaïques. Vous pouvez également définir les attributs d'extension maximale et de réduction minimale sur des valeurs proches de 1 pour permettre une certaine extension ou une certaine réduction, ainsi qu'un ancrage, selon le zoom.

L'exemple suivant montre comment utiliser les attributs max-stretch et min-shrink.

<?xml version="1.0" encoding="utf-8"?> 
<mapsource inline="true" version="8.1"> 
<connection class="OpenStreetMap" port="80" server="http://a.tile.openstreetmap.org" url-format="/{Z}/{X}/{Y}.png" max-stretch="1.2" min-shrink="0.667"/> 
<layers> 
<layer display-name='Base' name='base' show-ui='false' type='features' request-string='/' /> 
</layers> 
</mapsource>

Estompage

Par défaut Tableau estompe légèrement les mosaïques de carte qu'il reçoit du serveur de cartes pour faire ressortir les données. Pour contrôler le niveau d'estompage des mosaïques de carte, ajoutez la section suivante de XML directement avant la balise de fermeture de l'élément racine, </mapsource> . Vous pouvez changer la valeur d'estompage en un nombre compris entre 0.0 et 1.0.

Le code XML suivant est un exemple de ce que vous pouvez placer avant la balise de fermeture de l'élément racine, </mapsource>.

<mapsource-defaults version="8.1"> 
<style> 
<style-rule element="map"> 
<format attr="washout" value="0.0"/> 
</style-rule> 
</style> 
</mapsource-defaults>

Cet article vous a-t-il permis de résoudre le problème ?