En règle générale, la mise à jour des couches d’entités Web est identique à la mise à jour d’autres données vectorielles. Les types de mises à jour que vous pouvez effectuer sur une couche d’entités Web sont déterminés par les propriétés du service d’entités. Le mode de mise à jour diffère selon les données en cours de publication, les autorisations des éditeurs et les fonctions activées sur le service. L’une des fonctionnalités qui affectent le mode de mise à jour est la fonction de gestion des versions. Lorsque les éditeurs activent cette fonctionnalité pour la publication de données de branche versionnée, elle modifie la manière dont les éditeurs peuvent mettre à jour la couche Web dans ArcGIS AllSource.
Pour en savoir plus, reportez-vous à la rubrique Autorisations des Editors pour les services d’entités et à la rubrique Couches ou fonctionnalités supplémentaires.
Mettre à jour des couches Web sans gestion de versions
Le plus souvent, lorsque vous mettez à jour une couche d’entités Web dans ArcGIS AllSource, la fonctionnalité de gestion des versions n’est pas activée. Lorsque des mises à jour sont apportées à ces couches, la plupart des mises à jour effectuées sont stockées localement sur la machine exécutant ArcGIS AllSource avant d’être enregistrées. Vous pouvez conserver ou annuler les mises à jour à l’aide des options d’annulation et de rétablissement disponibles dans ArcGIS AllSource. Vous pouvez continuer à annuler et rétablir des mises à jour spécifiques jusqu’à enregistrer ou ignorer vos mises à jour.
Remarque :
Les mises à jour et les suppressions, y compris les opérations d’annulation et de rétablissement, sont stockées localement jusqu’à ce que les mises à jour soient enregistrées ou ignorées. Lorsque vous insérez des entités, celles-ci sont immédiatement ajoutées au service d’entités et stockées localement.
Enregistrer ou annuler des mises à jour
Lorsque vous enregistrez, toutes les mises à jour et les suppressions que vous avez effectuées depuis le dernier enregistrement sont appliquées aux données source, une par une. Annuler vos mises à jour les supprime de la machine locale. Lorsque des mises à jour sont annulées, les suppressions sont également envoyées au serveur afin d’annuler les insertions effectuées au cours de la session.
Du fait du stockage côté client de plusieurs mises à jour, l’enregistrement ou l’annulation des mises à jour peut prendre du temps. Cela empêche également les utilisateurs du service de voir les modifications et les suppressions tant que les mises à jour ne sont pas enregistrées. Il est recommandé d’enregistrer fréquemment les mises à jour ou d’activer l’option permettant d’enregistrer les mises à jour à intervalles réguliers. Lorsque vous choisissez cette option, vous pouvez configurer l’application de manière à procéder à l’enregistrement selon un intervalle défini ou au bout d’un nombre d’opérations donné. Ce faisant, l’enregistrement automatique dans la source de données intervient régulièrement et accélère la procédure d’enregistrement. Comme pour les autres sources de données, les mises à jour enregistrées ne peuvent pas être annulées.
Les fonctions qui reposent sur un comportement lors de la mise à jour côté serveur peuvent être retardées ou non disponibles dans une session de mise à jour. Voici des exemples de ce type de comportement :
- Navigation de l’origine à la destination dans une relation créée dans la session de mise à jour
- Les règles attributaires exclues de l’évaluation côté client n’affichent pas les valeurs calculées
Si votre processus requiert un accès immédiat à ces comportements ou si vous souhaitez visualiser des mises à jour effectuées par d’autres, il est recommandé d’enregistrer fréquemment les mises à jour ou d’activer l’option permettant d’enregistrer les mises à jour à intervalles réguliers. Pour prévenir tout retard, vous pouvez enregistrer chaque opération. Il peut également être nécessaire d’actualiser la carte pour observer ces comportements côté serveur.
Remarque :
Si une session ArcGIS AllSource se ferme de manière inattendue sans enregistrer les mises à jour apportées aux entités insérées, ces entités insérées devront être examinées manuellement dans une session ultérieure.
Mettre à jour des couches d’entités Web avec gestion de versions
Si le /// a activé la fonctionnalité de gestion de versions lors de la publication de la couche d’entités Web, votre processus de mise à jour diffère du processus de mise à jour s’exécutant lorsque vous mettez à jour des couches d’entités n’ayant pas cette fonctionnalité. La fonctionnalité de gestion de versions n’est disponible que pour les données de branche versionnée.
Lorsque vous mettez à jour une couche d’entités Web avec la gestion des versions activée, vous mettez à jour la version par défaut. Vous pouvez aussi mettre à jour une version nommée si elle existe. Reportez-vous à la rubrique Se connecter à une version de branche pour savoir comment accéder à une version nommée sur une carte.
Des différences importantes existent entre la mise à jour de la version par défaut et celle d’une version nommée. Lorsque vous mettez à jour des couches avec la fonctionnalité de gestion des versions activée, les mises à jour sont enregistrées immédiatement dans la source de données sous-jacente. Pendant la mise à jour d’une version nommée, vous pouvez annuler et rétablir chaque mise à jour et enregistrer ou ignorer des groupes de mises à jour. Ces fonctions qui permettent d’annuler et de rétablir ou d’enregistrer et d’ignorer ne sont pas disponibles lors de la mise à jour de la version par défaut.
Pour fournir ces fonctions de mise à jour dans une version nommée, la version en cours de mise à jour doit être isolée des autres utilisateurs dont le rôle est éditeur. Pour ce faire, ArcGIS AllSource utilise des mécanismes de verrouillage visant à limiter l’accès aux versions en mode d’affichage ou de mise à jour. Le modèle de verrouillage autorise plusieurs Viewers mais un seul Editor.
- Lorsqu’un utilisateur de type Editor commence à effectuer une mise à jour d’une version nommée, un verrouillage exclusif est mis en place et aucun autre utilisateur ne peut se connecter à cette version pendant la session de mise à jour.
- Au moment où un utilisateur doté du rôle éditeur commence la mise à jour d’une version nommée, il doit être le seul utilisateur connecté à cette version.
Définir l’autorisation d’accès à la version sur le mode privé lors de la création d’une version nommée permet d’éviter de telles situations de blocage.
Comportement supplémentaire lors de la mise à jour
À l’instar du comportement décrit ci-dessus avec les fonctionnalités de gestion des versions, les comportements de mise à jour supplémentaires reposent sur les propriétés de service et de la couche. L’utilisation de ces comportements visent à réduire les échecs de mise à jour en raison de limitations liées à la taille des fichiers ou au temps de traitement.
Charger avec une application asynchrone des mises à jour
Deux propriétés déterminent la manière dont les mises à jour sont communiquées au serveur : supportsApplyEditsbyUploadID et supportsAsyncApplyEdits. Si les propriétés supportsApplyEditsbyUploadID et supportsAsyncApplyEdits d’un service sont définies sur true, ArcGIS AllSource peut tirer parti du chargement et du traitement asynchrone lors de l’utilisation de l’opération applyEdits afin de procéder aux mises à jour. Pour déterminer le moment où il convient d’utiliser un chargement et un traitement asynchrone pour applyEdits, l’algorithme décrit ci-après est utilisé.
Pour utiliser upload, la taille requise est utilisée. La taille requise est déterminée par la taille de la charge utile ainsi que par une estimation de la taille d’encodage d’URL de la requête. Si la taille requise dépasse la taille de 6 Mo, upload est utilisé. Le processus de charge utile consiste à réduire les délais d’attente en empaquetant la charge utile de mise à jour dans un fichier, lui-même chargé avec un ID d’élément unique. L’ID d’élément de la charge utile est ensuite référencé par un appel applyEdits afin d’appliquer les mises à jour du service.
Pour plus d’informations sur le chargement des fichiers, reportez-vous à la rubrique Chargements..
Pour l’utilisation de applyEdits asynchrone, un calcul est réalisé afin de déterminer le coût de chaque demande de service applyEdits nécessaire pour effectuer une mise à jour donnée. Ce calcul prend en compte le nombre d’enregistrements à mettre à jour et la taille de la charge utile de la mise à jour. Ces valeurs sont alors utilisées dans la formule suivante :
1 + (Nombre d’enregistrements / 1 000) + (Taille de la charge utile (Mo) / 6 Mo)
La valeur obtenue est arrondie au nombre entier le plus proche. Si cette valeur arrondie est égale ou supérieure à 3, l’appel applyEdits est effectué en mode asynchrone. Si les valeurs arrondies ne sont pas égales ou supérieures à 3, l’appel applyEdits est effectué en mode synchrone.
Pour plus d’informations sur applyEdits asynchrone, reportez-vous à la section Appliquer les mises à jour.
Vous avez un commentaire à formuler concernant cette rubrique ?