Automatisation des opérations de création et de mise à jour des caches avec le géotraitement
Si vous travaillez avec un fonds de plan qui n'est pas susceptible de changer, vous devez probablement créer son cache une seule fois. Vous pouvez utiliser l'interface de mise en cache d'ArcCatalog (à savoir, l'onglet Mise en cache de la boîte de dialogue Propriétés du service) pour créer le cache. Cette méthode est également adaptée pour mettre à jour le cache si vos données ne changent pas très souvent.
Si vos données évoluent fréquemment, vous pouvez toutefois être en mesure d'utiliser la mise en cache. Les outils de mise en cache ont été conçus pour permettre l'écriture de scripts de mise à jour du cache et pour cibler les mises à jour sur des parties spécifiques du cache. Par exemple, vous pouvez :
- Mettre à jour le cache uniquement pour les niveaux d'échelle ayant changé.
- Mettre à jour uniquement les zones du cache comprises dans les limites d'une classe d'entités.
- Automatiser la gestion du cache avec des utilitaires tels que les Tâches planifiées de Windows.
La méthode pour automatiser le processus de mise en cache consiste à écrire des scripts qui utilisent la boîte à outils Outils de serveur, accessible dans le menu Géotraitement. Cette rubrique d'aide liste les outils disponibles et contient des exemples pour vous aider à commencer l'écriture de scripts. Elle décrit également la migration des scripts plus anciens d'ArcGIS Server 9.2 vers les versions ultérieures.
Outils de mise en cache
La boîte à outils Outils de serveur contient des outils de mise en cache de carte et de globe.
Outils de mise en cache de carte
Les outils suivants sont inclus pour la mise en cache de carte. Les outils reflètent le modèle de création de la structure de tuilage et le remplissage du cache avec des tuiles.
- Créer le cache du serveur de carte - Initialise le cache et définit la structure de tuilage. Cet outil ne crée pas de tuiles. Pour créer les tuiles, utilisez l'outil Gérer le cache des tuiles du serveur de carte.
- Gérer le cache des tuiles du serveur de carte - Crée des tuiles, remplace des tuiles anciennes ou supprime des tuiles du cache.
- Gérer les échelles du cache du serveur de carte - Ajoute ou supprime des échelles d'un cache existant.
- Supprimer le cache du serveur de carte - Supprime toutes les tuiles en cache et la structure du dossier de cache.
Un workflow de script courant consiste à utiliser l'outil Créer le cache du serveur de carte pour créer un cache vide, puis à utiliser l'outil Gérer le cache des tuiles du serveur de carte pour remplir le cache avec des tuiles et à exécuter des mises à jour périodiquement.
Outil pour standardiser les caches de carte
Si vous devez créer de nombreux caches de carte à utiliser dans votre organisation, il est recommandé d'utiliser la même structure de tuilage pour chacun d'entre eux. L'utilisation d'une structure de tuilage standard permet une superposition plus efficace de vos caches.
La structure de tuilage sélectionnée peut être identique à celle utilisée par les services de cartographie en ligne tels qu'ArcGIS Online, Google Maps ou Bing Maps, ou il peut s'agir d'une structure de tuilage utilisée uniquement dans votre organisation. Votre choix de structure de tuilage peut être influencé par les normes cartographiques ou les pratiques de votre organisation. Par exemple, si toutes vos cartes doivent utiliser la projection stéréographique polaire, vous n'êtes pas en mesure d'utiliser les structures de tuilage ArcGIS Online, Google Maps ou Bing Maps ; vous devez dans ce cas créer votre propre structure de tuilage.
L'outil Génère la structure de tuilage pour le cache du serveur de carte de la boîte à outils Outils de serveur peut vous aider à créer une structure de tuilage à partager dans l'ensemble de votre organisation. Cet outil crée un fichier de structure de tuilage XML, que vous pouvez placer dans un emplacement partagé et auquel vous pouvez faire référence lorsque vous exécutez l'outil Créer le cache du serveur de carte.
Gestion du cache de carte et outils de collaboration
Plusieurs outils du jeu d'outils Mise en cache sont conçus pour la gestion et la création collective de caches.
L'outil Convertir le format de stockage du cache du serveur de carte peut convertir des caches anciens vers le nouveau format compact présenté avec ArcGIS Server 10. Cet outil permet en réalité une conversion dans les deux sens, entre le format éclaté (pré-ArcGIS 10) et le format compact.
Les outils Exporter le cache du serveur de carte et Importer le cache du serveur de carte facilitent le déplacement de sous-ensembles de tuiles entre les caches. L'exportation et l'importation de caches peut être utile lorsque plusieurs organisations collaborent pour créer un cache important, ou lorsqu'une organisation avec un cache important souhaite partager certaines de ses tuiles avec une autre organisation.
Pour en savoir plus sur l'exportation et l'importation de caches de cartes
Outils de mise en cache de globe
Les outils suivants sont inclus pour la mise en cache de globe :
- Gérer le cache des tuiles du serveur de globe - Crée des tuiles, remplace des tuiles anciennes ou supprime des tuiles d'un cache de globe.
- Supprimer le cache du serveur de globe - Supprime le cache.
Remarquez qu'il existe uniquement deux outils pour l'utilisation des caches de globe. Par nature, tous les services de globe disposent d'un cache créé automatiquement lors du démarrage du service. Ce cache utilise une structure de tuilage incorporée, identique pour tous les services de globe. Par conséquent, il n'existe aucun outil pour la création d'un nouveau cache ou d'une nouvelle structure de tuilage de globe.
Vous pouvez utiliser l'outil Gérer le cache des tuiles du serveur de globe pour remplir entièrement le cache avec des tuiles, ou pour mettre en cache uniquement des zones et des niveaux de détail sélectionnés.
Utilisation des outils dans les scripts
Bien que vous puissiez ouvrir manuellement les outils de mise en cache à partir des fenêtres Catalogue ou Rechercher, il est plus efficace d'écrire un script de géotraitement contenant un ou plusieurs outils à exécuter. Vous pouvez ensuite planifier une exécution automatique de ce script.
Exemple de script : Mise à jour d'un cache de carte
Si vos données évoluent fréquemment, l'écriture de scripts est la méthode recommandée pour mettre à jour votre cache. Vous pouvez créer un script Python qui exécute l'outil de mise à jour. Vous pouvez écrire le code Python dans le Bloc-notes, ou utiliser un environnement de développement tel que IDLE ou PythonWin.
Le script ne doit pas nécessairement être complexe. Il doit simplement définir les paramètres pour l'outil et l'exécuter. Le script Python suivant exécute l'outil Gérer le cache des tuiles du serveur de carte pour recréer un cache entier :
# This script updates a map cache containing changing data # Any line that begins with a pound sign is a comment and will not be executed # These lines are used to access ArcGIS geoprocessing tools import arcpy, sys from arcpy import env # Here is where you define the input parameter values for the update tool. # Empty quotes take the default value. server = "MyServer" service = "Precipitation" dataFrame = "Layers" inputLayers = "" extent = "" scales = "128000;64000;32000;16000" updateMode = "Recreate All Tiles" threadCount = "2" antialiasing = "NONE" pathToFeatureClass = "" ignoreStatus = "" # These lines run the update tool try: print 'Starting Cache Update' result = arcpy.ManageMapServerCacheTiles_server(server, service, dataFrame, inputLayers, scales, updateMode, extent, threadCount, antialiasing, pathToFeatureClass, ignoreStatus) while result.status < 4: time.sleep(0.2) resultValue = result.getMessages() print str(resultValue) print 'Finished Cache Update' # If there's a failure, these lines get the messages except Exception, e: tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno
Il est important d'utiliser la syntaxe correcte pour tous les paramètres en entrée. Vous pouvez trouver des instructions et des exemples pour tous les paramètres de chaque outil dans le manuel de référence des outils de géotraitement dans l'aide d'ArcGIS Desktop. Par exemple, voici la rubrique de référence pour l'outil Gérer le cache des tuiles du serveur de carte utilisé ci-dessus : Gérer le cache des tuiles du serveur de carte (Server).
Si vous êtes novice pour Python, les ressources suivantes peuvent vous aider à en savoir plus :
- Qu'est-ce que Python ? - L'aide d'ArcGIS Desktop contient une introduction à l'écriture de scripts Python, qui commence par cette rubrique.
- Exportation d'un modèle - Si vous avez créé des modèles dans ModelBuilder, vous pouvez les exporter vers Python pour voir l'aspect du script correspondant.
Planification de votre script pour une exécution régulière
Vous pouvez enregistrer votre script en tant que fichier de script Python (.py). Pour exécuter le script, il suffit de double-cliquer dessus dans l'Explorateur Windows. Cette opération est utile pour les tests, mais dans la plupart des cas vous souhaitez probablement planifier le script pour une exécution régulière et automatique.
Votre système d'exploitation contient des utilitaires permettant de planifier des tâches telles que l'exécution d'un script. Dans Windows, vous pouvez utiliser l'utilitaire Tâches planifiées ou la commande schtasks. Vous devez fournir l'emplacement du fichier de script, la fréquence d'exécution souhaitée et le nom et mot de passe pour l'exécution de la tâche. Pour plus d'informations sur la planification de tâches, reportez-vous aux ressources suivantes :
- Programmation d'un script Python pour qu'il s'exécute à des moments définis
- Planification d'une nouvelle tâche (documentation Microsoft)
- Référence de ligne de commande de schtasks (documentation Microsoft)
Si vous avez utilisé la boîte à outils Outils de serveur avec ArcGIS Server 9.2, vous observez des modifications dans les versions 9.3 et ultérieures. Certains outils d'ArcGIS Server 9.2 ont été désapprouvés. Ils sont compris dans le logiciel afin de maintenir l'exécution de vos scripts existants, mais vous ne pouvez pas les ajouter à la boîte à outils et ils ne sont pas disponibles par l'intermédiaire de la ligne de commande. Vous pouvez les utiliser uniquement dans un environnement de script.
Le tableau suivant présente les outils désapprouvés et leurs remplacements dans les versions 9.3 et ultérieures :
Outil désapprouvé de la version 9.2 |
Outil de remplacement |
Générer le cache du serveur de carte |
|
Met à jour le cache du serveur de carte |
Gérer le cache des tuiles du serveur de carte |
Générer le cache du serveur de globe |
Gérer le cache des tuiles du serveur de globe |
Mettre à jour le cache du serveur de globe |
Gérer le cache des tuiles du serveur de globe |
- Générer le cache du serveur de carte - Cet outil permettait d'initialiser le cache de carte, de définir la structure de tuilage et de créer toutes les tuiles du cache. A partir de la version 9.3, utilisez l'outil Créer le cache du serveur de carte pour initialiser le cache et définir la structure de tuilage. Utilisez ensuite l'outil Gérer le cache des tuiles du serveur de carte pour créer certaines ou toutes les tuiles du cache.
- Mettre à jour le cache du serveur de carte - Cet outil permettait de créer, de remplacer ou de supprimer des tuiles d'un cache de carte. A partir de la version 9.3, utilisez l'outil Gérer le cache des tuiles du serveur de carte, capable d'effectuer les mêmes opérations avec plus de souplesse pour la mise à jour de zones sélectionnées du cache uniquement.
- Générer le cache du serveur de globe - Cet outil permettait de générer toutes les tuiles d'un cache de globe. A partir de la version 9.3, utilisez l'outil Gérer le cache des tuiles du serveur de globe pour créer certaines ou toutes les tuiles du cache de globe.
L'ordre des paramètres a changé dans quelques-uns des nouveaux outils. Par exemple, dans ManageMapServerCacheTiles, constraining_extent est désormais un paramètre requis qui suit immédiatement update_mode dans la liste des paramètres. Consultez toujours la documentation de référence des outils de géotraitement la plus récente lors de la mise à jour de vos scripts.