Gérer le cache d’entités

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.

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.

  1. Cliquez sur l’onglet Project (Projet), puis sur Options.
  2. Dans la boîte de dialogue Options, sous l'en-tête Application, cliquez sur l'onglet Map and Scene (Carte et scène).
  3. 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).
  4. 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) Activer le cache d'entités et Empty (Vider) Effacer le cache des entités peuvent avoir une incidence sur le paramètre Auto Cache (Mise en cache automatique).

Remarque :

Lorsqu’un remplissage lancé depuis la fonction Fill (Remplissage) Activer le cache d'entités 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) Activer le cache d'entités 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.

Le cache se remplit en fonction de l’étendue actuelle de la carte. Contrairement au paramètre Auto Cache (Mise en cache automatique) qui utilise des critères pour déterminer les couches à remplir, la fonction Fill (Remplissage) Activer le cache d'entités met en cache toutes les couches visibles dans la fenêtre Contents (Contenu). Un seul processus de remplissage peut avoir lieu par projet à la fois. Lors du remplissage du cache, le bouton Fill (Remplissage) Activer le cache d'entités est indisponible pour toutes les cartes dans le projet jusqu’à la fin ou l’annulation du remplissage. Lors du remplissage du cache, vous pouvez effectuer des panoramiques et des zooms autour de la carte ou afficher d’autres cartes sans affecter le remplissage en cours. Le remplissage de cache d’entités à plusieurs étendues est pris en charge. La mise en cache automatique est interrompue pour l’ensemble du projet jusqu’à la fin du remplissage.

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) Désactiver le cache d'entités.
  • 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) Activer le cache d'entités en conjonction avec le paramètre Auto Cache (Mise en cache automatique), le bouton Fill (Remplissage) Activer le cache d'entités 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) Activer le cache d'entités.

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) Effacer le cache des entités 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) Effacer le cache des entités 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) Activer le cache d'entités 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) Désactiver le cache d'entités 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