Le format de stockage de cache compact vous permet de regrouper des tuiles dans des fichiers volumineux, plutôt que de les stocker en tant que fichiers individuels. Ce format présente plusieurs avantages :
- Les caches sont plus faciles à copier, car le nombre de fichiers est réduit.
- La taille totale du cache sur le disque est réduite.
- La création des tuiles est généralement plus rapide, car les E/S sur disque sont moins importantes lors de cette opération.
- L’évolutivité du système est optimisée lors de la création de tuiles dans le cas de déploiements sur plusieurs machines, grâce à la réduction du trafic sur le réseau.
Présentation des formats de stockage de cache
Avant ArcGIS 10.0, les caches de tuiles étaient disponibles uniquement dans le format Exploded (Éclaté), chaque tuile étant alors stockée dans un fichier JPEG ou PNG individuel de 256 px sur 256 px. C’est pourquoi le dossier de cache éclaté contenant toutes les tuiles est très volumineux.
Le format de cache compact, mis en œuvre pour la première fois dans la version 10.0, vise à réduire considérablement la taille de fichier des caches de tuiles. Un cache compact utilise des fichiers .bundle, qui contiennent chacun jusqu’à 16 384 tuiles. Les caches compacts sont moins volumineux et plus faciles à copier.
Lorsque vous créez ou exportez un cache, vous pouvez lui définir un format de stockage Compact ou Exploded (Éclaté).
Fonctionnement d’un cache compact
Le cache compact regroupe un grand nombre de tuiles dans un grand fichier appelé paquet. Le résultat est un cache incluant des dizaines, voire des centaines de fichiers, et non des milliers ou des millions. Si vous examinez un cache compact sur disque, vous pouvez repérer les fichiers de paquet grâce à l’extension .bundle.
Dans la version initiale du cache compact, appelée compact, le format comprenait également des fichiers d’index séparés portant l’extension .bundlx. Sachant qu’un fichier .bundlx séparé nuit aux performances lorsque le cache est hébergé dans un partage réseau ou dans un répertoire cloud, une seconde version du cache compact (compactv2) a été introduite dans la version 10.3. Dans cette version, désormais utilisée par défaut lorsqu’un cache est créé, le fichier .bundlx est inclus dans le fichier .bundle Le nombre d’appels que le client doit émettre vers le cache est ainsi réduit de moitié. Outre le gain de productivité, il est possible d’utiliser et d’afficher des caches à partir d’un partage réseau ou d’un répertoire cloud.
La version compactv2 du cache compact ne peut être utilisée que par ArcGIS Server 10.3 et versions ultérieures. Le format est une spécification ouverte.
Pour que les caches créés dans une version antérieure à la version 10.3 puissent tirer parti des gains de productivité associés à compactv2, vous devez les mettre à niveau à l’aide de l’outil Mettre à niveau le format de stockage de cache du serveur de carte. La mise à niveau du cache ne crée pas de nouvelles tuiles, mais les fichiers sont réorganisés pour être compatibles avec le format optimisé.
Remarque :
L’outil Mettre à niveau le format de stockage de cache du serveur de carte n’est pas disponible dans ArcGIS Pro. Utilisez à la place Python installé avec ArcGIS Server.
Le format de stockage de cache compact amélioré n’est pas compatible avec les versions antérieures de ArcGIS. Par exemple, un cache compact créé ou mis à niveau avec la version 10.3 ou ultérieure ne peut pas être transféré ni utilisé dans une version antérieure du logiciel.
L’outil Exporter un cache de serveur de carte utilise le format compact comme sortie et peut servir à rendre un cache plus récent compatible avec une ancienne version d’ArcGIS Server. Reportez-vous à la rubrique Copie des caches si vous souhaitez copier un cache compactv2 vers un site ArcGIS Server exécutant une version antérieure.
Utiliser des caches compacts
Pendant la création du cache, vous pouvez observer des fichiers .lock et .done temporaires dans les dossiers de cache. Les fichiers .lock permettent à ArcGIS Server d’assurer le suivi des paquets en cours de création. La présence d’un fichier .lock ne signifie pas que le paquet est inaccessible pour les clients. De même, le fichier .done permet à ArcGIS Server d’effectuer le suivi des paquets qui ont été créés. Tous les fichiers .lock et .done doivent disparaître lorsque la tâche de mise en cache est terminée.
Il est possible de disposer d’un petit cache, incluant un seul paquet à chaque niveau. Le plus souvent, une limite de paquets traverse une partie de la géographie, de sorte à générer plusieurs paquets à un niveau (bien que les paquets ne contiennent pas nécessairement l’ensemble des 16 000 tuiles si la géographie est réduite). Les grands caches comprennent un grand nombre de paquets.
Les limites associées aux paquets sont déterminées par l’origine de la structure de tuilage. Elles ne sont pas réglables. A des fins de référence, pour une échelle de niveau de voisinage/de rue égale de 1:4096, un paquet complet recouvre environ la surface d’un comté de taille moyenne dans la partie est des Etats-Unis.
Mettre à jour un cache compact
Lorsque vous mettez à jour des tuiles dans un cache compact, le paquet entier n’est pas recréé. À la place, une surface plus détaillée de 4096x4096 pixels (aucun anticrénelage) ou de 2048x2048 pixels (avec anticrénelage) est mise à jour. Dans la documentation ArcGIS, cette unité de surface est quelquefois appelée super tuile.
Obtention de tuiles dans un paquet
Les clients ArcGIS (notamment les API Web) peuvent lire les fichiers de paquet produits par le format de cache compact. Les clients web émettent des appels vers le site ArcGIS Server pour le niveau, la ligne et la colonne spécifiques de la tuile. ArcGIS Server reçoit la demande et renvoie la tuile appropriée du paquet.
Si vous avez codé votre propre logique pour sortir des tuiles d’un répertoire virtuel, vous devez continuer à utiliser le format éclaté, qui stocke chaque tuile dans un fichier unique. Il s’agissait là de l’unique option dans les versions antérieure à ArcGIS Server 10.0.
Vous avez un commentaire à formuler concernant cette rubrique ?