Pour les couches d’entités Web, un cache d’entités est utilisé pour améliorer les performances et les tâches courantes en stockant des entités dans un dossier temporaire. Le cache est automatiquement géré et pendant que les entités sont mises en cache, le nombre de requêtes nécessaire pour récupérer les données est réduit et le temps d’affichage est amélioré. Cela peut être utile lorsque vous travaillez avec des jeux de données volumineux ou complexes, dans une étendue de carte spécifique, ou lorsque de nombreux utilisateurs utilisent le même service. Cela réduit également la pression exercée sur le serveur car le nombre de demandes de services est réduit.
Critères du cache d'entités
Par défaut, le cache d’entités est rempli automatiquement par l’application ; il s’agit du paramètre conseillé. Le cache est rempli chaque fois que la représentation de la carte est terminée et que les cinq critères suivants sont respectés :
- La couche est visible dans la fenêtre Contents (Contenu).
- La couche est affichée en fonction de la plage d’échelle visible.
- Le nombre total d’entités dessinées est inférieur à cinq fois la valeur du seuil de nombre de lignes sur la couche de service.
- L’option de mise en cache dans la boîte de dialogue des propriétés de la couche est définie sur Clear cache when the session ends (Effacer le cache à la fin de la session).
- Le nombre estimé d’entités dans l’étendue visible est inférieur à cinq fois la valeur du seuil de nombre de lignes si des filtres sont présents.
Remarque :
Les filtres incluent les filtres d’affichage, les ensembles de définition, les groupes de couches de sous-types et les classes de symboles.
Des détails supplémentaires pour le seuil du nombre de lignes, le nombre de lignes estimé et les groupes de couches de sous-types sont également utilisés pour déterminer si le cache est rempli automatiquement.
Seuil du nombre de lignes
Le seuil du nombre de lignes permet de déterminer à quel moment le cache d'entités est rempli. Le seuil du nombre de lignes est défini sur 2 000 ou sur le paramètremaxRecordCount de la couche de service d'entités, la valeur la plus faible étant retenue.
Nombre de lignes estimé
Si les nombres de lignes estimés sont pris en charge et qu'une couche comporte des filtres, ArcGIS Pro utilise les nombres de lignes estimés et les cinq critères comme décrit ci-avant pour déterminer si le cache d'entités est rempli. Si une couche ne comporte pas de filtre, les nombres de lignes estimés ne sont pas utilisés et ArcGIS Pro utilise les cinq critères comme décrit ci-avant pour déterminer si le cache d'entités est rempli.
Si les nombres de lignes estimés de la couche de service d'entités toute entière sont inférieurs à cinq fois le seuil du nombre de lignes, le cache d'entités de la couche de service d'entités toute entière est rempli.
Pour les couches de services d'entités qui ne prennent pas en charge les nombres de lignes estimés, le cache d'entités n'est pas rempli si des filtres sont présents sur les couches.
Remarque :
Pour déterminer si le service d'entités prend en charge les nombres de lignes estimés, accédez à la ressource JSON de la couche et recherchez le paramètre infoInEstimates. Si "count" est visible dans cette matrice, ArcGIS Pro obtient les nombres de lignes estimés.
Couche de groupe de sous-types
Les groupes de couches de sous-types peuvent ou non être considérés comme des filtres.
Ils le sont si au moins une de leurs sous-couches est visible. Pour ce scénario, les nombres de lignes estimés sont utilisés pour remplir le cache d'entités s'ils sont pris en charge.
Les groupes de couches de sous-types ne sont pas considérés comme des filtres s'ils sont tous visibles. Pour ce scénario, la somme des nombres de lignes de tous les groupes de couches de sous-types visibles est utilisée pour déterminer si le cache d'entités est rempli.
Les groupes de couches de sous-types ne sont pas considérés comme des filtres si aucun d'eux n'est visible. Pour ce scénario, les groupes de couches de sous-types sont considérés comme non visibles et le cache d'entités n'est pas rempli pour ces couches.
Dans les situations dans lesquels l’application décide de ne pas remplir le cache d’entités pour une couche (en d’autres termes, les cinq critères énumérés ci-dessus ne sont pas respectés), vous pouvez gérer le cache manuellement pour tirer parti des avantages en termes de performances fournis par le cache.
Accédez aux contrôles pour gérer le cache sur l’onglet Map (Carte) dans le groupe Feature Cache (Cache d’entités). Utilisez ces contrôles pour remplir ou vider le cache, annuler un remplissage de cache en cours, ou configurer le cache pour un remplissage automatique. Ces contrôles s’appliquent à chaque carte dans un projet. Si le groupe Feature Cache (Cache d’entités) n’est pas activé, l’application met automatiquement en cache les entités comme décrit précédemment.
Pour plus d’informations sur la mise en cache, reportez-vous à la rubrique Fonctionnement de la mise en cache.
Afficher le groupe Feature Cache (Cache d’entités)
Par défaut, le groupe Feature Cache (Cache d’entités) est masqué sur le ruban. Procédez comme suit pour accéder aux contrôles dans ce groupe.
- Cliquez sur l’onglet Project (Projet), puis sur Options.
- Dans la boîte de dialogue Options, sous l'en-tête Application, cliquez sur l'onglet Map and Scene (Carte et scène).
- Développez Feature Cache (Cache d’entités) et cochez la case Manage feature cache (Gérer le cache d’entités) depuis l’onglet Map (Carte).
- Cliquez sur OK pour enregistrer vos paramètres et fermer la boîte de dialogue.
Mise en cache automatique
Lorsque le groupe Feature Cache (Cache d’entités) est désactivé, le paramètre Auto Cache (Mise en cache automatique) s’active pour chaque nouvelle carte. Désactivez cette option pour gérer manuellement le cache. Ce paramètre peut être modifié indépendamment pour chaque carte dans un projet. Cela vous permet de gérer le paramètre Auto Cache (Mise en cache automatique) en fonction des besoins de votre processus. Comme indiqué ci-dessous, si les couches partagent la même source de données dans plusieurs cartes, les options Fill (Remplissage) et Empty (Vider) peuvent avoir une incidence sur le paramètre Auto Cache (Mise en cache automatique).
Remarque :
Lorsqu’un remplissage lancé depuis la fonction Fill (Remplissage) est en cours, la mise en cache automatique est interrompue pour l’ensemble du projet et jusqu'à la fin du remplissage en cours.
Remplir le cache d’entités pour la carte actuelle
Le cache d'entités doit être rempli avant d'être utilisé.
Sur l’onglet Map (Carte) dans le groupe Feature Cache (Cache d’entités), cliquez sur Fill (Remplissage) pour remplir le cache pour toutes les couches visibles sur la carte.
Attention :
Si vous ne parvenez pas à voir le groupe Feature Cache (Cache d’entités) dans l’onglet Map (Carte), suivez les étapes de la section précédente pour accéder à ces contrôles.
Si la source de données d’une couche est partagée entre plusieurs cartes du même projet, les entités mises en cache sont partagées entre les cartes.
Une notification vous avertit lorsque le remplissage du cache débute et se termine, ou si une erreur se produit.
Remarque :
- La génération d’un cache pour une large surface ou pour une surface avec plusieurs entités peut nécessiter un certain temps. Pour annuler le remplissage du cache, cliquez sur Cancel (Annuler) .
- Si aucune couche d’entités Web n’est visible sur la carte, ou si les couches sont configurées pour ne pas être mises en cache au sein des propriétés de la couche, un remplissage n’est pas pris en charge et vous recevrez une notification.
Attention :
Lors de l’utilisation de la fonction Fill (Remplissage) en conjonction avec le paramètre Auto Cache (Mise en cache automatique), le bouton Fill (Remplissage) annule les remplissages automatiques en cours. Dans ce processus, il est recommandé d’attendre 15 secondes après que le rendu de la carte soit terminé pour permettre la fin de la procédure de remplissage automatisée, avant d’utiliser la fonction Fill (Remplissage) .
Vider le cache d’entités pour la carte actuelle
Vider le cache d’entités peut s’effectuer régulièrement si des mises à jour sont apportées à la couche d’entités sous-jacente à partir d’autres sources.
Dans l’onglet Map (Carte) dans le groupe Feature Cache (Mise en cache automatique), cliquez sur Empty (Vider) pour vider le cache d’entités pour toutes les couches sur la carte actuelle.
Attention :
Si vous ne parvenez pas à voir le groupe Feature Cache (Cache d’entités) dans l’onglet Map (Carte), suivez les étapes de la section précédente dans cette rubrique pour accéder à ces contrôles.
Le bouton Empty (Vider) est toujours activé et ne devient pas inactif. Cette opération de vidage n’a pas lieu si des mises à jour sont en attente. Les mises à jour doivent être enregistrées ou supprimées avant de vider le cache d’entités.
Si la source de données d’une couche est partagée entre plusieurs cartes du même projet, le cache pour ces couches dans d’autres cartes est affecté lors de l’opération de vidage.
Une notification vous avertit lorsque le cache est vidé, lorsqu’une erreur se produit, ou si des mises à jour sont en attente.
Annuler le remplissage du cache d’entités
Si vous avez cliqué sur le bouton Fill (Remplissage) et que cette opération prend plus de temps que prévu, ou si vous avez cliqué sur le bouton par accident, vous pouvez annuler le processus. Ce bouton est disponible uniquement lorsque le remplissage d’un cache est en cours.
Dans l’onglet Map (Carte) dans le groupe Feature Cache (Cache d’entités), cliquez sur Cancel (Annuler) pour annuler les demandes de remplissage en cours.
Attention :
Si vous ne parvenez pas à voir le groupe Feature Cache (Cache d’entités) dans l’onglet Map (Carte), suivez les étapes de la section précédente dans cette rubrique pour accéder à ces contrôles.
Une notification vous avertit lorsque le remplissage d’un cache a été annulé.
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?