Skip To Content

Publier des couches de tuiles hébergées

Les couches de tuiles publiées et hébergées sur votre portail prennent en charge la visualisation rapide de jeux de données volumineux grâce à un ensemble d'images de carte prédessinées ou de tuiles. Les tuiles hébergées fournissent un contexte géographique pour vos couches opérationnelles. Par exemple, vous pouvez inclure des tuiles de rues de votre voisinage pour offrir une référence visuelle pour les panneaux de votre couche d'entités.

Vous pouvez publier une couche de tuiles à héberger sur votre portail à l'aide des méthodes suivantes :

Vous pouvez créer un cache sur vos tuiles automatiquement au moment de la publication ou le créer manuellement après la publication. Reportez-vous à la rubrique Pratiques conseillées pour les caches de tuiles pour plus d'informations.

Pour publier une couche de tuiles hébergée, vous devez être membre de l’un des groupes suivants sur votre portail :

Publier à partir d'une couche d'entités hébergée

Vous pouvez publier une couche de tuiles hébergée sur votre portail à l'aide d'une couche d'entités hébergée existante que vous possédez. Ce workflow est pratique pour visualiser des jeux de données volumineux, car les tuiles mises en cache s’affichent plus rapidement que les entités rendues dynamiquement.

Remarque :

  • Les modifications d'attributs spatiaux apportées à la couche d'entités hébergée ne sont pas automatiquement répercutées sur la couche de tuiles hébergée. Vous devez republier la couche de tuiles hébergée à partir de la couche d'entités hébergée mise à jour.
  • Il existe certaines restrictions en termes de style sur la couche d'entités hébergée qui peuvent vous empêcher de publier une couche de tuiles hébergée.
  • Vous ne pouvez pas publier une couche de tuiles hébergée à partir d'une couche d'entités hébergée multipatch ou de nuage de points.

Suivez ces étapes pour publier une couche de tuiles hébergée à partir d'une couche d'entités hébergée :

  1. Connectez-vous à votre portail et cliquez sur Contenu > Mon contenu.
  2. Pour publier, effectuez l'une des opérations suivantes :
    • Cliquez sur la couche d'entités hébergée que vous voulez publier et cliquez sur Publier.
    • Cliquez sur Créer > Couche de tuiles et sélectionnez une Couche d'entités pour publier sous forme de tuiles.
  3. Saisissez un titre, des balises et un résumé pour la couche de tuiles hébergée.
  4. Si l’administrateur de votre portail a configuré des catégories de contenu , cliquez sur Assign Category (Attribuer une catégorie) et sélectionnez jusqu’à 20 catégories pour permettre aux utilisateurs de trouver votre élément. Vous pouvez également utiliser la case Filter categories (Filtrer les catégories) pour affiner la liste des catégories.
  5. Choisissez le dossier où stocker la couche de tuiles hébergée.
  6. Vous pouvez également modifier l'étendue d'affichage de la couche en faisant glisser les extrémités de la plage visible.
    Attention :

    Le site web du portail vous présente une suggestion de plage d'échelle, que vous pouvez modifier. Sachez toutefois qu'en incluant de grandes échelles dans votre plage d'échelle, vous risquez d'augmenter considérablement la consommation de ressources sur le serveur d’hébergement de votre portail. Ne créez pas de tuiles qui dépassent la précision de vos données.

  7. Cliquez sur OK.

    La couche de tuiles hébergée est créée et sa page d’élément apparaît.

Définir et publier une carte dans ArcGIS Pro

A partir d'une carte dans ArcGIS Pro, vous pouvez publier une couche de tuiles à héberger sur votre portail.

Remarque :

Si des ensembles de définition sont appliqués aux couches dans ArcGIS Pro, ArcGIS les applique à la couche de tuiles hébergée. Cependant, toutes les données sont copiées sur le ArcGIS Enterprise portail. Si vous souhaitez publier un sous-ensemble de données, vous devez l'exporter vers une autre classe d'entités, que vous publierez ensuite.

Notez que les navigateurs web ne peuvent pas afficher certains des symboles cartographiques les plus complexes que vous pouvez avoir utilisés à l'origine pour créer la carte. La plupart des types de symbole sont disponibles, mais dans certains cas, les symboles peuvent être rétrogradés lorsque vous les publiez. Reportez-vous à la rubrique Créer des cartes pour publier des services d’entités dans l’aide de ArcGIS Server pour en savoir plus sur les symboles pris en charge et pour apporter les modifications requises à la symbologie de la carte avant la publication.

  1. Démarrez ArcGIS Pro et ouvrez le projet contenant la carte à publier.
  2. Vérifiez que la connexion à votre portail est active et connectez-vous à votre organisation via un compte détenant des privilèges autorisant la création de contenu et la publication de couches de tuiles hébergées.
  3. Pour publier une couche de tuiles, procédez de l'une des façons suivantes :
    • Sélectionnez les couches dans la fenêtre Contenu. Cliquez avec le bouton droit sur le jeu de sélection puis cliquez sur Partager en tant que couche Web.
    • Pour publier toutes les couches de la carte, cliquez sur Couche web dans le groupe Partager en tant que de l'onglet Partager et cliquez sur Publier la couche web.

    Astuce:

    Si l'option de menu Partager en tant que couche Web n'est pas activée, la raison peut être l'une des suivantes :

    • Le compte avec lequel vous êtes connecté ne possède pas les privilèges de publication des couches d'entités.
    • Votre portail n'est pas configuré avec un serveur d'hébergement, ce qui est requis pour héberger des couches Web.
    • Vous essayez de publier une couche multipatch, ce qui n'est pas pris en charge.

  4. Tapez le nom de la couche de tuiles. Par défaut, la couche est enregistrée dans Mon contenu. Vous pouvez l'enregistrer dans un sous-dossier de Mon contenu en saisissant le nom du dossier ou en accédant à un dossier existant.
  5. Sélectionnez Copier toutes les données.
  6. Sélectionnez Tuile dans le champ Type de couche.

    Vous désélectionnez ainsi automatiquement toutes les autres valeurs de l'option Type de couche, car une seule valeur peut être sélectionnée lors de la copie de données.

  7. Fournissez un résumé et des balises pour la couche de tuiles.
  8. Spécifiez qui doit avoir accès à la couche de tuiles hébergée. Toutes les couches que vous publiez sont automatiquement partagées sur votre espace de travail personnel dans votre organisation (Mon contenu). Votre contenu est inaccessible aux autres tant que vous ne le partagez pas à l'aide d'une des options suivantes :
    • Nom de votre portail : sélectionnez cette option pour partager la couche avec tous les utilisateurs authentifiés sur le portail.
    • Tout le monde : sélectionnez cette option pour que la couche soit accessible à toute personne ayant accès à votre portail.
    • Groupes : vous pouvez partager la couche avec les membres des groupes auxquels vous appartenez.
  9. Cliquez sur Configuration, puis sur le bouton Configurer les propriétés de la couche Web pour spécifier les paramètres du cache.
  10. Choisissez une Structure de tuilage.
  11. Redimensionnez et déplacez la barre Niveaux de détail pour indiquer l'échelle minimum et maximum de votre couche de tuiles.

    La taille estimée du cache obtenu change au fur et à mesure que vous modifiez l'échelle minimum et maximum.

  12. Choisissez où et quand créer le cache de tuiles.
    • Sélectionnez Mettre en cache automatiquement sur le serveur si vous souhaitez que les tuiles soient créées sur le serveur d'hébergement du portail lorsque vous publiez la couche.
    • Si vous voulez que le cache soit créé et stocké sur le serveur d'hébergement du portail, mais que vous voulez les créer vous-même après publication, sélectionnez Mettre en cache manuellement sur le serveur, ouvrez la couche de tuiles sur le site web du portail une fois la couche publiée pour créer le cache manuellement.
    • Sélectionnez Mettre en cache en local et précisez un emplacement sur l'ordinateur ArcGIS Pro pour stocker un paquetage de tuiles temporaire si vous souhaitez que le cache soit créé et empaqueté sur l'ordinateur ArcGIS Pro. Le paquetage de tuiles est chargé automatiquement sur le serveur d'hébergement du portail pour y être décompressé et le cache y est stocké.
  13. Pour permettre aux utilisateurs de télécharger des tuiles de carte à utiliser en mode hors connexion, activer la case à cocher Autoriser les clients à exporter les tuiles du cache.
  14. Si vous avez activé la case à cocher Autoriser les clients à exporter les tuiles du cache, utilisez le champ Limiter l'exportation à pour préciser un nombre maximal de tuiles que les clients peuvent utiliser en mode hors connexion en une seule fois.
  15. Cliquez sur l'onglet Contenu pour confirmer l'intégration dans la couche de tuiles des couches de données que vous souhaitez.
  16. Cliquez sur Analyser pour rechercher d'éventuels erreurs ou problèmes.

    Les problèmes éventuellement découverts sont répertoriés dans l’onglet Messages. Cliquez avec le bouton droit sur chaque message pour obtenir plus d'informations, lire l'aide relative à l'erreur ou l'avertissement et accéder aux solutions suggérées. Vous devez résoudre les erreurs avant de procéder à la publication. Vous pouvez également résoudre les avertissements afin d'améliorer davantage les performances et l'apparence de votre couche de tuiles hébergée.

  17. Une fois les erreurs et éventuellement les avertissements résolus, cliquez sur Publier.
    Remarque :
    Vos données sont copiées sur le serveur à ce stade. La taille des données, ainsi que la vitesse et la bande passante de votre réseau déterminent le temps nécessaire à la publication.

Une fois la publication terminée, vous pouvez cliquer sur Gérer la couche Web pour ouvrir le site web du portail.

Créez un paquetage de tuiles dans ArcGIS Pro et chargez-le dans votre organisation

Utilisez l'outil de géotraitement Créer un paquetage de tuiles de carte pour créer un paquetage de tuiles, l'ajouter à votre organisation et publier une couche de tuiles.

À partir de ArcGIS Pro 2.3, vous pouvez préciser la sortie de cet outil de géotraitement afin qu’il s'agisse d’un fichier .tpk ou d'un fichier .tpkx. Le nouveau format .tpkx utilise une structure de fichiers simplifiée, qui fournit de meilleures performances lors de l’exécution dans le cloud ou dans des emplacements de réseau partagés. Il s’agit d’un format de spécification ouverte. L'un ou l’autre des formats peut être utilisé dans ce workflow.

  1. Ouvrez le projet qui contient les données à empaqueter.
  2. Ouvrez et exécutez l'outil de géotraitement Créer un paquetage de tuiles de carte.
  3. Une fois votre paquetage de tuiles généré, connectez-vous à votre portail avec un compte doté des privilèges requis pour créer du contenu et publier des couches de tuiles hébergées, puis cliquez sur Contenu > Mon contenu.
  4. Ajouter le paquetage de tuiles A partir de mon ordinateur.
  5. Cochez la case Publier ce fichier en tant que couche hébergée.
  6. Spécifiez un titre.
  7. Si l’administrateur de votre portail a configuré des catégories de contenu , cliquez sur Assign Category (Attribuer une catégorie) et sélectionnez jusqu’à 20 catégories pour permettre aux utilisateurs de trouver votre élément. Vous pouvez également utiliser la case Filter categories (Filtrer les catégories) pour affiner la liste des catégories.
  8. Saisissez des termes de balise en les séparant par des virgules.

    Les balises sont des mots ou de brèves expressions qui décrivent votre élément et aident les utilisateurs à trouver votre élément. Terres fédérales correspond à une balise, alors que Terres, fédérales correspond à deux balises.

  9. Cliquez sur Ajouter un élément.

Les tuiles sont décompressées et une couche de tuiles hébergée est créée sur votre portail. Les tuiles de carte et le paquetage de tuiles doivent apparaître dans Mon contenu.

Publier de grands paquetages de tuiles

Pour créer et partager de grandes quantités de données, Esri recommande d'utiliser le jeu d'outils Cache de tuiles plutôt que d'utiliser le workflow précédent. Ces outils peuvent tirer parti de plusieurs cœurs de traitement pour améliorer les performances de génération et de publication des tuiles.

Dans ArcGIS Pro, exécutez ces outils dans l’ordre suivant :

  1. Exécutez Générer la structure de tuilage du cache de tuiles pour définir la grille de tuilage et le format d’image.
  2. Exécutez Gérer le cache de tuiles pour créer les tuiles.
  3. Exécutez Exporter le cache de tuiles pour créer le paquetage de tuiles.
  4. Exécutez Partager un paquetage (dans le jeu d’outils Paquetage) pour télécharger les tuiles vers votre portail.
  5. Une fois votre paquetage de tuiles généré, connectez-vous à votre portail via le compte utilisé pour créer le paquetage de tuiles dans ArcGIS Pro et cliquez sur Content > My Content (Mon contenu).
  6. Cliquez sur le paquetage de tuiles pour afficher sa page Détails des éléments.
  7. Cliquez sur Publier.
  8. Saisissez un titre et des balises.
  9. Si l’administrateur de votre portail a configuré des catégories de contenu , cliquez sur Assign Category (Attribuer une catégorie) et sélectionnez jusqu’à 20 catégories pour permettre aux utilisateurs de trouver votre élément. Vous pouvez également utiliser la case Filter categories (Filtrer les catégories) pour affiner la liste des catégories.
  10. Cliquez sur Publier.

Les tuiles sont décompressées et une couche de tuiles hébergée est créée sur votre portail. La couche doit figurer dans Mon contenu.

Définir et publier une carte dans ArcMap

Dans ArcMap, vous pouvez publier une couche de tuiles à héberger sur votre portail.

Remarque :

Si des ensembles de définition sont appliqués aux couches dans ArcMap, ArcGIS les applique à la couche de tuiles hébergée. Cependant, toutes les données sont copiées vers le portail ArcGIS Enterprise. Si vous souhaitez publier un sous-ensemble de données, vous devez l'exporter vers une autre classe d'entités, que vous publierez ensuite.

Vérifiez qu'ArcGIS Desktop est connecté à votre portail avant de démarrer ArcMap.

  1. Démarrez ArcMap et ouvrez la carte à publier.
  2. Connectez-vous à votre portail avec un compte détenteur des privilèges requis pour créer du contenu et publier des couches de tuiles hébergées.
    1. Cliquez sur Fichier > Se connecter.
    2. Saisissez le nom d'utilisateur et le mot de passe du portail, puis cliquez sur Se connecter.
  3. Publiez maintenant la carte.
  4. Cliquez sur Fichier > Partager en tant que > Service.
  5. Sélectionnez Publier un service et cliquez sur Suivant.
    Attention :

    Si vous choisissez de remplacer le service à la place, l'élément de tuile de carte existant est supprimé du portail et un nouvel élément de même nom est créé. Le nouvel élément est créé dans le dossier racine et un nouvel ID lui est attribué. Vous devez reconfigurer le partage et, le cas échéant, redéplacer l'élément dans le dossier dans lequel il se trouvait avant la republication.

  6. Dans la liste déroulante des types de connexion, sélectionnez Mes services hébergés. Saisissez ensuite un nom pour vos tuiles et cliquez sur Continuer.
  7. Définissez les propriétés voulues dans l'Editeur de services. Ici, vous pouvez choisir ce que les utilisateurs peuvent faire avec vos tuiles et contrôler précisément comment vos tuiles sont exposées aux utilisateurs finaux.

    Pour savoir comment configurer au mieux vos tuiles à des fins de déploiement, reportez-vous à la rubrique Optimisation et configuration des services dans l'aide d'ArcGIS Server. Certaines des propriétés mentionnées dans cette rubrique s'appliquent uniquement à ArcGIS Server et ne sont pas disponibles pour les couches de tuiles hébergées.

    Astuce:

    Si vous fermez l'Editeur de service pendant cette session, vous serez invité à enregistrer votre travail en tant que service de brouillon. Les services de brouillon vous permettent de reprendre ultérieurement votre travail de configuration d'un service. Les brouillons sont enregistrés par défaut dans le dossier Brouillons de votre connexion à Mes cartes hébergées. Pour plus d'informations, consultez la rubrique d'aide A propos des services de brouillon. dans l'aide d'ArcGIS Server.

  8. Vous devez toutefois définir un certain nombre de propriétés propres aux couches de tuiles hébergées. Elles sont détaillées dans la procédure qui suit.
  9. Dans la fenêtre gauche de l'éditeur de services, cliquez sur Fonctionnalités, puis sélectionnez Appariement tuilé pour exposer votre carte en tant que couche de tuiles. Cochez Feature Access (Accès aux fonctions) pour publier une couche d’entités avec vos tuiles si vous souhaitez configurer des fenêtres contextuelles pour la couche lorsque vous l’ajoutez à Map Viewer (Visionneuse de carte).

    Vous pouvez cliquer sur le sous-élément Appariement tuilé dans le volet gauche de l'Editeur de services pour définir des propriétés avancées liées aux fonctions que les clients peuvent mettre en œuvre avec la couche de tuiles publiée.

  10. Cliquez sur l'élément Mise en cache pour définir les propriétés du cache de tuiles. Reportez-vous à la rubrique Création d'un cache de carte dans l'aide d'ArcGIS Server pour plus de précisions, en tenant compte du fait que certains des paramètres avancés de mise en cache sont uniquement disponibles en cas de publication directe dans ArcGIS Server.
  11. Dans la fenêtre gauche de l'éditeur de services, cliquez sur Description d'élément et indiquez un résumé et des balises pour votre couche de tuiles. Vous devez entrer ces informations avant de publier. Pour plus d'informations, reportez-vous à la section description de l'élément de la rubrique Définition des propriétés d'un service de carte de l'aide d'ArcGIS Server.
  12. Dans le volet gauche de l'Editeur de services, cliquez sur Partage et sélectionnez les personnes avec lesquelles partager la couche de tuiles hébergée. Par défaut, votre couche de tuiles hébergée est privée et vous seul pouvez y accéder. Vous pouvez la partager avec tout le monde, tous les membres de votre organisation ou les membres de certains groupes.
  13. Dans l'éditeur de services, cliquez sur Analyser Analyser.

    Cette fonction examine la carte pour voir si elle peut être publiée. Vous devez corriger les Erreurs Erreur dans la fenêtre Préparation avant de pouvoir publier. Vous pouvez éventuellement traiter les avertissements et les messages informatifs pour optimiser les performances et l'apparence de vos tuiles publiées. Pour plus d'informations sur la résolution de ces problèmes, reportez-vous à la rubrique Analyse de votre ressource SIG dans l'aide ArcGIS Server.

  14. Vous pouvez également cliquer sur Aperçu Aperçu dans l'éditeur de services. Cela peut vous donner une idée de l'apparence de votre couche de tuiles sur le web.
  15. Une fois les erreurs et, éventuellement, les avertissements et messages résolus, cliquez sur Publier Publier.
    Remarque :

    Vos données sont alors copiées sur le serveur d'hébergement. La taille des données, ainsi que la vitesse et la bande passante de votre connexion réseau déterminent le temps nécessaire à la publication. Vous devez également anticiper le délai de génération de vos tuiles.

Dès lors que votre couche de tuiles a été publiée sur votre portail, elle s'affiche lorsque vous développez le nœud Mes services hébergés dans la fenêtre Catalogue.

Votre couche de tuiles hébergée est répertoriée sous la forme de deux éléments indépendants dans l’onglet Mon contenu du site web du portail : Tuiles et définition de service. Une définition de service est un fichier compressé contenant la carte, ses données et les informations concernant la façon dont les tuiles doivent être publiées. Une définition de service peut être transférée et publiée sur un ordinateur exécutant ArcGIS Server.

Créez et partagez un paquetage de tuiles dans ArcMap et publiez-le

ArcMap vous permet de créer des tuiles pour un document ArcMap et de les stocker dans un fichier de paquetage de tuiles facilement transférable. Vous pouvez créer un paquetage de tuiles dans ArcMap, le partager sur votre portail et le publier en tant que couche de tuiles hébergée.

Astuce:

Vous devez publier une couche d’entités avec la couche de tuiles hébergée si vous souhaitez configurer des fenêtres contextuelles.

Il y a deux façons de créer et de partager un paquetage de tuiles à partir d’ArcMap.

  • Pour empaqueter et partager une petite quantité de données (moins de 1 Go), créez et partagez le paquetage de tuiles directement depuis votre carte. Lorsque vous publiez le paquetage dans le site web du portail, des éléments du document, tels que la légende et des éléments de texte, sont préservés.
  • Si vous avez plus de 1 Go de données, utilisez des outils de géotraitement pour empaqueter et partager les tuiles. Cette méthode maintient uniquement les données lorsque des tuiles sont publiées à partir du paquetage de tuiles, ce qui améliore les performances de création des tuiles.

À partir de ArcMap 10.7, vous pouvez préciser les résultats de cet outil de géotraitement afin qu’il s'agisse d’un .tpk ou d'un fichier .tpkx. Le nouveau format .tpkx utilise une structure de fichiers simplifiée, qui fournit de meilleures performances lors de l’exécution dans le cloud ou dans des emplacements de réseau partagés. Il s’agit d’un format de spécification ouverte. L'un ou l’autre des formats peut être utilisé dans un des workflows suivants.

Publier de petits paquetages de tuiles

Si le paquetage de tuiles que vous créez dans ArcMap est plus petit que 1 Go, utilisez le workflow suivant pour publier :

  1. Ouvrez la carte dans ArcMap.
  2. Connectez-vous à votre portail avec un compte détenteur des privilèges requis pour créer du contenu et publier des couches de tuiles hébergées.
  3. Cliquez sur Personnaliser > Options ArcMap > Partage et vérifiez que l'option Activer les outils ArcGIS Runtime est sélectionnée.

    Cette opération active l'option de menu que vous utiliserez dans la prochaine étape.

  4. Dans ArcMap, cliquez sur Fichier > Partager en tant que > Paquetage de tuiles.
  5. Configurez tous les paramètres dans les sous-étapes suivantes. Vous pouvez choisir les autres paramètres comme il vous convient.
    1. Sous l'onglet Paquetage de tuiles, sélectionnez Télécharger le paquetage vers mon compte ArcGIS Portal.
    2. Sous l'onglet Format des tuiles, choisissez ArcGIS Online / Bing Maps / Google Maps comme structure de tuile.
    3. Sous l'onglet Description de l'élément, indiquez les éléments marqués comme obligatoires.
    4. Sous l'onglet Partage, vous pouvez partager le paquetage avec le public ou des groupes spécifiques.
  6. Cliquez sur Share (Partager).

    Vous pouvez être invité à enregistrer votre carte avant qu’ArcMap ne crée le paquetage de tuiles.

    La génération d'un paquetage de tuiles peut prendre du temps, en particulier si vous avez compris de grandes échelles.

  7. Une fois votre paquetage de tuiles généré, connectez-vous à votre portail via le compte utilisé pour créer le paquetage de tuiles dans ArcMap et cliquez sur Contenu > Mon contenu.
  8. Cliquez sur le paquetage de tuiles pour afficher sa page Détails des éléments.
  9. Cliquez sur Publier.
  10. Saisissez un titre et des balises, puis cliquez sur Publier.

Les tuiles sont décompressées et une couche de tuiles hébergée est créée sur votre portail. La couche doit figurer dans Mon contenu.

Publier de grands paquetages de tuiles

Pour créer et partager de grandes quantités de données, Esri recommande d'utiliser le jeu d'outils Cache de tuiles plutôt que d'utiliser le workflow précédent. Ces outils peuvent tirer parti de plusieurs cœurs de traitement pour améliorer les performances de génération et de publication des tuiles.

Exécutez ces outils dans l'ordre suivant :

  1. Exécutez Générer la structure de tuilage du cache de tuiles pour définir la grille de tuilage et le format d'image.
  2. Exécutez Gérer le cache de tuiles pour créer les tuiles.
  3. Exécutez Exporter le cache de tuiles pour créer le paquetage de tuiles.
  4. Exécutez Partager un paquetage (dans le jeu d'outils Paquetage) pour télécharger les tuiles sur votre portail.
  5. Une fois votre paquetage de tuiles généré, connectez-vous à votre portail via le compte utilisé pour créer le paquetage de tuiles dans ArcMap et cliquez sur Contenu > Mon contenu.
  6. Cliquez sur le paquetage de tuiles pour afficher sa page Détails des éléments.
  7. Cliquez sur Publier.
  8. Saisissez un titre et des balises.
  9. Si l’administrateur de votre portail a configuré des catégories de contenu , cliquez sur Assign Category (Attribuer une catégorie) et sélectionnez jusqu’à 20 catégories pour permettre aux utilisateurs de trouver votre élément. Vous pouvez également utiliser la case Filter categories (Filtrer les catégories) pour affiner la liste des catégories.
  10. Cliquez sur Publier.

Les tuiles sont décompressées et une couche de tuiles hébergée est créée sur votre portail. La couche doit figurer dans Mon contenu.

Publier à partir d'un fichier de définition de service

La publication de tuiles et la création d'un cache sollicitent d'importantes ressources du serveur. Si vous devez publier de nombreuses couches de tuiles, les auteurs des cartes peuvent créer des fichiers de définition de service (.sd) dans ArcMap, lesquels contiennent toutes les informations nécessaires pour publier une couche de tuiles sur le portail. Vous pouvez alors utiliser un script pour télécharger et publier les fichiers de définition de service sur votre portail après les heures d'ouverture des bureaux. Les couches de tuiles résultantes sont hébergées sur le serveur d'hébergement de votre portail.

Créer un fichier de définition de service

L'auteur de la carte doit suivre ces étapes pour créer un fichier de définition de service contenant les données et la symbologie requises pour une couche de tuiles hébergée sur le portail.

  1. Démarrez ArcMap et connectez-vous au portail.
  2. Créez et enregistrez une carte.

    Pour plus d'informations sur la création et la publication d'une carte, reportez-vous aux rubriques liées au service de carte dans l'aide ArcGIS Server.

  3. Créez maintenant un fichier de définition de service.
  4. Cliquez sur Fichier > Partager en tant que > Service.
  5. Sélectionnez Enregistrer un fichier de définition de service et cliquez sur Suivant.
  6. Cliquez sur Choisir une connexion et choisissez Mes services hébergés dans la liste déroulante.
  7. Saisissez un nom pour le fichier, puis cliquez sur Suivant.
  8. Précisez dans quel répertoire sur l'ordinateur client créer le fichier de définition de service, puis cliquez sur Continuer.

    Le Service Editor s'ouvre.

  9. Dans le volet gauche de l'Editeur de services, cliquez sur Mise en cache.
  10. Choisissez une Structure de tuilage.
  11. Choisissez les échelles minimum et maximum pour les tuiles puis exécutez l'option Calculer la taille du cache.
  12. Cliquez sur Créer un cache manuellement une fois le service publié.
  13. Vous pouvez également cliquer sur Paramètres avancés et définir des paramètres de cache supplémentaires pour le cache de tuiles.
  14. Dans la fenêtre gauche de l'éditeur de services, cliquez sur Description de l'élément et indiquez les informations correspondant à votre couche de tuiles :

    Vous devez indiquer au moins un résumé et des balises afin de créer le fichier de définition de service.

  15. Cliquez sur Analyser Analyser pour vous assurer qu'il ne contient aucune erreur.

    Vous devez résoudre toutes les erreurs avant d'organiser le fichier de définition de service. Vous pouvez également apporter les corrections nécessaires concernant les avertissements et messages renvoyés.

  16. Une fois les erreurs et éventuellement les avertissements et messages corrigés, cliquez sur Intermédiaire Etape.

Le fichier de définition de service est enregistré à l'emplacement que vous avez spécifié.

Charger la définition du service et publier

Une fois que l'auteur vous a envoyé le fichier de définition de service, vous pouvez le télécharger manuellement dans votre portail et publier une couche de tuiles ou programmer un script de téléchargement et de publication du fichier.

Télécharger et publier manuellement

Connectez-vous au site web du portail pour ajouter et publier le fichier de définition de service à votre portail.

  1. Connectez-vous à votre portail en tant que membre doté des privilèges nécessaires pour créer du contenu et publier des couches de tuiles hébergées, puis ouvrez cliquez sur Contenu > Mon contenu.
  2. Cliquez sur Ajouter un élément.
  3. Sélectionnez l'option de chargement du fichier depuis votre ordinateur.
  4. Cliquez sur le bouton de navigation et choisissez le fichier de définition de service.
  5. Sélectionnez Publier ce fichier en tant que service.
  6. Si l’administrateur de votre portail a configuré des catégories de contenu , cliquez sur Assign Category (Attribuer une catégorie) et sélectionnez jusqu’à 20 catégories pour permettre aux utilisateurs de trouver votre élément. Vous pouvez également utiliser la case Filter categories (Filtrer les catégories) pour affiner la liste des catégories.
  7. Saisissez des termes de balise en les séparant par des virgules.

    Les balises sont des mots ou de brèves expressions qui décrivent votre élément et facilitent sa localisation. Terres fédérales correspond à une balise, alors que Terres, fédérales correspond à deux balises.

  8. Cliquez sur Ajouter un élément pour ajouter le fichier de définition de service et publier la couche de tuiles.

    La couche de tuiles est publiée sur le serveur d'hébergement de votre portail, et la définition de service et les tuiles sont ajoutées à Mon contenu.

  9. Une fois la couche de tuiles publiée, vous aurez la possibilité de créer des tuiles. Cliquez sur ce lien pour créer les tuiles.

Par défaut, vous seul avez accès au fichier de définition de service et à la couche de tuiles hébergée. Vous pouvez partager le fichier et les tuiles avec d'autres personnes au sein de votre organisation ou avec des groupes spécifiques.

Exécuter un script de téléchargement et de publication

Pour télécharger et publier un fichier de définition de service après les heures d'ouverture des bureaux, automatisez l'exécution du script suivant sur votre machine GIS Server :

  1. Copiez le script suivant dans un fichier texte et enregistrez le fichier avec l'extension .py.

    import os, sys, json, urllib, urllib2, httplib, urlparse, mimetools, mimetypes
    from cStringIO import StringIO
    
    # generates a new token from Portal
    def generate_token(baseurl, username, password):
        tokenUrl = urlparse.urljoin(baseurl, 'sharing/generateToken')
        postdata = { 'username': username, 'password': password,
                   'client': 'requestip', 'expiration': 60, 'f': 'json' }
        encoded_postdata = urllib.urlencode(postdata)
        opener = urllib2.build_opener()
        try: resp = opener.open(tokenUrl, data=encoded_postdata)
        except urllib2.HTTPError as e: raise Exception('Unable to connect to Portal, please check the url: {} {}'.format(e.code, e.reason))
        resp_json = json.loads(resp.read())
        if 'error' in resp_json: raise Exception('\n'.join(resp_json['error']['details']))
        return resp_json['token']
        sys.exit(1)
    
    # create proper multi-part POST request data
    def _encode_multipart_formdata(fields, files):
        boundary = mimetools.choose_boundary()
        buf = StringIO()
        for (key, value) in fields.iteritems():
            buf.write('--%s\r\n' % boundary)
            buf.write('Content-Disposition: form-data; name="%s"' % key)
            buf.write('\r\n\r\n%s\r\n' % str(value))
        for (key, filepath, filename) in files:
            buf.write('--%s\r\n' % boundary)
            buf.write('Content-Disposition: form-data; name="%s"; filename="%s"\r\n' % (key, filename))
            buf.write('Content-Type: %s\r\n' % (mimetypes.guess_type(filename)[0] or 'application/octet-stream'))
            f = open(filepath, "rb")
            try:
                buf.write('\r\n' + f.read() + '\r\n')
            finally:
                f.close()
        buf.write('--' + boundary + '--\r\n\r\n')
        buf = buf.getvalue()
        return boundary, buf
    
    # send multi-part POST request
    def _postmultipart(host, selector, fields, files, ssl):
        boundary, body = _encode_multipart_formdata(fields, files)
        headers = { 'Content-Type': 'multipart/form-data; boundary={0}'.format(boundary) }
        if ssl: h = httplib.HTTPSConnection(host)
        else: h = httplib.HTTPConnection(host)
        
        h.request('POST', selector, body, headers)
        resp = h.getresponse()
    
        return resp.read()
    
    # first upload the SD file and create an item in Portal
    def addSDItem(baseurl, user, token, title, file, folder = ''):
        addUrl = 'sharing/rest/content/users/{}/{}addItem'
        if folder != '': addUrl = addUrl.format(user, folder + '/')
        else: addUrl = addUrl.format(user, '')
        
        url = urlparse.urljoin(baseurl, addUrl)
    
        files = [('file', file, os.path.split(file)[1])]
        fields = { 'token' : token, 'f' : 'json', 'type' : 'Service Definition', 'title' : title, 
                   'tags' : 'sampletag', 'name': title, 'typeKeywords' : 'Data, Service Definition, ArcGIS, sd' }
    
        ssl = url.startswith('https://')
        
        parsed_url = urlparse.urlparse(url)
        
        print('Uploading {} to {}..'.format(file, baseurl))
        resp = _postmultipart(parsed_url.netloc, str(parsed_url.path), fields, files, ssl)
        resp_json = json.loads(resp)
    
        if 'error' in resp_json:
          raise Exception('Unable to upload file {}: {}'.format(file, resp_json['error']['message']))
        
        return resp_json['id']
        
    # second publish the uploaded SD item as a new tiled service
    def publishTiles(baseurl, user, token, itemid):
        publishUrl = urlparse.urljoin(baseurl, 'sharing/rest/content/users/{}/publish'.format(user))
        query_dict= { 'f' : 'json', 'token': token, 'itemid': itemid, 'buildInitialCache' : True,
                      'publishParameters' : { 'name' : 'cities' }, 'fileType': 'serviceDefinition' }
                      
        query_string = urllib.urlencode(query_dict)
        print('Publishing tile service from item..')
        response = urllib.urlopen(publishUrl, query_string)
            
        resp_json = json.loads(response.read())
        
        if 'error' in resp_json: raise Exception('Unable to publish item: {}'.format(resp_json['error']['message']))
    
    # read input from command line when run as a standalone script
    if __name__ == '__main__':
        try: 
          url = sys.argv[1]
          user = sys.argv[2]
          password = sys.argv[3]
          f = sys.argv[4]
          title = sys.argv[5]
          if not url.endswith('/'): url += '/' # make sure the url ends with /
        except: # if too few parameters are passed on command line, show usage help
          print('Usage: ')
          print('       publishServiceItem.py [portalUrl] [userName] [password] [sdFilePath] [titleOfServiceItem]')
          print('')
          print('portalUrl           The secure url to the portal, e.g. https://portalmachine.example.com/arcgis/')
          print('userName            The username of a user to publish the service.')
          print('                    This user must have the required publishing privileges.')
          print('password            The password of the user')
          print('sdFilePath          Path to the .sd file containing the service definition')
          print('                    E.g. c:\\temp\cachedService.sd')
          print('titleOfServiceItem  The title to assign to the published item in the portal.')
          sys.exit(1)  
    
        token = generate_token(url, user, password)
    
        id = addSDItem(url, user, token, title, f)
        publishTiles(url, user, token, id)
        print('Publishing complete. Tile generation has been started and may take a while to finish.')

  2. Créez un fichier de commandes ou un script d’environnement d’exécution que vous programmerez pour exécuter le script Python.
  3. Dans le fichier, appelez le script Python et indiquez les options propres à votre site.

    Par exemple, pour exécuter le script publishServiceItem.py, saisissez l'URL de votre portail, le nom d'utilisateur avec lequel se connecter, le mot de passe de l'utilisateur, le chemin d'accès au fichier de définition de service et le titre du service à créer. Dans cet exemple, l'URL du portail est https://portal.domain.com/arcgis/, le nom d'utilisateur et le mot de passe sont pub1 et pub.1, le chemin d'accès au fichier de définition de service est C:\maps\SDs\mymap.sd et le nom du service est studytiles.

    publishServiceItem.py https://portal.domain.com/arcgis/ pub1 pub.1 C:\maps\SDs\mymap.sd studytiles

  4. Programmez l'exécution de votre script lorsque l'utilisation du portail est minimale.

    Reportez-vous à la rubrique Programmation d'un script Python pour qu'il s'exécute à des moments définis dans l'aide de géotraitement ArcGIS pour en savoir plus sur la programmation d'un script.